diff --git a/src/server/package/pyproject.toml b/src/server/package/pyproject.toml index 970f8ba1..dbcf449b 100644 --- a/src/server/package/pyproject.toml +++ b/src/server/package/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "ai-edge-model-explorer" -version = "0.1.12" +version = "0.1.13" authors = [ { name="Google LLC", email="opensource@google.com" }, ] diff --git a/src/server/package/src/model_explorer/web_app/index.html b/src/server/package/src/model_explorer/web_app/index.html index 3f2738eb..db9fca93 100644 --- a/src/server/package/src/model_explorer/web_app/index.html +++ b/src/server/package/src/model_explorer/web_app/index.html @@ -28,8 +28,8 @@ - + - + diff --git a/src/server/package/src/model_explorer/web_app/main-ADZIVBL4.js b/src/server/package/src/model_explorer/web_app/main-HQELKSO7.js similarity index 54% rename from src/server/package/src/model_explorer/web_app/main-ADZIVBL4.js rename to src/server/package/src/model_explorer/web_app/main-HQELKSO7.js index f1774cbc..99be4b3b 100644 --- a/src/server/package/src/model_explorer/web_app/main-ADZIVBL4.js +++ b/src/server/package/src/model_explorer/web_app/main-HQELKSO7.js @@ -1,16 +1,16 @@ -var yR=Object.defineProperty,W5=Object.defineProperties;var $5=Object.getOwnPropertyDescriptors;var av=Object.getOwnPropertySymbols;var xR=Object.prototype.hasOwnProperty,wR=Object.prototype.propertyIsEnumerable;var bR=(i,e,t)=>e in i?yR(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,Z=(i,e)=>{for(var t in e||={})xR.call(e,t)&&bR(i,t,e[t]);if(av)for(var t of av(e))wR.call(e,t)&&bR(i,t,e[t]);return i},wt=(i,e)=>W5(i,$5(e));var cS=(i,e)=>{var t={};for(var n in i)xR.call(i,n)&&e.indexOf(n)<0&&(t[n]=i[n]);if(i!=null&&av)for(var n of av(i))e.indexOf(n)<0&&wR.call(i,n)&&(t[n]=i[n]);return t};var dS=(i,e)=>{for(var t in e)yR(i,t,{get:e[t],enumerable:!0})};var At=(i,e,t)=>new Promise((n,r)=>{var o=l=>{try{a(t.next(l))}catch(c){r(c)}},s=l=>{try{a(t.throw(l))}catch(c){r(c)}},a=l=>l.done?n(l.value):Promise.resolve(l.value).then(o,s);a((t=t.apply(i,e)).next())});function CR(i,e){return Object.is(i,e)}var Ri=null,vf=!1,lv=1,Eo=Symbol("SIGNAL");function sn(i){let e=Ri;return Ri=i,e}function SR(){return Ri}function q5(){return vf}var Mu={version:0,lastCleanEpoch:0,dirty:!1,producerNode:void 0,producerLastReadVersion:void 0,producerIndexOfThis:void 0,nextProducerIndex:0,liveConsumerNode:void 0,liveConsumerIndexOfThis:void 0,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{},consumerOnSignalRead:()=>{}};function fS(i){if(vf)throw new Error("");if(Ri===null)return;Ri.consumerOnSignalRead(i);let e=Ri.nextProducerIndex++;if(fv(Ri),ei.nextProducerIndex;)i.producerNode.pop(),i.producerLastReadVersion.pop(),i.producerIndexOfThis.pop()}}function uv(i){fv(i);for(let e=0;e0}function fv(i){i.producerNode??=[],i.producerIndexOfThis??=[],i.producerLastReadVersion??=[]}function PR(i){i.liveConsumerNode??=[],i.liveConsumerIndexOfThis??=[]}function OR(i){return i.producerNode!==void 0}function mS(i){let e=Object.create(X5);e.computation=i;let t=()=>{if(MR(e),fS(e),e.value===cv)throw e.error;return e.value};return t[Eo]=e,t}var uS=Symbol("UNSET"),hS=Symbol("COMPUTING"),cv=Symbol("ERRORED"),X5=wt(Z({},Mu),{value:uS,dirty:!0,error:null,equal:CR,producerMustRecompute(i){return i.value===uS||i.value===hS},producerRecomputeValue(i){if(i.value===hS)throw new Error("Detected cycle in computations.");let e=i.value;i.value=hS;let t=yf(i),n;try{n=i.computation()}catch(r){n=cv,i.error=r}finally{dv(i,t)}if(e!==uS&&e!==cv&&n!==cv&&i.equal(e,n)){i.value=e;return}i.value=n,i.version++}});function Z5(){throw new Error}var RR=Z5;function AR(){RR()}function NR(i){RR=i}var Q5=null;function kR(i){let e=Object.create(FR);e.value=i;let t=()=>(fS(e),e.value);return t[Eo]=e,t}function gS(i,e){IR()||AR(),i.equal(i.value,e)||(i.value=e,K5(i))}function LR(i,e){IR()||AR(),gS(i,e(i.value))}var FR=wt(Z({},Mu),{equal:CR,value:void 0});function K5(i){i.version++,Y5(),ER(i),Q5?.()}function BR(i,e,t){let n=Object.create(J5);t&&(n.consumerAllowSignalWrites=!0),n.fn=i,n.schedule=e;let r=l=>{n.cleanupFn=l};function o(l){return l.fn===null&&l.schedule===null}function s(l){o(l)||(hv(l),l.cleanupFn(),l.fn=null,l.schedule=null,l.cleanupFn=pS)}let a=()=>{if(n.fn===null)return;if(q5())throw new Error("Schedulers cannot synchronously execute watches while scheduling.");if(n.dirty=!1,n.hasRun&&!uv(n))return;n.hasRun=!0;let l=yf(n);try{n.cleanupFn(),n.cleanupFn=pS,n.fn(r)}finally{dv(n,l)}};return n.ref={notify:()=>TR(n),run:a,cleanup:()=>n.cleanupFn(),destroy:()=>s(n),[Eo]:n},n.ref}var pS=()=>{},J5=wt(Z({},Mu),{consumerIsAlwaysLive:!0,consumerAllowSignalWrites:!1,consumerMarkedDirty:i=>{i.schedule!==null&&i.schedule(i.ref)},hasRun:!1,cleanupFn:pS});function St(i){return typeof i=="function"}function Eu(i){let t=i(n=>{Error.call(n),n.stack=new Error().stack});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}var mv=Eu(i=>function(t){i(this),this.message=t?`${t.length} errors occurred during unsubscription: +var CR=Object.defineProperty,J5=Object.defineProperties;var e8=Object.getOwnPropertyDescriptors;var dv=Object.getOwnPropertySymbols;var SR=Object.prototype.hasOwnProperty,MR=Object.prototype.propertyIsEnumerable;var wR=(i,e,t)=>e in i?CR(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,Z=(i,e)=>{for(var t in e||={})SR.call(e,t)&&wR(i,t,e[t]);if(dv)for(var t of dv(e))MR.call(e,t)&&wR(i,t,e[t]);return i},yt=(i,e)=>J5(i,e8(e));var dS=(i,e)=>{var t={};for(var n in i)SR.call(i,n)&&e.indexOf(n)<0&&(t[n]=i[n]);if(i!=null&&dv)for(var n of dv(i))e.indexOf(n)<0&&MR.call(i,n)&&(t[n]=i[n]);return t};var t8=(i,e)=>{for(var t in e)CR(i,t,{get:e[t],enumerable:!0})};var It=(i,e,t)=>new Promise((n,r)=>{var o=c=>{try{a(t.next(c))}catch(l){r(l)}},s=c=>{try{a(t.throw(c))}catch(l){r(l)}},a=c=>c.done?n(c.value):Promise.resolve(c.value).then(o,s);a((t=t.apply(i,e)).next())});function ER(i,e){return Object.is(i,e)}var ki=null,wf=!1,uv=1,Do=Symbol("SIGNAL");function ln(i){let e=ki;return ki=i,e}function IR(){return ki}function n8(){return wf}var Tu={version:0,lastCleanEpoch:0,dirty:!1,producerNode:void 0,producerLastReadVersion:void 0,producerIndexOfThis:void 0,nextProducerIndex:0,liveConsumerNode:void 0,liveConsumerIndexOfThis:void 0,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{},consumerOnSignalRead:()=>{}};function fS(i){if(wf)throw new Error("");if(ki===null)return;ki.consumerOnSignalRead(i);let e=ki.nextProducerIndex++;if(_v(ki),ei.nextProducerIndex;)i.producerNode.pop(),i.producerLastReadVersion.pop(),i.producerIndexOfThis.pop()}}function fv(i){_v(i);for(let e=0;e0}function _v(i){i.producerNode??=[],i.producerIndexOfThis??=[],i.producerLastReadVersion??=[]}function AR(i){i.liveConsumerNode??=[],i.liveConsumerIndexOfThis??=[]}function NR(i){return i.producerNode!==void 0}function mS(i){let e=Object.create(r8);e.computation=i;let t=()=>{if(TR(e),fS(e),e.value===hv)throw e.error;return e.value};return t[Do]=e,t}var uS=Symbol("UNSET"),hS=Symbol("COMPUTING"),hv=Symbol("ERRORED"),r8=yt(Z({},Tu),{value:uS,dirty:!0,error:null,equal:ER,producerMustRecompute(i){return i.value===uS||i.value===hS},producerRecomputeValue(i){if(i.value===hS)throw new Error("Detected cycle in computations.");let e=i.value;i.value=hS;let t=Sf(i),n;try{n=i.computation()}catch(r){n=hv,i.error=r}finally{pv(i,t)}if(e!==uS&&e!==hv&&n!==hv&&i.equal(e,n)){i.value=e;return}i.value=n,i.version++}});function o8(){throw new Error}var kR=o8;function LR(){kR()}function FR(i){kR=i}var s8=null;function BR(i){let e=Object.create(zR);e.value=i;let t=()=>(fS(e),e.value);return t[Do]=e,t}function gS(i,e){PR()||LR(),i.equal(i.value,e)||(i.value=e,a8(i))}function VR(i,e){PR()||LR(),gS(i,e(i.value))}var zR=yt(Z({},Tu),{equal:ER,value:void 0});function a8(i){i.version++,i8(),DR(i),s8?.()}function UR(i,e,t){let n=Object.create(c8);t&&(n.consumerAllowSignalWrites=!0),n.fn=i,n.schedule=e;let r=c=>{n.cleanupFn=c};function o(c){return c.fn===null&&c.schedule===null}function s(c){o(c)||(mv(c),c.cleanupFn(),c.fn=null,c.schedule=null,c.cleanupFn=pS)}let a=()=>{if(n.fn===null)return;if(n8())throw new Error("Schedulers cannot synchronously execute watches while scheduling.");if(n.dirty=!1,n.hasRun&&!fv(n))return;n.hasRun=!0;let c=Sf(n);try{n.cleanupFn(),n.cleanupFn=pS,n.fn(r)}finally{pv(n,c)}};return n.ref={notify:()=>OR(n),run:a,cleanup:()=>n.cleanupFn(),destroy:()=>s(n),[Do]:n},n.ref}var pS=()=>{},c8=yt(Z({},Tu),{consumerIsAlwaysLive:!0,consumerAllowSignalWrites:!1,consumerMarkedDirty:i=>{i.schedule!==null&&i.schedule(i.ref)},hasRun:!1,cleanupFn:pS});function Mt(i){return typeof i=="function"}function Du(i){let t=i(n=>{Error.call(n),n.stack=new Error().stack});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}var vv=Du(i=>function(t){i(this),this.message=t?`${t.length} errors occurred during unsubscription: ${t.map((n,r)=>`${r+1}) ${n.toString()}`).join(` - `)}`:"",this.name="UnsubscriptionError",this.errors=t});function Dc(i,e){if(i){let t=i.indexOf(e);0<=t&&i.splice(t,1)}}var Ct=class i{constructor(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let e;if(!this.closed){this.closed=!0;let{_parentage:t}=this;if(t)if(this._parentage=null,Array.isArray(t))for(let o of t)o.remove(this);else t.remove(this);let{initialTeardown:n}=this;if(St(n))try{n()}catch(o){e=o instanceof mv?o.errors:[o]}let{_finalizers:r}=this;if(r){this._finalizers=null;for(let o of r)try{VR(o)}catch(s){e=e??[],s instanceof mv?e=[...e,...s.errors]:e.push(s)}}if(e)throw new mv(e)}}add(e){var t;if(e&&e!==this)if(this.closed)VR(e);else{if(e instanceof i){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=(t=this._finalizers)!==null&&t!==void 0?t:[]).push(e)}}_hasParent(e){let{_parentage:t}=this;return t===e||Array.isArray(t)&&t.includes(e)}_addParent(e){let{_parentage:t}=this;this._parentage=Array.isArray(t)?(t.push(e),t):t?[t,e]:e}_removeParent(e){let{_parentage:t}=this;t===e?this._parentage=null:Array.isArray(t)&&Dc(t,e)}remove(e){let{_finalizers:t}=this;t&&Dc(t,e),e instanceof i&&e._removeParent(this)}};Ct.EMPTY=(()=>{let i=new Ct;return i.closed=!0,i})();var _S=Ct.EMPTY;function gv(i){return i instanceof Ct||i&&"closed"in i&&St(i.remove)&&St(i.add)&&St(i.unsubscribe)}function VR(i){St(i)?i():i.unsubscribe()}var ss={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var Iu={setTimeout(i,e,...t){let{delegate:n}=Iu;return n?.setTimeout?n.setTimeout(i,e,...t):setTimeout(i,e,...t)},clearTimeout(i){let{delegate:e}=Iu;return(e?.clearTimeout||clearTimeout)(i)},delegate:void 0};function _v(i){Iu.setTimeout(()=>{let{onUnhandledError:e}=ss;if(e)e(i);else throw i})}function Pc(){}var zR=vS("C",void 0,void 0);function UR(i){return vS("E",void 0,i)}function HR(i){return vS("N",i,void 0)}function vS(i,e,t){return{kind:i,value:e,error:t}}var Oc=null;function Tu(i){if(ss.useDeprecatedSynchronousErrorHandling){let e=!Oc;if(e&&(Oc={errorThrown:!1,error:null}),i(),e){let{errorThrown:t,error:n}=Oc;if(Oc=null,t)throw n}}else i()}function GR(i){ss.useDeprecatedSynchronousErrorHandling&&Oc&&(Oc.errorThrown=!0,Oc.error=i)}var Rc=class extends Ct{constructor(e){super(),this.isStopped=!1,e?(this.destination=e,gv(e)&&e.add(this)):this.destination=n8}static create(e,t,n){return new _a(e,t,n)}next(e){this.isStopped?yS(HR(e),this):this._next(e)}error(e){this.isStopped?yS(UR(e),this):(this.isStopped=!0,this._error(e))}complete(){this.isStopped?yS(zR,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(e){this.destination.next(e)}_error(e){try{this.destination.error(e)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}},e8=Function.prototype.bind;function bS(i,e){return e8.call(i,e)}var xS=class{constructor(e){this.partialObserver=e}next(e){let{partialObserver:t}=this;if(t.next)try{t.next(e)}catch(n){vv(n)}}error(e){let{partialObserver:t}=this;if(t.error)try{t.error(e)}catch(n){vv(n)}else vv(e)}complete(){let{partialObserver:e}=this;if(e.complete)try{e.complete()}catch(t){vv(t)}}},_a=class extends Rc{constructor(e,t,n){super();let r;if(St(e)||!e)r={next:e??void 0,error:t??void 0,complete:n??void 0};else{let o;this&&ss.useDeprecatedNextContext?(o=Object.create(e),o.unsubscribe=()=>this.unsubscribe(),r={next:e.next&&bS(e.next,o),error:e.error&&bS(e.error,o),complete:e.complete&&bS(e.complete,o)}):r=e}this.destination=new xS(r)}};function vv(i){ss.useDeprecatedSynchronousErrorHandling?GR(i):_v(i)}function t8(i){throw i}function yS(i,e){let{onStoppedNotification:t}=ss;t&&Iu.setTimeout(()=>t(i,e))}var n8={closed:!0,next:Pc,error:t8,complete:Pc};var Du=typeof Symbol=="function"&&Symbol.observable||"@@observable";function Er(i){return i}function wS(...i){return CS(i)}function CS(i){return i.length===0?Er:i.length===1?i[0]:function(t){return i.reduce((n,r)=>r(n),t)}}var Mt=(()=>{class i{constructor(t){t&&(this._subscribe=t)}lift(t){let n=new i;return n.source=this,n.operator=t,n}subscribe(t,n,r){let o=r8(t)?t:new _a(t,n,r);return Tu(()=>{let{operator:s,source:a}=this;o.add(s?s.call(o,a):a?this._subscribe(o):this._trySubscribe(o))}),o}_trySubscribe(t){try{return this._subscribe(t)}catch(n){t.error(n)}}forEach(t,n){return n=jR(n),new n((r,o)=>{let s=new _a({next:a=>{try{t(a)}catch(l){o(l),s.unsubscribe()}},error:o,complete:r});this.subscribe(s)})}_subscribe(t){var n;return(n=this.source)===null||n===void 0?void 0:n.subscribe(t)}[Du](){return this}pipe(...t){return CS(t)(this)}toPromise(t){return t=jR(t),new t((n,r)=>{let o;this.subscribe(s=>o=s,s=>r(s),()=>n(o))})}}return i.create=e=>new i(e),i})();function jR(i){var e;return(e=i??ss.Promise)!==null&&e!==void 0?e:Promise}function i8(i){return i&&St(i.next)&&St(i.error)&&St(i.complete)}function r8(i){return i&&i instanceof Rc||i8(i)&&gv(i)}function SS(i){return St(i?.lift)}function Lt(i){return e=>{if(SS(e))return e.lift(function(t){try{return i(t,this)}catch(n){this.error(n)}});throw new TypeError("Unable to lift unknown Observable type")}}function Nt(i,e,t,n,r){return new MS(i,e,t,n,r)}var MS=class extends Rc{constructor(e,t,n,r,o,s){super(e),this.onFinalize=o,this.shouldUnsubscribe=s,this._next=t?function(a){try{t(a)}catch(l){e.error(l)}}:super._next,this._error=r?function(a){try{r(a)}catch(l){e.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=n?function(){try{n()}catch(a){e.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var e;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){let{closed:t}=this;super.unsubscribe(),!t&&((e=this.onFinalize)===null||e===void 0||e.call(this))}}};function Pu(){return Lt((i,e)=>{let t=null;i._refCount++;let n=Nt(e,void 0,void 0,void 0,()=>{if(!i||i._refCount<=0||0<--i._refCount){t=null;return}let r=i._connection,o=t;t=null,r&&(!o||r===o)&&r.unsubscribe(),e.unsubscribe()});i.subscribe(n),n.closed||(t=i.connect())})}var hl=class extends Mt{constructor(e,t){super(),this.source=e,this.subjectFactory=t,this._subject=null,this._refCount=0,this._connection=null,SS(e)&&(this.lift=e.lift)}_subscribe(e){return this.getSubject().subscribe(e)}getSubject(){let e=this._subject;return(!e||e.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;let{_connection:e}=this;this._subject=this._connection=null,e?.unsubscribe()}connect(){let e=this._connection;if(!e){e=this._connection=new Ct;let t=this.getSubject();e.add(this.source.subscribe(Nt(t,void 0,()=>{this._teardown(),t.complete()},n=>{this._teardown(),t.error(n)},()=>this._teardown()))),e.closed&&(this._connection=null,e=Ct.EMPTY)}return e}refCount(){return Pu()(this)}};var Ou={schedule(i){let e=requestAnimationFrame,t=cancelAnimationFrame,{delegate:n}=Ou;n&&(e=n.requestAnimationFrame,t=n.cancelAnimationFrame);let r=e(o=>{t=void 0,i(o)});return new Ct(()=>t?.(r))},requestAnimationFrame(...i){let{delegate:e}=Ou;return(e?.requestAnimationFrame||requestAnimationFrame)(...i)},cancelAnimationFrame(...i){let{delegate:e}=Ou;return(e?.cancelAnimationFrame||cancelAnimationFrame)(...i)},delegate:void 0};var WR=Eu(i=>function(){i(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});var me=(()=>{class i extends Mt{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){let n=new bv(this,this);return n.operator=t,n}_throwIfClosed(){if(this.closed)throw new WR}next(t){Tu(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(let n of this.currentObservers)n.next(t)}})}error(t){Tu(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;let{observers:n}=this;for(;n.length;)n.shift().error(t)}})}complete(){Tu(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;let{observers:t}=this;for(;t.length;)t.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var t;return((t=this.observers)===null||t===void 0?void 0:t.length)>0}_trySubscribe(t){return this._throwIfClosed(),super._trySubscribe(t)}_subscribe(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)}_innerSubscribe(t){let{hasError:n,isStopped:r,observers:o}=this;return n||r?_S:(this.currentObservers=null,o.push(t),new Ct(()=>{this.currentObservers=null,Dc(o,t)}))}_checkFinalizedStatuses(t){let{hasError:n,thrownError:r,isStopped:o}=this;n?t.error(r):o&&t.complete()}asObservable(){let t=new Mt;return t.source=this,t}}return i.create=(e,t)=>new bv(e,t),i})(),bv=class extends me{constructor(e,t){super(),this.destination=e,this.source=t}next(e){var t,n;(n=(t=this.destination)===null||t===void 0?void 0:t.next)===null||n===void 0||n.call(t,e)}error(e){var t,n;(n=(t=this.destination)===null||t===void 0?void 0:t.error)===null||n===void 0||n.call(t,e)}complete(){var e,t;(t=(e=this.destination)===null||e===void 0?void 0:e.complete)===null||t===void 0||t.call(e)}_subscribe(e){var t,n;return(n=(t=this.source)===null||t===void 0?void 0:t.subscribe(e))!==null&&n!==void 0?n:_S}};var Dn=class extends me{constructor(e){super(),this._value=e}get value(){return this.getValue()}_subscribe(e){let t=super._subscribe(e);return!t.closed&&e.next(this._value),t}getValue(){let{hasError:e,thrownError:t,_value:n}=this;if(e)throw t;return this._throwIfClosed(),n}next(e){super.next(this._value=e)}};var xf={now(){return(xf.delegate||Date).now()},delegate:void 0};var va=class extends me{constructor(e=1/0,t=1/0,n=xf){super(),this._bufferSize=e,this._windowTime=t,this._timestampProvider=n,this._buffer=[],this._infiniteTimeWindow=!0,this._infiniteTimeWindow=t===1/0,this._bufferSize=Math.max(1,e),this._windowTime=Math.max(1,t)}next(e){let{isStopped:t,_buffer:n,_infiniteTimeWindow:r,_timestampProvider:o,_windowTime:s}=this;t||(n.push(e),!r&&n.push(o.now()+s)),this._trimBuffer(),super.next(e)}_subscribe(e){this._throwIfClosed(),this._trimBuffer();let t=this._innerSubscribe(e),{_infiniteTimeWindow:n,_buffer:r}=this,o=r.slice();for(let s=0;s$R(e)&&i()),e},clearImmediate(i){$R(i)}};var{setImmediate:s8,clearImmediate:a8}=qR,Cf={setImmediate(...i){let{delegate:e}=Cf;return(e?.setImmediate||s8)(...i)},clearImmediate(i){let{delegate:e}=Cf;return(e?.clearImmediate||a8)(i)},delegate:void 0};var xv=class extends pl{constructor(e,t){super(e,t),this.scheduler=e,this.work=t}requestAsyncId(e,t,n=0){return n!==null&&n>0?super.requestAsyncId(e,t,n):(e.actions.push(this),e._scheduled||(e._scheduled=Cf.setImmediate(e.flush.bind(e,void 0))))}recycleAsyncId(e,t,n=0){var r;if(n!=null?n>0:this.delay>0)return super.recycleAsyncId(e,t,n);let{actions:o}=e;t!=null&&((r=o[o.length-1])===null||r===void 0?void 0:r.id)!==t&&(Cf.clearImmediate(t),e._scheduled===t&&(e._scheduled=void 0))}};var Ru=class i{constructor(e,t=i.now){this.schedulerActionCtor=e,this.now=t}schedule(e,t=0,n){return new this.schedulerActionCtor(this,e).schedule(n,t)}};Ru.now=xf.now;var fl=class extends Ru{constructor(e,t=Ru.now){super(e,t),this.actions=[],this._active=!1}flush(e){let{actions:t}=this;if(this._active){t.push(e);return}let n;this._active=!0;do if(n=e.execute(e.state,e.delay))break;while(e=t.shift());if(this._active=!1,n){for(;e=t.shift();)e.unsubscribe();throw n}}};var wv=class extends fl{flush(e){this._active=!0;let t=this._scheduled;this._scheduled=void 0;let{actions:n}=this,r;e=e||n.shift();do if(r=e.execute(e.state,e.delay))break;while((e=n[0])&&e.id===t&&n.shift());if(this._active=!1,r){for(;(e=n[0])&&e.id===t&&n.shift();)e.unsubscribe();throw r}}};var Sf=new wv(xv);var ba=new fl(pl),YR=ba;var Cv=class extends pl{constructor(e,t){super(e,t),this.scheduler=e,this.work=t}requestAsyncId(e,t,n=0){return n!==null&&n>0?super.requestAsyncId(e,t,n):(e.actions.push(this),e._scheduled||(e._scheduled=Ou.requestAnimationFrame(()=>e.flush(void 0))))}recycleAsyncId(e,t,n=0){var r;if(n!=null?n>0:this.delay>0)return super.recycleAsyncId(e,t,n);let{actions:o}=e;t!=null&&((r=o[o.length-1])===null||r===void 0?void 0:r.id)!==t&&(Ou.cancelAnimationFrame(t),e._scheduled=void 0)}};var Sv=class extends fl{flush(e){this._active=!0;let t=this._scheduled;this._scheduled=void 0;let{actions:n}=this,r;e=e||n.shift();do if(r=e.execute(e.state,e.delay))break;while((e=n[0])&&e.id===t&&n.shift());if(this._active=!1,r){for(;(e=n[0])&&e.id===t&&n.shift();)e.unsubscribe();throw r}}};var Mv=new Sv(Cv);var Ir=new Mt(i=>i.complete());function Ev(i){return i&&St(i.schedule)}function TS(i){return i[i.length-1]}function Iv(i){return St(TS(i))?i.pop():void 0}function Is(i){return Ev(TS(i))?i.pop():void 0}function XR(i,e){return typeof TS(i)=="number"?i.pop():e}function QR(i,e,t,n){function r(o){return o instanceof t?o:new t(function(s){s(o)})}return new(t||(t=Promise))(function(o,s){function a(d){try{c(n.next(d))}catch(u){s(u)}}function l(d){try{c(n.throw(d))}catch(u){s(u)}}function c(d){d.done?o(d.value):r(d.value).then(a,l)}c((n=n.apply(i,e||[])).next())})}function ZR(i){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&i[e],n=0;if(t)return t.call(i);if(i&&typeof i.length=="number")return{next:function(){return i&&n>=i.length&&(i=void 0),{value:i&&i[n++],done:!i}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Ac(i){return this instanceof Ac?(this.v=i,this):new Ac(i)}function KR(i,e,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n=t.apply(i,e||[]),r,o=[];return r={},a("next"),a("throw"),a("return",s),r[Symbol.asyncIterator]=function(){return this},r;function s(p){return function(f){return Promise.resolve(f).then(p,u)}}function a(p,f){n[p]&&(r[p]=function(m){return new Promise(function(y,g){o.push([p,m,y,g])>1||l(p,m)})},f&&(r[p]=f(r[p])))}function l(p,f){try{c(n[p](f))}catch(m){h(o[0][3],m)}}function c(p){p.value instanceof Ac?Promise.resolve(p.value.v).then(d,u):h(o[0][2],p)}function d(p){l("next",p)}function u(p){l("throw",p)}function h(p,f){p(f),o.shift(),o.length&&l(o[0][0],o[0][1])}}function JR(i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=i[Symbol.asyncIterator],t;return e?e.call(i):(i=typeof ZR=="function"?ZR(i):i[Symbol.iterator](),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(o){t[o]=i[o]&&function(s){return new Promise(function(a,l){s=i[o](s),r(a,l,s.done,s.value)})}}function r(o,s,a,l){Promise.resolve(l).then(function(c){o({value:c,done:a})},s)}}var Au=i=>i&&typeof i.length=="number"&&typeof i!="function";function Tv(i){return St(i?.then)}function Dv(i){return St(i[Du])}function Pv(i){return Symbol.asyncIterator&&St(i?.[Symbol.asyncIterator])}function Ov(i){return new TypeError(`You provided ${i!==null&&typeof i=="object"?"an invalid object":`'${i}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}function l8(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var Rv=l8();function Av(i){return St(i?.[Rv])}function Nv(i){return KR(this,arguments,function*(){let t=i.getReader();try{for(;;){let{value:n,done:r}=yield Ac(t.read());if(r)return yield Ac(void 0);yield yield Ac(n)}}finally{t.releaseLock()}})}function kv(i){return St(i?.getReader)}function wn(i){if(i instanceof Mt)return i;if(i!=null){if(Dv(i))return c8(i);if(Au(i))return d8(i);if(Tv(i))return u8(i);if(Pv(i))return eA(i);if(Av(i))return h8(i);if(kv(i))return p8(i)}throw Ov(i)}function c8(i){return new Mt(e=>{let t=i[Du]();if(St(t.subscribe))return t.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function d8(i){return new Mt(e=>{for(let t=0;t{i.then(t=>{e.closed||(e.next(t),e.complete())},t=>e.error(t)).then(null,_v)})}function h8(i){return new Mt(e=>{for(let t of i)if(e.next(t),e.closed)return;e.complete()})}function eA(i){return new Mt(e=>{f8(i,e).catch(t=>e.error(t))})}function p8(i){return eA(Nv(i))}function f8(i,e){var t,n,r,o;return QR(this,void 0,void 0,function*(){try{for(t=JR(i);n=yield t.next(),!n.done;){let s=n.value;if(e.next(s),e.closed)return}}catch(s){r={error:s}}finally{try{n&&!n.done&&(o=t.return)&&(yield o.call(t))}finally{if(r)throw r.error}}e.complete()})}function Yr(i,e,t,n=0,r=!1){let o=e.schedule(function(){t(),r?i.add(this.schedule(null,n)):this.unsubscribe()},n);if(i.add(o),!r)return o}function Lv(i,e=0){return Lt((t,n)=>{t.subscribe(Nt(n,r=>Yr(n,i,()=>n.next(r),e),()=>Yr(n,i,()=>n.complete(),e),r=>Yr(n,i,()=>n.error(r),e)))})}function Fv(i,e=0){return Lt((t,n)=>{n.add(i.schedule(()=>t.subscribe(n),e))})}function tA(i,e){return wn(i).pipe(Fv(e),Lv(e))}function nA(i,e){return wn(i).pipe(Fv(e),Lv(e))}function iA(i,e){return new Mt(t=>{let n=0;return e.schedule(function(){n===i.length?t.complete():(t.next(i[n++]),t.closed||this.schedule())})})}function rA(i,e){return new Mt(t=>{let n;return Yr(t,e,()=>{n=i[Rv](),Yr(t,e,()=>{let r,o;try{({value:r,done:o}=n.next())}catch(s){t.error(s);return}o?t.complete():t.next(r)},0,!0)}),()=>St(n?.return)&&n.return()})}function Bv(i,e){if(!i)throw new Error("Iterable cannot be null");return new Mt(t=>{Yr(t,e,()=>{let n=i[Symbol.asyncIterator]();Yr(t,e,()=>{n.next().then(r=>{r.done?t.complete():t.next(r.value)})},0,!0)})})}function oA(i,e){return Bv(Nv(i),e)}function sA(i,e){if(i!=null){if(Dv(i))return tA(i,e);if(Au(i))return iA(i,e);if(Tv(i))return nA(i,e);if(Pv(i))return Bv(i,e);if(Av(i))return rA(i,e);if(kv(i))return oA(i,e)}throw Ov(i)}function Kn(i,e){return e?sA(i,e):wn(i)}function Ke(...i){let e=Is(i);return Kn(i,e)}function ml(i,e){let t=St(i)?i:()=>i,n=r=>r.error(t());return new Mt(e?r=>e.schedule(n,0,r):n)}function Nc(i){return!!i&&(i instanceof Mt||St(i.lift)&&St(i.subscribe))}var ya=Eu(i=>function(){i(this),this.name="EmptyError",this.message="no elements in sequence"});function aA(i){return i instanceof Date&&!isNaN(i)}function Je(i,e){return Lt((t,n)=>{let r=0;t.subscribe(Nt(n,o=>{n.next(i.call(e,o,r++))}))})}var{isArray:m8}=Array;function g8(i,e){return m8(e)?i(...e):i(e)}function Nu(i){return Je(e=>g8(i,e))}var{isArray:_8}=Array,{getPrototypeOf:v8,prototype:b8,keys:y8}=Object;function Vv(i){if(i.length===1){let e=i[0];if(_8(e))return{args:e,keys:null};if(x8(e)){let t=y8(e);return{args:t.map(n=>e[n]),keys:t}}}return{args:i,keys:null}}function x8(i){return i&&typeof i=="object"&&v8(i)===b8}function zv(i,e){return i.reduce((t,n,r)=>(t[n]=e[r],t),{})}function Xr(...i){let e=Is(i),t=Iv(i),{args:n,keys:r}=Vv(i);if(n.length===0)return Kn([],e);let o=new Mt(w8(n,e,r?s=>zv(r,s):Er));return t?o.pipe(Nu(t)):o}function w8(i,e,t=Er){return n=>{lA(e,()=>{let{length:r}=i,o=new Array(r),s=r,a=r;for(let l=0;l{let c=Kn(i[l],e),d=!1;c.subscribe(Nt(n,u=>{o[l]=u,d||(d=!0,a--),a||n.next(t(o.slice()))},()=>{--s||n.complete()}))},n)},n)}}function lA(i,e,t){i?Yr(t,i,e):e()}function cA(i,e,t,n,r,o,s,a){let l=[],c=0,d=0,u=!1,h=()=>{u&&!l.length&&!c&&e.complete()},p=m=>c{o&&e.next(m),c++;let y=!1;wn(t(m,d++)).subscribe(Nt(e,g=>{r?.(g),o?p(g):e.next(g)},()=>{y=!0},void 0,()=>{if(y)try{for(c--;l.length&&cf(g)):f(g)}h()}catch(g){e.error(g)}}))};return i.subscribe(Nt(e,p,()=>{u=!0,h()})),()=>{a?.()}}function ei(i,e,t=1/0){return St(e)?ei((n,r)=>Je((o,s)=>e(n,o,r,s))(wn(i(n,r))),t):(typeof e=="number"&&(t=e),Lt((n,r)=>cA(n,r,i,t)))}function Mf(i=1/0){return ei(Er,i)}function dA(){return Mf(1)}function Ts(...i){return dA()(Kn(i,Is(i)))}function Io(i){return new Mt(e=>{wn(i()).subscribe(e)})}function Ef(...i){let e=Iv(i),{args:t,keys:n}=Vv(i),r=new Mt(o=>{let{length:s}=t;if(!s){o.complete();return}let a=new Array(s),l=s,c=s;for(let d=0;d{u||(u=!0,c--),a[d]=h},()=>l--,void 0,()=>{(!l||!u)&&(c||o.next(n?zv(n,a):a),o.complete())}))}});return e?r.pipe(Nu(e)):r}var C8=["addListener","removeListener"],S8=["addEventListener","removeEventListener"],M8=["on","off"];function yn(i,e,t,n){if(St(t)&&(n=t,t=void 0),n)return yn(i,e,t).pipe(Nu(n));let[r,o]=T8(i)?S8.map(s=>a=>i[s](e,a,t)):E8(i)?C8.map(uA(i,e)):I8(i)?M8.map(uA(i,e)):[];if(!r&&Au(i))return ei(s=>yn(s,e,t))(wn(i));if(!r)throw new TypeError("Invalid event target");return new Mt(s=>{let a=(...l)=>s.next(1o(a)})}function uA(i,e){return t=>n=>i[t](e,n)}function E8(i){return St(i.addListener)&&St(i.removeListener)}function I8(i){return St(i.on)&&St(i.off)}function T8(i){return St(i.addEventListener)&&St(i.removeEventListener)}function ku(i=0,e,t=YR){let n=-1;return e!=null&&(Ev(e)?t=e:n=e),new Mt(r=>{let o=aA(i)?+i-t.now():i;o<0&&(o=0);let s=0;return t.schedule(function(){r.closed||(r.next(s++),0<=n?this.schedule(void 0,n):r.complete())},o)})}function DS(i=0,e=ba){return i<0&&(i=0),ku(i,i,e)}function Yn(...i){let e=Is(i),t=XR(i,1/0),n=i;return n.length?n.length===1?wn(n[0]):Mf(t)(Kn(n,e)):Ir}function jt(i,e){return Lt((t,n)=>{let r=0;t.subscribe(Nt(n,o=>i.call(e,o,r++)&&n.next(o)))})}function If(i){return Lt((e,t)=>{let n=!1,r=null,o=null,s=!1,a=()=>{if(o?.unsubscribe(),o=null,n){n=!1;let c=r;r=null,t.next(c)}s&&t.complete()},l=()=>{o=null,s&&t.complete()};e.subscribe(Nt(t,c=>{n=!0,r=c,o||wn(i(c)).subscribe(o=Nt(t,a,l))},()=>{s=!0,(!n||!o||o.closed)&&t.complete()}))})}function Uv(i,e=ba){return If(()=>ku(i,e))}function Ds(i){return Lt((e,t)=>{let n=null,r=!1,o;n=e.subscribe(Nt(t,void 0,void 0,s=>{o=wn(i(s,Ds(i)(e))),n?(n.unsubscribe(),n=null,o.subscribe(t)):r=!0})),r&&(n.unsubscribe(),n=null,o.subscribe(t))})}function hA(i,e,t,n,r){return(o,s)=>{let a=t,l=e,c=0;o.subscribe(Nt(s,d=>{let u=c++;l=a?i(l,d,u):(a=!0,d),n&&s.next(l)},r&&(()=>{a&&s.next(l),s.complete()})))}}function gl(i,e){return St(e)?ei(i,e,1):ei(i,1)}function To(i,e=ba){return Lt((t,n)=>{let r=null,o=null,s=null,a=()=>{if(r){r.unsubscribe(),r=null;let c=o;o=null,n.next(c)}};function l(){let c=s+i,d=e.now();if(d{o=c,s=e.now(),r||(r=e.schedule(l,i),n.add(r))},()=>{a(),n.complete()},void 0,()=>{o=r=null}))})}function _l(i){return Lt((e,t)=>{let n=!1;e.subscribe(Nt(t,r=>{n=!0,t.next(r)},()=>{n||t.next(i),t.complete()}))})}function _n(i){return i<=0?()=>Ir:Lt((e,t)=>{let n=0;e.subscribe(Nt(t,r=>{++n<=i&&(t.next(r),i<=n&&t.complete())}))})}function pA(){return Lt((i,e)=>{i.subscribe(Nt(e,Pc))})}function Tf(i){return Je(()=>i)}function PS(i,e){return e?t=>Ts(e.pipe(_n(1),pA()),t.pipe(PS(i))):ei((t,n)=>wn(i(t,n)).pipe(_n(1),Tf(t)))}function Lu(i,e=ba){let t=ku(i,e);return PS(()=>t)}function vl(i,e=Er){return i=i??D8,Lt((t,n)=>{let r,o=!0;t.subscribe(Nt(n,s=>{let a=e(s);(o||!i(r,a))&&(o=!1,r=a,n.next(s))}))})}function D8(i,e){return i===e}function Hv(i=P8){return Lt((e,t)=>{let n=!1;e.subscribe(Nt(t,r=>{n=!0,t.next(r)},()=>n?t.complete():t.error(i())))})}function P8(){return new ya}function bl(i){return Lt((e,t)=>{try{e.subscribe(t)}finally{t.add(i)}})}function Ps(i,e){let t=arguments.length>=2;return n=>n.pipe(i?jt((r,o)=>i(r,o,n)):Er,_n(1),t?_l(e):Hv(()=>new ya))}function Fu(i){return i<=0?()=>Ir:Lt((e,t)=>{let n=[];e.subscribe(Nt(t,r=>{n.push(r),i{for(let r of n)t.next(r);t.complete()},void 0,()=>{n=null}))})}function OS(i,e){let t=arguments.length>=2;return n=>n.pipe(i?jt((r,o)=>i(r,o,n)):Er,Fu(1),t?_l(e):Hv(()=>new ya))}function RS(i,e){return Lt(hA(i,e,arguments.length>=2,!0))}function Df(i={}){let{connector:e=()=>new me,resetOnError:t=!0,resetOnComplete:n=!0,resetOnRefCountZero:r=!0}=i;return o=>{let s,a,l,c=0,d=!1,u=!1,h=()=>{a?.unsubscribe(),a=void 0},p=()=>{h(),s=l=void 0,d=u=!1},f=()=>{let m=s;p(),m?.unsubscribe()};return Lt((m,y)=>{c++,!u&&!d&&h();let g=l=l??e();y.add(()=>{c--,c===0&&!u&&!d&&(a=AS(f,r))}),g.subscribe(y),!s&&c>0&&(s=new _a({next:_=>g.next(_),error:_=>{u=!0,h(),a=AS(p,t,_),g.error(_)},complete:()=>{d=!0,h(),a=AS(p,n),g.complete()}}),wn(m).subscribe(s))})(o)}}function AS(i,e,...t){if(e===!0){i();return}if(e===!1)return;let n=new _a({next:()=>{n.unsubscribe(),i()}});return wn(e(...t)).subscribe(n)}function Gv(i,e,t){let n,r=!1;return i&&typeof i=="object"?{bufferSize:n=1/0,windowTime:e=1/0,refCount:r=!1,scheduler:t}=i:n=i??1/0,Df({connector:()=>new va(n,e,t),resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:r})}function Pf(i){return jt((e,t)=>i<=t)}function fi(...i){let e=Is(i);return Lt((t,n)=>{(e?Ts(i,t,e):Ts(i,t)).subscribe(n)})}function Xn(i,e){return Lt((t,n)=>{let r=null,o=0,s=!1,a=()=>s&&!r&&n.complete();t.subscribe(Nt(n,l=>{r?.unsubscribe();let c=0,d=o++;wn(i(l,d)).subscribe(r=Nt(n,u=>n.next(e?e(l,u,d,c++):u),()=>{r=null,a()}))},()=>{s=!0,a()}))})}function Xe(i){return Lt((e,t)=>{wn(i).subscribe(Nt(t,()=>t.complete(),Pc)),!t.closed&&e.subscribe(t)})}function NS(i,e=!1){return Lt((t,n)=>{let r=0;t.subscribe(Nt(n,o=>{let s=i(o,r++);(s||e)&&n.next(o),!s&&n.complete()}))})}function Sn(i,e,t){let n=St(i)||e||t?{next:i,error:e,complete:t}:i;return n?Lt((r,o)=>{var s;(s=n.subscribe)===null||s===void 0||s.call(n);let a=!0;r.subscribe(Nt(o,l=>{var c;(c=n.next)===null||c===void 0||c.call(n,l),o.next(l)},()=>{var l;a=!1,(l=n.complete)===null||l===void 0||l.call(n),o.complete()},l=>{var c;a=!1,(c=n.error)===null||c===void 0||c.call(n,l),o.error(l)},()=>{var l,c;a&&((l=n.unsubscribe)===null||l===void 0||l.call(n)),(c=n.finalize)===null||c===void 0||c.call(n)}))}):Er}var iN="https://g.co/ng/security#xss",Oe=class extends Error{constructor(e,t){super(oE(e,t)),this.code=e}};function oE(i,e){return`${`NG0${Math.abs(i)}`}${e?": "+e:""}`}function Uf(i){return{toString:i}.toString()}var jv="__parameters__";function O8(i){return function(...t){if(i){let n=i(...t);for(let r in n)this[r]=n[r]}}}function rN(i,e,t){return Uf(()=>{let n=O8(e);function r(...o){if(this instanceof r)return n.apply(this,o),this;let s=new r(...o);return a.annotation=s,a;function a(l,c,d){let u=l.hasOwnProperty(jv)?l[jv]:Object.defineProperty(l,jv,{value:[]})[jv];for(;u.length<=d;)u.push(null);return(u[d]=u[d]||[]).push(s),l}}return t&&(r.prototype=Object.create(t.prototype)),r.prototype.ngMetadataName=i,r.annotationCls=r,r})}var Rf=globalThis;function Un(i){for(let e in i)if(i[e]===Un)return e;throw Error("Could not find renamed property on target object.")}function R8(i,e){for(let t in e)e.hasOwnProperty(t)&&!i.hasOwnProperty(t)&&(i[t]=e[t])}function Pr(i){if(typeof i=="string")return i;if(Array.isArray(i))return"["+i.map(Pr).join(", ")+"]";if(i==null)return""+i;if(i.overriddenName)return`${i.overriddenName}`;if(i.name)return`${i.name}`;let e=i.toString();if(e==null)return""+e;let t=e.indexOf(` -`);return t===-1?e:e.substring(0,t)}function XS(i,e){return i==null||i===""?e===null?"":e:e==null||e===""?i:i+" "+e}var A8=Un({__forward_ref__:Un});function Zr(i){return i.__forward_ref__=Zr,i.toString=function(){return Pr(this())},i}function $i(i){return oN(i)?i():i}function oN(i){return typeof i=="function"&&i.hasOwnProperty(A8)&&i.__forward_ref__===Zr}function J(i){return{token:i.token,providedIn:i.providedIn||null,factory:i.factory,value:void 0}}function rt(i){return{providers:i.providers||[],imports:i.imports||[]}}function M0(i){return fA(i,aN)||fA(i,lN)}function sN(i){return M0(i)!==null}function fA(i,e){return i.hasOwnProperty(e)?i[e]:null}function N8(i){let e=i&&(i[aN]||i[lN]);return e||null}function mA(i){return i&&(i.hasOwnProperty(gA)||i.hasOwnProperty(k8))?i[gA]:null}var aN=Un({\u0275prov:Un}),gA=Un({\u0275inj:Un}),lN=Un({ngInjectableDef:Un}),k8=Un({ngInjectorDef:Un}),ge=class{constructor(e,t){this._desc=e,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,typeof t=="number"?this.__NG_ELEMENT_ID__=t:t!==void 0&&(this.\u0275prov=J({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}};function cN(i){return i&&!!i.\u0275providers}var L8=Un({\u0275cmp:Un}),F8=Un({\u0275dir:Un}),B8=Un({\u0275pipe:Un}),V8=Un({\u0275mod:Un}),n0=Un({\u0275fac:Un}),Of=Un({__NG_ELEMENT_ID__:Un}),_A=Un({__NG_ENV_ID__:Un});function Os(i){return typeof i=="string"?i:i==null?"":String(i)}function z8(i){return typeof i=="function"?i.name||i.toString():typeof i=="object"&&i!=null&&typeof i.type=="function"?i.type.name||i.type.toString():Os(i)}function U8(i,e){let t=e?`. Dependency path: ${e.join(" > ")} > ${i}`:"";throw new Oe(-200,i)}function sE(i,e){throw new Oe(-201,!1)}var en=function(i){return i[i.Default=0]="Default",i[i.Host=1]="Host",i[i.Self=2]="Self",i[i.SkipSelf=4]="SkipSelf",i[i.Optional=8]="Optional",i}(en||{}),ZS;function dN(){return ZS}function Do(i){let e=ZS;return ZS=i,e}function uN(i,e,t){let n=M0(i);if(n&&n.providedIn=="root")return n.value===void 0?n.value=n.factory():n.value;if(t&en.Optional)return null;if(e!==void 0)return e;sE(i,"Injector")}var H8={},Af=H8,QS="__NG_DI_FLAG__",i0="ngTempTokenPath",G8="ngTokenPath",j8=/\n/gm,W8="\u0275",vA="__source",Uu;function $8(){return Uu}function yl(i){let e=Uu;return Uu=i,e}function q8(i,e=en.Default){if(Uu===void 0)throw new Oe(-203,!1);return Uu===null?uN(i,void 0,e):Uu.get(i,e&en.Optional?null:void 0,e)}function X(i,e=en.Default){return(dN()||q8)($i(i),e)}function te(i,e=en.Default){return X(i,E0(e))}function E0(i){return typeof i>"u"||typeof i=="number"?i:0|(i.optional&&8)|(i.host&&1)|(i.self&&2)|(i.skipSelf&&4)}function KS(i){let e=[];for(let t=0;t ");else if(typeof e=="object"){let o=[];for(let s in e)if(e.hasOwnProperty(s)){let a=e[s];o.push(s+":"+(typeof a=="string"?JSON.stringify(a):Pr(a)))}r=`{${o.join(", ")}}`}return`${t}${n?"("+n+")":""}[${r}]: ${i.replace(j8,` - `)}`}var I0=hN(rN("Optional"),8);var aE=hN(rN("SkipSelf"),4);function Gu(i,e){let t=i.hasOwnProperty(n0);return t?i[n0]:null}function Q8(i,e,t){if(i.length!==e.length)return!1;for(let n=0;nArray.isArray(t)?lE(t,e):e(t))}function pN(i,e,t){e>=i.length?i.push(t):i.splice(e,0,t)}function r0(i,e){return e>=i.length-1?i.pop():i.splice(e,1)[0]}function J8(i,e){let t=[];for(let n=0;ne;){let o=r-2;i[r]=i[o],r--}i[e]=t,i[e+1]=n}}function T0(i,e,t){let n=Hf(i,e);return n>=0?i[n|1]=t:(n=~n,eW(i,n,e,t)),n}function kS(i,e){let t=Hf(i,e);if(t>=0)return i[t|1]}function Hf(i,e){return tW(i,e,1)}function tW(i,e,t){let n=0,r=i.length>>t;for(;r!==n;){let o=n+(r-n>>1),s=i[o<e?r=o:n=o+1}return~(r<e){s=o-1;break}}}for(;o-1){let o;for(;++ro?u="":u=r[d+1].toLowerCase(),n&2&&c!==u){if(as(n))return!1;s=!0}}}}return as(n)||s}function as(i){return(i&1)===0}function aW(i,e,t,n){if(e===null)return-1;let r=0;if(n||!t){let o=!1;for(;r-1)for(t++;t0?'="'+a+'"':"")+"]"}else n&8?r+="."+s:n&4&&(r+=" "+s);else r!==""&&!as(s)&&(e+=yA(o,r),r=""),n=s,o=o||!as(n);t++}return r!==""&&(e+=yA(o,r)),e}function pW(i){return i.map(hW).join(",")}function fW(i){let e=[],t=[],n=1,r=2;for(;n{let e=CN(i),t=wt(Z({},e),{decls:i.decls,vars:i.vars,template:i.template,consts:i.consts||null,ngContentSelectors:i.ngContentSelectors,onPush:i.changeDetection===gN.OnPush,directiveDefs:null,pipeDefs:null,dependencies:e.standalone&&i.dependencies||null,getStandaloneInjector:null,signals:i.signals??!1,data:i.data||{},encapsulation:i.encapsulation||Ns.Emulated,styles:i.styles||Tr,_:null,schemas:i.schemas||null,tView:null,id:""});SN(t);let n=i.dependencies;return t.directiveDefs=wA(n,!1),t.pipeDefs=wA(n,!0),t.id=_W(t),t})}function mW(i){return Sl(i)||dE(i)}function gW(i){return i!==null}function ot(i){return Uf(()=>({type:i.type,bootstrap:i.bootstrap||Tr,declarations:i.declarations||Tr,imports:i.imports||Tr,exports:i.exports||Tr,transitiveCompileScopes:null,schemas:i.schemas||null,id:i.id||null}))}function xA(i,e){if(i==null)return xa;let t={};for(let n in i)if(i.hasOwnProperty(n)){let r=i[n],o,s,a=Cl.None;Array.isArray(r)?(a=r[0],o=r[1],s=r[2]??o):(o=r,s=r),e?(t[o]=a!==Cl.None?[n,a]:n,e[o]=s):t[o]=n}return t}function ze(i){return Uf(()=>{let e=CN(i);return SN(e),e})}function Sl(i){return i[L8]||null}function dE(i){return i[F8]||null}function yN(i){return i[B8]||null}function xN(i){let e=Sl(i)||dE(i)||yN(i);return e!==null?e.standalone:!1}function wN(i,e){let t=i[V8]||null;if(!t&&e===!0)throw new Error(`Type ${Pr(i)} does not have '\u0275mod' property.`);return t}function CN(i){let e={};return{type:i.type,providersResolver:null,factory:null,hostBindings:i.hostBindings||null,hostVars:i.hostVars||0,hostAttrs:i.hostAttrs||null,contentQueries:i.contentQueries||null,declaredInputs:e,inputTransforms:null,inputConfig:i.inputs||xa,exportAs:i.exportAs||null,standalone:i.standalone===!0,signals:i.signals===!0,selectors:i.selectors||Tr,viewQuery:i.viewQuery||null,features:i.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:xA(i.inputs,e),outputs:xA(i.outputs),debugInfo:null}}function SN(i){i.features?.forEach(e=>e(i))}function wA(i,e){if(!i)return null;let t=e?yN:mW;return()=>(typeof i=="function"?i():i).map(n=>t(n)).filter(gW)}function _W(i){let e=0,t=[i.selectors,i.ngContentSelectors,i.hostVars,i.hostAttrs,i.consts,i.vars,i.decls,i.encapsulation,i.standalone,i.signals,i.exportAs,JSON.stringify(i.inputs),JSON.stringify(i.outputs),Object.getOwnPropertyNames(i.type.prototype),!!i.contentQueries,!!i.viewQuery].join("|");for(let r of t)e=Math.imul(31,e)+r.charCodeAt(0)<<0;return e+=2147483648,"c"+e}function D0(i){return{\u0275providers:i}}function vW(...i){return{\u0275providers:MN(!0,i),\u0275fromNgModule:!0}}function MN(i,...e){let t=[],n=new Set,r,o=s=>{t.push(s)};return lE(e,s=>{let a=s;eM(a,o,[],n)&&(r||=[],r.push(a))}),r!==void 0&&EN(r,o),t}function EN(i,e){for(let t=0;t{e(o,n)})}}function eM(i,e,t,n){if(i=$i(i),!i)return!1;let r=null,o=mA(i),s=!o&&Sl(i);if(!o&&!s){let l=i.ngModule;if(o=mA(l),o)r=l;else return!1}else{if(s&&!s.standalone)return!1;r=i}let a=n.has(r);if(s){if(a)return!1;if(n.add(r),s.dependencies){let l=typeof s.dependencies=="function"?s.dependencies():s.dependencies;for(let c of l)eM(c,e,t,n)}}else if(o){if(o.imports!=null&&!a){n.add(r);let c;try{lE(o.imports,d=>{eM(d,e,t,n)&&(c||=[],c.push(d))})}finally{}c!==void 0&&EN(c,e)}if(!a){let c=Gu(r)||(()=>new r);e({provide:r,useFactory:c,deps:Tr},r),e({provide:mN,useValue:r,multi:!0},r),e({provide:ju,useValue:()=>X(r),multi:!0},r)}let l=o.providers;if(l!=null&&!a){let c=i;uE(l,d=>{e(d,c)})}}else return!1;return r!==i&&i.providers!==void 0}function uE(i,e){for(let t of i)cN(t)&&(t=t.\u0275providers),Array.isArray(t)?uE(t,e):e(t)}var bW=Un({provide:String,useValue:Un});function IN(i){return i!==null&&typeof i=="object"&&bW in i}function yW(i){return!!(i&&i.useExisting)}function xW(i){return!!(i&&i.useFactory)}function Wu(i){return typeof i=="function"}function wW(i){return!!i.useClass}var P0=new ge(""),Xv={},CW={},LS;function O0(){return LS===void 0&&(LS=new o0),LS}var qi=class{},kf=class extends qi{get destroyed(){return this._destroyed}constructor(e,t,n,r){super(),this.parent=t,this.source=n,this.scopes=r,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,nM(e,s=>this.processProvider(s)),this.records.set(fN,Bu(void 0,this)),r.has("environment")&&this.records.set(qi,Bu(void 0,this));let o=this.records.get(P0);o!=null&&typeof o.value=="string"&&this.scopes.add(o.value),this.injectorDefTypes=new Set(this.get(mN,Tr,en.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;let e=sn(null);try{for(let n of this._ngOnDestroyHooks)n.ngOnDestroy();let t=this._onDestroyHooks;this._onDestroyHooks=[];for(let n of t)n()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),sn(e)}}onDestroy(e){return this.assertNotDestroyed(),this._onDestroyHooks.push(e),()=>this.removeOnDestroy(e)}runInContext(e){this.assertNotDestroyed();let t=yl(this),n=Do(void 0),r;try{return e()}finally{yl(t),Do(n)}}get(e,t=Af,n=en.Default){if(this.assertNotDestroyed(),e.hasOwnProperty(_A))return e[_A](this);n=E0(n);let r,o=yl(this),s=Do(void 0);try{if(!(n&en.SkipSelf)){let l=this.records.get(e);if(l===void 0){let c=TW(e)&&M0(e);c&&this.injectableDefInScope(c)?l=Bu(tM(e),Xv):l=null,this.records.set(e,l)}if(l!=null)return this.hydrate(e,l)}let a=n&en.Self?O0():this.parent;return t=n&en.Optional&&t===Af?null:t,a.get(e,t)}catch(a){if(a.name==="NullInjectorError"){if((a[i0]=a[i0]||[]).unshift(Pr(e)),o)throw a;return X8(a,e,"R3InjectorError",this.source)}else throw a}finally{Do(s),yl(o)}}resolveInjectorInitializers(){let e=sn(null),t=yl(this),n=Do(void 0),r;try{let o=this.get(ju,Tr,en.Self);for(let s of o)s()}finally{yl(t),Do(n),sn(e)}}toString(){let e=[],t=this.records;for(let n of t.keys())e.push(Pr(n));return`R3Injector[${e.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Oe(205,!1)}processProvider(e){e=$i(e);let t=Wu(e)?e:$i(e&&e.provide),n=MW(e);if(!Wu(e)&&e.multi===!0){let r=this.records.get(t);r||(r=Bu(void 0,Xv,!0),r.factory=()=>KS(r.multi),this.records.set(t,r)),t=e,r.multi.push(e)}this.records.set(t,n)}hydrate(e,t){let n=sn(null);try{return t.value===Xv&&(t.value=CW,t.value=t.factory()),typeof t.value=="object"&&t.value&&IW(t.value)&&this._ngOnDestroyHooks.add(t.value),t.value}finally{sn(n)}}injectableDefInScope(e){if(!e.providedIn)return!1;let t=$i(e.providedIn);return typeof t=="string"?t==="any"||this.scopes.has(t):this.injectorDefTypes.has(t)}removeOnDestroy(e){let t=this._onDestroyHooks.indexOf(e);t!==-1&&this._onDestroyHooks.splice(t,1)}};function tM(i){let e=M0(i),t=e!==null?e.factory:Gu(i);if(t!==null)return t;if(i instanceof ge)throw new Oe(204,!1);if(i instanceof Function)return SW(i);throw new Oe(204,!1)}function SW(i){if(i.length>0)throw new Oe(204,!1);let t=N8(i);return t!==null?()=>t.factory(i):()=>new i}function MW(i){if(IN(i))return Bu(void 0,i.useValue);{let e=TN(i);return Bu(e,Xv)}}function TN(i,e,t){let n;if(Wu(i)){let r=$i(i);return Gu(r)||tM(r)}else if(IN(i))n=()=>$i(i.useValue);else if(xW(i))n=()=>i.useFactory(...KS(i.deps||[]));else if(yW(i))n=()=>X($i(i.useExisting));else{let r=$i(i&&(i.useClass||i.provide));if(EW(i))n=()=>new r(...KS(i.deps));else return Gu(r)||tM(r)}return n}function Bu(i,e,t=!1){return{factory:i,value:e,multi:t?[]:void 0}}function EW(i){return!!i.deps}function IW(i){return i!==null&&typeof i=="object"&&typeof i.ngOnDestroy=="function"}function TW(i){return typeof i=="function"||typeof i=="object"&&i instanceof ge}function nM(i,e){for(let t of i)Array.isArray(t)?nM(t,e):t&&cN(t)?nM(t.\u0275providers,e):e(t)}function Fs(i,e){i instanceof kf&&i.assertNotDestroyed();let t,n=yl(i),r=Do(void 0);try{return e()}finally{yl(n),Do(r)}}function DN(){return dN()!==void 0||$8()!=null}function eh(i){if(!DN())throw new Oe(-203,!1)}function DW(i){return typeof i=="function"}var Bs=0,Ut=1,Pt=2,pr=3,cs=4,Qr=5,$u=6,s0=7,ur=8,qu=9,ks=10,oi=11,Lf=12,CA=13,th=14,io=15,Fc=16,Vu=17,wa=18,R0=19,PN=20,xl=21,Zv=22,Po=23,Or=25,hE=1;var Bc=7,a0=8,Yu=9,hr=10,l0=function(i){return i[i.None=0]="None",i[i.HasTransplantedViews=2]="HasTransplantedViews",i}(l0||{});function wl(i){return Array.isArray(i)&&typeof i[hE]=="object"}function Ea(i){return Array.isArray(i)&&i[hE]===!0}function pE(i){return(i.flags&4)!==0}function A0(i){return i.componentOffset>-1}function N0(i){return(i.flags&1)===1}function Ca(i){return!!i.template}function iM(i){return(i[Pt]&512)!==0}var rM=class{constructor(e,t,n){this.previousValue=e,this.currentValue=t,this.firstChange=n}isFirstChange(){return this.firstChange}};function ON(i,e,t,n){e!==null?e.applyValueToInputSignal(e,n):i[t]=n}function dn(){return RN}function RN(i){return i.type.prototype.ngOnChanges&&(i.setInput=OW),PW}dn.ngInherit=!0;function PW(){let i=NN(this),e=i?.current;if(e){let t=i.previous;if(t===xa)i.previous=e;else for(let n in e)t[n]=e[n];i.current=null,this.ngOnChanges(e)}}function OW(i,e,t,n,r){let o=this.declaredInputs[n],s=NN(i)||RW(i,{previous:xa,current:null}),a=s.current||(s.current={}),l=s.previous,c=l[o];a[o]=new rM(c&&c.currentValue,t,l===xa),ON(i,e,r,t)}var AN="__ngSimpleChanges__";function NN(i){return i[AN]||null}function RW(i,e){return i[AN]=e}var SA=null;var Rs=function(i,e,t){SA?.(i,e,t)},kN="svg",AW="math";function Ls(i){for(;Array.isArray(i);)i=i[Bs];return i}function NW(i){for(;Array.isArray(i);){if(typeof i[hE]=="object")return i;i=i[Bs]}return null}function LN(i,e){return Ls(e[i])}function Ro(i,e){return Ls(e[i.index])}function fE(i,e){return i.data[e]}function kW(i,e){return i[e]}function Dl(i,e){let t=e[i];return wl(t)?t:t[Bs]}function LW(i){return(i[Pt]&4)===4}function mE(i){return(i[Pt]&128)===128}function FW(i){return Ea(i[pr])}function Ml(i,e){return e==null?null:i[e]}function FN(i){i[Vu]=0}function BN(i){i[Pt]&1024||(i[Pt]|=1024,mE(i)&&k0(i))}function BW(i,e){for(;i>0;)e=e[th],i--;return e}function Ff(i){return!!(i[Pt]&9216||i[Po]?.dirty)}function oM(i){i[ks].changeDetectionScheduler?.notify(7),i[Pt]&64&&(i[Pt]|=1024),Ff(i)&&k0(i)}function k0(i){i[ks].changeDetectionScheduler?.notify(0);let e=Vc(i);for(;e!==null&&!(e[Pt]&8192||(e[Pt]|=8192,!mE(e)));)e=Vc(e)}function VN(i,e){if((i[Pt]&256)===256)throw new Oe(911,!1);i[xl]===null&&(i[xl]=[]),i[xl].push(e)}function VW(i,e){if(i[xl]===null)return;let t=i[xl].indexOf(e);t!==-1&&i[xl].splice(t,1)}function Vc(i){let e=i[pr];return Ea(e)?e[pr]:e}var Wt={lFrame:XN(null),bindingsEnabled:!0,skipHydrationRootTNode:null};var zN=!1;function zW(){return Wt.lFrame.elementDepthCount}function UW(){Wt.lFrame.elementDepthCount++}function HW(){Wt.lFrame.elementDepthCount--}function UN(){return Wt.bindingsEnabled}function HN(){return Wt.skipHydrationRootTNode!==null}function GW(i){return Wt.skipHydrationRootTNode===i}function jW(){Wt.skipHydrationRootTNode=null}function Ht(){return Wt.lFrame.lView}function si(){return Wt.lFrame.tView}function V(i){return Wt.lFrame.contextLView=i,i[ur]}function z(i){return Wt.lFrame.contextLView=null,i}function Xi(){let i=GN();for(;i!==null&&i.type===64;)i=i.parent;return i}function GN(){return Wt.lFrame.currentTNode}function WW(){let i=Wt.lFrame,e=i.currentTNode;return i.isParent?e:e.parent}function Wc(i,e){let t=Wt.lFrame;t.currentTNode=i,t.isParent=e}function gE(){return Wt.lFrame.isParent}function _E(){Wt.lFrame.isParent=!1}function $W(){return Wt.lFrame.contextLView}function jN(){return zN}function MA(i){zN=i}function WN(){let i=Wt.lFrame,e=i.bindingRootIndex;return e===-1&&(e=i.bindingRootIndex=i.tView.bindingStartIndex),e}function $N(){return Wt.lFrame.bindingIndex}function qW(i){return Wt.lFrame.bindingIndex=i}function $c(){return Wt.lFrame.bindingIndex++}function L0(i){let e=Wt.lFrame,t=e.bindingIndex;return e.bindingIndex=e.bindingIndex+i,t}function YW(){return Wt.lFrame.inI18n}function XW(i,e){let t=Wt.lFrame;t.bindingIndex=t.bindingRootIndex=i,sM(e)}function ZW(){return Wt.lFrame.currentDirectiveIndex}function sM(i){Wt.lFrame.currentDirectiveIndex=i}function vE(i){let e=Wt.lFrame.currentDirectiveIndex;return e===-1?null:i[e]}function bE(){return Wt.lFrame.currentQueryIndex}function F0(i){Wt.lFrame.currentQueryIndex=i}function QW(i){let e=i[Ut];return e.type===2?e.declTNode:e.type===1?i[Qr]:null}function qN(i,e,t){if(t&en.SkipSelf){let r=e,o=i;for(;r=r.parent,r===null&&!(t&en.Host);)if(r=QW(o),r===null||(o=o[th],r.type&10))break;if(r===null)return!1;e=r,i=o}let n=Wt.lFrame=YN();return n.currentTNode=e,n.lView=i,!0}function yE(i){let e=YN(),t=i[Ut];Wt.lFrame=e,e.currentTNode=t.firstChild,e.lView=i,e.tView=t,e.contextLView=i,e.bindingIndex=t.bindingStartIndex,e.inI18n=!1}function YN(){let i=Wt.lFrame,e=i===null?null:i.child;return e===null?XN(i):e}function XN(i){let e={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:i,child:null,inI18n:!1};return i!==null&&(i.child=e),e}function ZN(){let i=Wt.lFrame;return Wt.lFrame=i.parent,i.currentTNode=null,i.lView=null,i}var QN=ZN;function xE(){let i=ZN();i.isParent=!0,i.tView=null,i.selectedIndex=-1,i.contextLView=null,i.elementDepthCount=0,i.currentDirectiveIndex=-1,i.currentNamespace=null,i.bindingRootIndex=-1,i.bindingIndex=-1,i.currentQueryIndex=0}function KW(i){return(Wt.lFrame.contextLView=BW(i,Wt.lFrame.contextLView))[ur]}function Vs(){return Wt.lFrame.selectedIndex}function zc(i){Wt.lFrame.selectedIndex=i}function B0(){let i=Wt.lFrame;return fE(i.tView,i.selectedIndex)}function ro(){Wt.lFrame.currentNamespace=kN}function V0(){JW()}function JW(){Wt.lFrame.currentNamespace=null}function e6(){return Wt.lFrame.currentNamespace}var KN=!0;function z0(){return KN}function U0(i){KN=i}function t6(i,e,t){let{ngOnChanges:n,ngOnInit:r,ngDoCheck:o}=e.type.prototype;if(n){let s=RN(e);(t.preOrderHooks??=[]).push(i,s),(t.preOrderCheckHooks??=[]).push(i,s)}r&&(t.preOrderHooks??=[]).push(0-i,r),o&&((t.preOrderHooks??=[]).push(i,o),(t.preOrderCheckHooks??=[]).push(i,o))}function H0(i,e){for(let t=e.directiveStart,n=e.directiveEnd;t=n)break}else e[l]<0&&(i[Vu]+=65536),(a>14>16&&(i[Pt]&3)===e&&(i[Pt]+=16384,EA(a,o)):EA(a,o)}var Hu=-1,Uc=class{constructor(e,t,n){this.factory=e,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=n}};function i6(i){return i instanceof Uc}function r6(i){return(i.flags&8)!==0}function o6(i){return(i.flags&16)!==0}var BS={},aM=class{constructor(e,t){this.injector=e,this.parentInjector=t}get(e,t,n){n=E0(n);let r=this.injector.get(e,BS,n);return r!==BS||t===BS?r:this.parentInjector.get(e,t,n)}};function ek(i){return i!==Hu}function c0(i){return i&32767}function s6(i){return i>>16}function d0(i,e){let t=s6(i),n=e;for(;t>0;)n=n[th],t--;return n}var lM=!0;function IA(i){let e=lM;return lM=i,e}var a6=256,tk=a6-1,nk=5,l6=0,As={};function c6(i,e,t){let n;typeof t=="string"?n=t.charCodeAt(0)||0:t.hasOwnProperty(Of)&&(n=t[Of]),n==null&&(n=t[Of]=l6++);let r=n&tk,o=1<>nk)]|=o}function u0(i,e){let t=ik(i,e);if(t!==-1)return t;let n=e[Ut];n.firstCreatePass&&(i.injectorIndex=e.length,VS(n.data,i),VS(e,null),VS(n.blueprint,null));let r=wE(i,e),o=i.injectorIndex;if(ek(r)){let s=c0(r),a=d0(r,e),l=a[Ut].data;for(let c=0;c<8;c++)e[o+c]=a[s+c]|l[s+c]}return e[o+8]=r,o}function VS(i,e){i.push(0,0,0,0,0,0,0,0,e)}function ik(i,e){return i.injectorIndex===-1||i.parent&&i.parent.injectorIndex===i.injectorIndex||e[i.injectorIndex+8]===null?-1:i.injectorIndex}function wE(i,e){if(i.parent&&i.parent.injectorIndex!==-1)return i.parent.injectorIndex;let t=0,n=null,r=e;for(;r!==null;){if(n=lk(r),n===null)return Hu;if(t++,r=r[th],n.injectorIndex!==-1)return n.injectorIndex|t<<16}return Hu}function cM(i,e,t){c6(i,e,t)}function d6(i,e){if(e==="class")return i.classes;if(e==="style")return i.styles;let t=i.attrs;if(t){let n=t.length,r=0;for(;r>20,u=n?a:a+d,h=r?a+d:c;for(let p=u;p=l&&f.type===t)return p}if(r){let p=s[l];if(p&&Ca(p)&&p.type===t)return l}return null}function Hc(i,e,t,n){let r=i[t],o=e.data;if(i6(r)){let s=r;s.resolving&&U8(z8(o[t]));let a=IA(s.canSeeViewProviders);s.resolving=!0;let l,c=s.injectImpl?Do(s.injectImpl):null,d=qN(i,n,en.Default);try{r=i[t]=s.factory(void 0,o,i,n),e.firstCreatePass&&t>=n.directiveStart&&t6(t,o[t],e)}finally{c!==null&&Do(c),IA(a),s.resolving=!1,QN()}}return r}function h6(i){if(typeof i=="string")return i.charCodeAt(0)||0;let e=i.hasOwnProperty(Of)?i[Of]:void 0;return typeof e=="number"?e>=0?e&tk:p6:e}function TA(i,e,t){let n=1<>nk)]&n)}function DA(i,e){return!(i&en.Self)&&!(i&en.Host&&e)}var Lc=class{constructor(e,t){this._tNode=e,this._lView=t}get(e,t,n){return sk(this._tNode,this._lView,e,E0(n),t)}};function p6(){return new Lc(Xi(),Ht())}function Ai(i){return Uf(()=>{let e=i.prototype.constructor,t=e[n0]||dM(e),n=Object.prototype,r=Object.getPrototypeOf(i.prototype).constructor;for(;r&&r!==n;){let o=r[n0]||dM(r);if(o&&o!==t)return o;r=Object.getPrototypeOf(r)}return o=>new o})}function dM(i){return oN(i)?()=>{let e=dM($i(i));return e&&e()}:Gu(i)}function f6(i,e,t,n,r){let o=i,s=e;for(;o!==null&&s!==null&&s[Pt]&2048&&!(s[Pt]&512);){let a=ak(o,s,t,n|en.Self,As);if(a!==As)return a;let l=o.parent;if(!l){let c=s[PN];if(c){let d=c.get(t,As,n);if(d!==As)return d}l=lk(s),s=s[th]}o=l}return r}function lk(i){let e=i[Ut],t=e.type;return t===2?e.declTNode:t===1?i[Qr]:null}function oo(i){return d6(Xi(),i)}function PA(i,e=null,t=null,n){let r=ck(i,e,t,n);return r.resolveInjectorInitializers(),r}function ck(i,e=null,t=null,n,r=new Set){let o=[t||Tr,vW(i)];return n=n||(typeof i=="object"?void 0:Pr(i)),new kf(o,e||O0(),n||null,r)}var kc=class kc{static create(e,t){if(Array.isArray(e))return PA({name:""},t,e,"");{let n=e.name??"";return PA({name:n},e.parent,e.providers,n)}}};kc.THROW_IF_NOT_FOUND=Af,kc.NULL=new o0,kc.\u0275prov=J({token:kc,providedIn:"any",factory:()=>X(fN)}),kc.__NG_ELEMENT_ID__=-1;var xt=kc;var m6=new ge("");m6.__NG_ELEMENT_ID__=i=>{let e=Xi();if(e===null)throw new Oe(204,!1);if(e.type&2)return e.value;if(i&en.Optional)return null;throw new Oe(204,!1)};var g6="ngOriginalError";function zS(i){return i[g6]}var Rr=class{constructor(){this._console=console}handleError(e){let t=this._findOriginalError(e);this._console.error("ERROR",e),t&&this._console.error("ORIGINAL ERROR",t)}_findOriginalError(e){let t=e&&zS(e);for(;t&&zS(t);)t=zS(t);return t||null}},dk=new ge("",{providedIn:"root",factory:()=>te(Rr).handleError.bind(void 0)}),Ni=(()=>{let e=class e{};e.__NG_ELEMENT_ID__=_6,e.__NG_ENV_ID__=n=>n;let i=e;return i})(),uM=class extends Ni{constructor(e){super(),this._lView=e}onDestroy(e){return VN(this._lView,e),()=>VW(this._lView,e)}};function _6(){return new uM(Ht())}function v6(){return nh(Xi(),Ht())}function nh(i,e){return new Re(Ro(i,e))}var Re=(()=>{let e=class e{constructor(n){this.nativeElement=n}};e.__NG_ELEMENT_ID__=v6;let i=e;return i})();function uk(i){return i instanceof Re?i.nativeElement:i}var qc=(()=>{let e=class e{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new Dn(!1)}get _hasPendingTasks(){return this.hasPendingTasks.value}add(){this._hasPendingTasks||this.hasPendingTasks.next(!0);let n=this.taskId++;return this.pendingTasks.add(n),n}remove(n){this.pendingTasks.delete(n),this.pendingTasks.size===0&&this._hasPendingTasks&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this._hasPendingTasks&&this.hasPendingTasks.next(!1)}};e.\u0275prov=J({token:e,providedIn:"root",factory:()=>new e});let i=e;return i})();var hM=class extends me{constructor(e=!1){super(),this.destroyRef=void 0,this.pendingTasks=void 0,this.__isAsync=e,DN()&&(this.destroyRef=te(Ni,{optional:!0})??void 0,this.pendingTasks=te(qc,{optional:!0})??void 0)}emit(e){let t=sn(null);try{super.next(e)}finally{sn(t)}}subscribe(e,t,n){let r=e,o=t||(()=>null),s=n;if(e&&typeof e=="object"){let l=e;r=l.next?.bind(l),o=l.error?.bind(l),s=l.complete?.bind(l)}this.__isAsync&&(o=this.wrapInTimeout(o),r&&(r=this.wrapInTimeout(r)),s&&(s=this.wrapInTimeout(s)));let a=super.subscribe({next:r,error:o,complete:s});return e instanceof Ct&&e.add(a),a}wrapInTimeout(e){return t=>{let n=this.pendingTasks?.add();setTimeout(()=>{e(t),n!==void 0&&this.pendingTasks?.remove(n)})}}},Ie=hM;function b6(){return this._results[Symbol.iterator]()}var Yi=class i{get changes(){return this._changes??=new Ie}constructor(e=!1){this._emitDistinctChangesOnly=e,this.dirty=!0,this._onDirty=void 0,this._results=[],this._changesDetected=!1,this._changes=void 0,this.length=0,this.first=void 0,this.last=void 0;let t=i.prototype;t[Symbol.iterator]||(t[Symbol.iterator]=b6)}get(e){return this._results[e]}map(e){return this._results.map(e)}filter(e){return this._results.filter(e)}find(e){return this._results.find(e)}reduce(e,t){return this._results.reduce(e,t)}forEach(e){this._results.forEach(e)}some(e){return this._results.some(e)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(e,t){this.dirty=!1;let n=K8(e);(this._changesDetected=!Q8(this._results,n,t))&&(this._results=n,this.length=n.length,this.last=n[this.length-1],this.first=n[0])}notifyOnChanges(){this._changes!==void 0&&(this._changesDetected||!this._emitDistinctChangesOnly)&&this._changes.emit(this)}onDirty(e){this._onDirty=e}setDirty(){this.dirty=!0,this._onDirty?.()}destroy(){this._changes!==void 0&&(this._changes.complete(),this._changes.unsubscribe())}};function hk(i){return(i.flags&128)===128}var pk=new Map,y6=0;function x6(){return y6++}function w6(i){pk.set(i[R0],i)}function C6(i){pk.delete(i[R0])}var OA="__ngContext__";function El(i,e){wl(e)?(i[OA]=e[R0],w6(e)):i[OA]=e}function fk(i){return gk(i[Lf])}function mk(i){return gk(i[cs])}function gk(i){for(;i!==null&&!Ea(i);)i=i[cs];return i}var pM;function _k(i){pM=i}function S6(){if(pM!==void 0)return pM;if(typeof document<"u")return document;throw new Oe(210,!1)}var Gf=new ge("",{providedIn:"root",factory:()=>M6}),M6="ng",CE=new ge(""),Ia=new ge("",{providedIn:"platform",factory:()=>"unknown"});var Zn=new ge(""),jf=new ge("",{providedIn:"root",factory:()=>S6().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});var E6="h",I6="b";var T6=()=>null;function SE(i,e,t=!1){return T6(i,e,t)}var vk=!1,D6=new ge("",{providedIn:"root",factory:()=>vk});var Wv;function P6(){if(Wv===void 0&&(Wv=null,Rf.trustedTypes))try{Wv=Rf.trustedTypes.createPolicy("angular",{createHTML:i=>i,createScript:i=>i,createScriptURL:i=>i})}catch{}return Wv}function G0(i){return P6()?.createHTML(i)||i}var Sa=class{constructor(e){this.changingThisBreaksApplicationSecurity=e}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${iN})`}},fM=class extends Sa{getTypeName(){return"HTML"}},mM=class extends Sa{getTypeName(){return"Style"}},gM=class extends Sa{getTypeName(){return"Script"}},_M=class extends Sa{getTypeName(){return"URL"}},vM=class extends Sa{getTypeName(){return"ResourceURL"}};function zs(i){return i instanceof Sa?i.changingThisBreaksApplicationSecurity:i}function Yc(i,e){let t=O6(i);if(t!=null&&t!==e){if(t==="ResourceURL"&&e==="URL")return!0;throw new Error(`Required a safe ${e}, got a ${t} (see ${iN})`)}return t===e}function O6(i){return i instanceof Sa&&i.getTypeName()||null}function bk(i){return new fM(i)}function yk(i){return new mM(i)}function xk(i){return new gM(i)}function wk(i){return new _M(i)}function Ck(i){return new vM(i)}function R6(i){let e=new yM(i);return A6()?new bM(e):e}var bM=class{constructor(e){this.inertDocumentHelper=e}getInertBodyElement(e){e=""+e;try{let t=new window.DOMParser().parseFromString(G0(e),"text/html").body;return t===null?this.inertDocumentHelper.getInertBodyElement(e):(t.removeChild(t.firstChild),t)}catch{return null}}},yM=class{constructor(e){this.defaultDoc=e,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(e){let t=this.inertDocument.createElement("template");return t.innerHTML=G0(e),t}};function A6(){try{return!!new window.DOMParser().parseFromString(G0(""),"text/html")}catch{return!1}}var N6=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function j0(i){return i=String(i),i.match(N6)?i:"unsafe:"+i}function Ta(i){let e={};for(let t of i.split(","))e[t]=!0;return e}function Wf(...i){let e={};for(let t of i)for(let n in t)t.hasOwnProperty(n)&&(e[n]=!0);return e}var Sk=Ta("area,br,col,hr,img,wbr"),Mk=Ta("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Ek=Ta("rp,rt"),k6=Wf(Ek,Mk),L6=Wf(Mk,Ta("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")),F6=Wf(Ek,Ta("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")),RA=Wf(Sk,L6,F6,k6),Ik=Ta("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),B6=Ta("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,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),V6=Ta("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"),z6=Wf(Ik,B6,V6),U6=Ta("script,style,template"),xM=class{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(e){let t=e.firstChild,n=!0,r=[];for(;t;){if(t.nodeType===Node.ELEMENT_NODE?n=this.startElement(t):t.nodeType===Node.TEXT_NODE?this.chars(t.nodeValue):this.sanitizedSomething=!0,n&&t.firstChild){r.push(t),t=j6(t);continue}for(;t;){t.nodeType===Node.ELEMENT_NODE&&this.endElement(t);let o=G6(t);if(o){t=o;break}t=r.pop()}}return this.buf.join("")}startElement(e){let t=AA(e).toLowerCase();if(!RA.hasOwnProperty(t))return this.sanitizedSomething=!0,!U6.hasOwnProperty(t);this.buf.push("<"),this.buf.push(t);let n=e.attributes;for(let r=0;r"),!0}endElement(e){let t=AA(e).toLowerCase();RA.hasOwnProperty(t)&&!Sk.hasOwnProperty(t)&&(this.buf.push(""))}chars(e){this.buf.push(NA(e))}};function H6(i,e){return(i.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_CONTAINED_BY)!==Node.DOCUMENT_POSITION_CONTAINED_BY}function G6(i){let e=i.nextSibling;if(e&&i!==e.previousSibling)throw Tk(e);return e}function j6(i){let e=i.firstChild;if(e&&H6(i,e))throw Tk(e);return e}function AA(i){let e=i.nodeName;return typeof e=="string"?e:"FORM"}function Tk(i){return new Error(`Failed to sanitize html because the element is clobbered: ${i.outerHTML}`)}var W6=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,$6=/([^\#-~ |!])/g;function NA(i){return i.replace(/&/g,"&").replace(W6,function(e){let t=e.charCodeAt(0),n=e.charCodeAt(1);return"&#"+((t-55296)*1024+(n-56320)+65536)+";"}).replace($6,function(e){return"&#"+e.charCodeAt(0)+";"}).replace(//g,">")}var $v;function Dk(i,e){let t=null;try{$v=$v||R6(i);let n=e?String(e):"";t=$v.getInertBodyElement(n);let r=5,o=n;do{if(r===0)throw new Error("Failed to sanitize html because the input is unstable");r--,n=o,o=t.innerHTML,t=$v.getInertBodyElement(n)}while(n!==o);let a=new xM().sanitizeChildren(kA(t)||t);return G0(a)}finally{if(t){let n=kA(t)||t;for(;n.firstChild;)n.removeChild(n.firstChild)}}}function kA(i){return"content"in i&&q6(i)?i.content:null}function q6(i){return i.nodeType===Node.ELEMENT_NODE&&i.nodeName==="TEMPLATE"}var Ar=function(i){return i[i.NONE=0]="NONE",i[i.HTML=1]="HTML",i[i.STYLE=2]="STYLE",i[i.SCRIPT=3]="SCRIPT",i[i.URL=4]="URL",i[i.RESOURCE_URL=5]="RESOURCE_URL",i}(Ar||{});function ME(i){let e=Y6();return e?e.sanitize(Ar.URL,i)||"":Yc(i,"URL")?zs(i):j0(Os(i))}function Y6(){let i=Ht();return i&&i[ks].sanitizer}var X6=/^>|^->||--!>|)/g,Q6="\u200B$1\u200B";function K6(i){return i.replace(X6,e=>e.replace(Z6,Q6))}function Pk(i){return i.ownerDocument.defaultView}function W0(i){return i.ownerDocument}function Ok(i){return i instanceof Function?i():i}function Rk(i){return(i??te(xt)).get(Ia)==="browser"}var Ma=function(i){return i[i.Important=1]="Important",i[i.DashCase=2]="DashCase",i}(Ma||{}),J6;function EE(i,e){return J6(i,e)}function zu(i,e,t,n,r){if(n!=null){let o,s=!1;Ea(n)?o=n:wl(n)&&(s=!0,n=n[Bs]);let a=Ls(n);i===0&&t!==null?r==null?Fk(e,t,a):h0(e,t,a,r||null,!0):i===1&&t!==null?h0(e,t,a,r||null,!0):i===2?f$(e,a,s):i===3&&e.destroyNode(a),o!=null&&g$(e,i,o,t,r)}}function e$(i,e){return i.createText(e)}function t$(i,e,t){i.setValue(e,t)}function n$(i,e){return i.createComment(K6(e))}function Ak(i,e,t){return i.createElement(e,t)}function i$(i,e){Nk(i,e),e[Bs]=null,e[Qr]=null}function r$(i,e,t,n,r,o){n[Bs]=r,n[Qr]=e,Y0(i,n,t,1,r,o)}function Nk(i,e){e[ks].changeDetectionScheduler?.notify(8),Y0(i,e,e[oi],2,null,null)}function o$(i){let e=i[Lf];if(!e)return US(i[Ut],i);for(;e;){let t=null;if(wl(e))t=e[Lf];else{let n=e[hr];n&&(t=n)}if(!t){for(;e&&!e[cs]&&e!==i;)wl(e)&&US(e[Ut],e),e=e[pr];e===null&&(e=i),wl(e)&&US(e[Ut],e),t=e&&e[cs]}e=t}}function s$(i,e,t,n){let r=hr+n,o=t.length;n>0&&(t[r-1][cs]=e),n0&&(i[t-1][cs]=n[cs]);let o=r0(i,hr+e);i$(n[Ut],n);let s=o[wa];s!==null&&s.detachView(o[Ut]),n[pr]=null,n[cs]=null,n[Pt]&=-129}return n}function $0(i,e){if(!(e[Pt]&256)){let t=e[oi];t.destroyNode&&Y0(i,e,t,3,null,null),o$(e)}}function US(i,e){if(e[Pt]&256)return;let t=sn(null);try{e[Pt]&=-129,e[Pt]|=256,e[Po]&&hv(e[Po]),l$(i,e),a$(i,e),e[Ut].type===1&&e[oi].destroy();let n=e[Fc];if(n!==null&&Ea(e[pr])){n!==e[pr]&&IE(n,e);let r=e[wa];r!==null&&r.detachView(i)}C6(e)}finally{sn(t)}}function a$(i,e){let t=i.cleanup,n=e[s0];if(t!==null)for(let o=0;o=0?n[s]():n[-s].unsubscribe(),o+=2}else{let s=n[t[o+1]];t[o].call(s)}n!==null&&(e[s0]=null);let r=e[xl];if(r!==null){e[xl]=null;for(let o=0;o-1){let{encapsulation:o}=i.data[n.directiveStart+r];if(o===Ns.None||o===Ns.Emulated)return null}return Ro(n,t)}}function h0(i,e,t,n,r){i.insertBefore(e,t,n,r)}function Fk(i,e,t){i.appendChild(e,t)}function LA(i,e,t,n,r){n!==null?h0(i,e,t,n,r):Fk(i,e,t)}function d$(i,e,t,n){i.removeChild(e,t,n)}function TE(i,e){return i.parentNode(e)}function u$(i,e){return i.nextSibling(e)}function Bk(i,e,t){return p$(i,e,t)}function h$(i,e,t){return i.type&40?Ro(i,t):null}var p$=h$,FA;function q0(i,e,t,n){let r=Lk(i,n,e),o=e[oi],s=n.parent||e[Qr],a=Bk(s,n,e);if(r!=null)if(Array.isArray(t))for(let l=0;lOr&&Gk(i,e,Or,!1),Rs(s?2:0,r),t(n,r)}finally{zc(o),Rs(s?3:1,r)}}function OE(i,e,t){if(pE(e)){let n=sn(null);try{let r=e.directiveStart,o=e.directiveEnd;for(let s=r;snull;function M$(i,e,t,n){let r=Kk(e);r.push(t),i.firstCreatePass&&Jk(i).push(n,r.length-1)}function E$(i,e,t,n,r,o){let s=e?e.injectorIndex:-1,a=0;return HN()&&(a|=128),{type:t,index:n,insertBeforeIndex:null,injectorIndex:s,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:r,attrs:o,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev: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 BA(i,e,t,n,r){for(let o in e){if(!e.hasOwnProperty(o))continue;let s=e[o];if(s===void 0)continue;n??={};let a,l=Cl.None;Array.isArray(s)?(a=s[0],l=s[1]):a=s;let c=o;if(r!==null){if(!r.hasOwnProperty(o))continue;c=r[o]}i===0?VA(n,t,c,a,l):VA(n,t,c,a)}return n}function VA(i,e,t,n,r){let o;i.hasOwnProperty(t)?(o=i[t]).push(e,n):o=i[t]=[e,n],r!==void 0&&o.push(r)}function I$(i,e,t){let n=e.directiveStart,r=e.directiveEnd,o=i.data,s=e.attrs,a=[],l=null,c=null;for(let d=n;d0;){let t=i[--e];if(typeof t=="number"&&t<0)return t}return 0}function R$(i,e,t,n){let r=t.directiveStart,o=t.directiveEnd;A0(t)&&V$(e,t,i.data[r+t.componentOffset]),i.firstCreatePass||u0(t,e),El(n,e);let s=t.initialInputs;for(let a=r;a{k0(i.lView)},consumerOnSignalRead(){this.lView[Po]=this}});function K$(i){let e=i[Po]??Object.create(J$);return e.lView=i,e}var J$=wt(Z({},Mu),{consumerIsAlwaysLive:!0,consumerMarkedDirty:i=>{let e=Vc(i.lView);for(;e&&!o2(e[Ut]);)e=Vc(e);e&&BN(e)},consumerOnSignalRead(){this.lView[Po]=this}});function o2(i){return i.type!==2}var e9=100;function s2(i,e=!0,t=0){let n=i[ks],r=n.rendererFactory,o=!1;o||r.begin?.();try{t9(i,t)}catch(s){throw e&&t2(i,s),s}finally{o||(r.end?.(),n.inlineEffectRunner?.flush())}}function t9(i,e){let t=jN();try{MA(!0),MM(i,e);let n=0;for(;Ff(i);){if(n===e9)throw new Oe(103,!1);n++,MM(i,1)}}finally{MA(t)}}function n9(i,e,t,n){let r=e[Pt];if((r&256)===256)return;let o=!1,s=!1;!o&&e[ks].inlineEffectRunner?.flush(),yE(e);let a=!0,l=null,c=null;o||(o2(i)?(c=Y$(e),l=yf(c)):SR()===null?(a=!1,c=K$(e),l=yf(c)):e[Po]&&(hv(e[Po]),e[Po]=null));try{FN(e),qW(i.bindingStartIndex),t!==null&&$k(i,e,t,2,n);let d=(r&3)===3;if(!o)if(d){let p=i.preOrderCheckHooks;p!==null&&Qv(e,p,null)}else{let p=i.preOrderHooks;p!==null&&Kv(e,p,0,null),FS(e,0)}if(s||i9(e),a2(e,0),i.contentQueries!==null&&Qk(i,e),!o)if(d){let p=i.contentCheckHooks;p!==null&&Qv(e,p)}else{let p=i.contentHooks;p!==null&&Kv(e,p,1),FS(e,1)}b$(i,e);let u=i.components;u!==null&&c2(e,u,0);let h=i.viewQuery;if(h!==null&&SM(2,h,n),!o)if(d){let p=i.viewCheckHooks;p!==null&&Qv(e,p)}else{let p=i.viewHooks;p!==null&&Kv(e,p,2),FS(e,2)}if(i.firstUpdatePass===!0&&(i.firstUpdatePass=!1),e[Zv]){for(let p of e[Zv])p();e[Zv]=null}o||(e[Pt]&=-73)}catch(d){throw o||k0(e),d}finally{c!==null&&(dv(c,l),a&&Z$(c)),xE()}}function a2(i,e){for(let t=fk(i);t!==null;t=mk(t))for(let n=hr;n-1&&(Bf(e,n),r0(t,n))}this._attachedToViewContainer=!1}$0(this._lView[Ut],this._lView)}onDestroy(e){VN(this._lView,e)}markForCheck(){zE(this._cdRefInjectingView||this._lView,4)}detach(){this._lView[Pt]&=-129}reattach(){oM(this._lView),this._lView[Pt]|=128}detectChanges(){this._lView[Pt]|=1024,s2(this._lView,this.notifyErrorHandler)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new Oe(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null;let e=iM(this._lView),t=this._lView[Fc];t!==null&&!e&&IE(t,this._lView),Nk(this._lView[Ut],this._lView)}attachToAppRef(e){if(this._attachedToViewContainer)throw new Oe(902,!1);this._appRef=e;let t=iM(this._lView),n=this._lView[Fc];n!==null&&!t&&kk(n,this._lView),oM(this._lView)}},Hn=(()=>{let e=class e{};e.__NG_ELEMENT_ID__=a9;let i=e;return i})(),o9=Hn,s9=class extends o9{constructor(e,t,n){super(),this._declarationLView=e,this._declarationTContainer=t,this.elementRef=n}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(e,t){return this.createEmbeddedViewImpl(e,t)}createEmbeddedViewImpl(e,t,n){let r=$f(this._declarationLView,this._declarationTContainer,e,{embeddedViewInjector:t,dehydratedView:n});return new Gc(r)}};function a9(){return Q0(Xi(),Ht())}function Q0(i,e){return i.type&4?new s9(e,i,nh(i,e)):null}var vEe=new RegExp(`^(\\d+)*(${I6}|${E6})*(.*)`);var l9=()=>null;function Zu(i,e){return l9(i,e)}var Qu=class{},UE=new ge("",{providedIn:"root",factory:()=>!1});var d2=new ge(""),EM=class{},f0=class{};function c9(i){let e=Error(`No component factory found for ${Pr(i)}.`);return e[d9]=i,e}var d9="ngComponent";var IM=class{resolveComponentFactory(e){throw c9(e)}},KE=class KE{};KE.NULL=new IM;var ds=KE,Il=class{},Xc=(()=>{let e=class e{constructor(){this.destroyNode=null}};e.__NG_ELEMENT_ID__=()=>u9();let i=e;return i})();function u9(){let i=Ht(),e=Xi(),t=Dl(e.index,i);return(wl(t)?t:i)[oi]}var h9=(()=>{let e=class e{};e.\u0275prov=J({token:e,providedIn:"root",factory:()=>null});let i=e;return i})();var zA=new Set;function Ao(i){zA.has(i)||(zA.add(i),performance?.mark?.("mark_feature_usage",{detail:{feature:i}}))}function u2(i){let e=!0;return setTimeout(()=>{e&&(e=!1,i())}),typeof Rf.requestAnimationFrame=="function"&&Rf.requestAnimationFrame(()=>{e&&(e=!1,i())}),()=>{e=!1}}function UA(i){let e=!0;return queueMicrotask(()=>{e&&i()}),()=>{e=!1}}function HA(...i){}var Le=class i{constructor({enableLongStackTrace:e=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:n=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Ie(!1),this.onMicrotaskEmpty=new Ie(!1),this.onStable=new Ie(!1),this.onError=new Ie(!1),typeof Zone>"u")throw new Oe(908,!1);Zone.assertZonePatched();let r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),e&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!n&&t,r.shouldCoalesceRunChangeDetection=n,r.callbackScheduled=!1,m9(r)}static isInAngularZone(){return typeof Zone<"u"&&Zone.current.get("isAngularZone")===!0}static assertInAngularZone(){if(!i.isInAngularZone())throw new Oe(909,!1)}static assertNotInAngularZone(){if(i.isInAngularZone())throw new Oe(909,!1)}run(e,t,n){return this._inner.run(e,t,n)}runTask(e,t,n,r){let o=this._inner,s=o.scheduleEventTask("NgZoneEvent: "+r,e,p9,HA,HA);try{return o.runTask(s,t,n)}finally{o.cancelTask(s)}}runGuarded(e,t,n){return this._inner.runGuarded(e,t,n)}runOutsideAngular(e){return this._outer.run(e)}},p9={};function HE(i){if(i._nesting==0&&!i.hasPendingMicrotasks&&!i.isStable)try{i._nesting++,i.onMicrotaskEmpty.emit(null)}finally{if(i._nesting--,!i.hasPendingMicrotasks)try{i.runOutsideAngular(()=>i.onStable.emit(null))}finally{i.isStable=!0}}}function f9(i){i.isCheckStableRunning||i.callbackScheduled||(i.callbackScheduled=!0,Zone.root.run(()=>{u2(()=>{i.callbackScheduled=!1,TM(i),i.isCheckStableRunning=!0,HE(i),i.isCheckStableRunning=!1})}),TM(i))}function m9(i){let e=()=>{f9(i)};i._inner=i._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,n,r,o,s,a)=>{if(g9(a))return t.invokeTask(r,o,s,a);try{return GA(i),t.invokeTask(r,o,s,a)}finally{(i.shouldCoalesceEventChangeDetection&&o.type==="eventTask"||i.shouldCoalesceRunChangeDetection)&&e(),jA(i)}},onInvoke:(t,n,r,o,s,a,l)=>{try{return GA(i),t.invoke(r,o,s,a,l)}finally{i.shouldCoalesceRunChangeDetection&&!i.callbackScheduled&&!_9(a)&&e(),jA(i)}},onHasTask:(t,n,r,o)=>{t.hasTask(r,o),n===r&&(o.change=="microTask"?(i._hasPendingMicrotasks=o.microTask,TM(i),HE(i)):o.change=="macroTask"&&(i.hasPendingMacrotasks=o.macroTask))},onHandleError:(t,n,r,o)=>(t.handleError(r,o),i.runOutsideAngular(()=>i.onError.emit(o)),!1)})}function TM(i){i._hasPendingMicrotasks||(i.shouldCoalesceEventChangeDetection||i.shouldCoalesceRunChangeDetection)&&i.callbackScheduled===!0?i.hasPendingMicrotasks=!0:i.hasPendingMicrotasks=!1}function GA(i){i._nesting++,i.isStable&&(i.isStable=!1,i.onUnstable.emit(null))}function jA(i){i._nesting--,HE(i)}var DM=class{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Ie,this.onMicrotaskEmpty=new Ie,this.onStable=new Ie,this.onError=new Ie}run(e,t,n){return e.apply(t,n)}runGuarded(e,t,n){return e.apply(t,n)}runOutsideAngular(e){return e()}runTask(e,t,n,r){return e.apply(t,n)}};function g9(i){return h2(i,"__ignore_ng_zone__")}function _9(i){return h2(i,"__scheduler_tick__")}function h2(i,e){return!Array.isArray(i)||i.length!==1?!1:i[0]?.data?.[e]===!0}var Dr=function(i){return i[i.EarlyRead=0]="EarlyRead",i[i.Write=1]="Write",i[i.MixedReadWrite=2]="MixedReadWrite",i[i.Read=3]="Read",i}(Dr||{}),p2={destroy(){}};function Yf(i,e){!e&&eh(Yf);let t=e?.injector??te(xt);return Rk(t)?(Ao("NgAfterRender"),f2(i,t,!1,e?.phase??Dr.MixedReadWrite)):p2}function fr(i,e){!e&&eh(fr);let t=e?.injector??te(xt);return Rk(t)?(Ao("NgAfterNextRender"),f2(i,t,!0,e?.phase??Dr.MixedReadWrite)):p2}function v9(i,e){if(i instanceof Function)switch(e){case Dr.EarlyRead:return{earlyRead:i};case Dr.Write:return{write:i};case Dr.MixedReadWrite:return{mixedReadWrite:i};case Dr.Read:return{read:i}}return i}function f2(i,e,t,n){let r=v9(i,n),o=e.get(GE),s=o.handler??=new OM,a=[],l=[],c=()=>{for(let p of l)s.unregister(p);d()},d=e.get(Ni).onDestroy(c),u=0,h=(p,f)=>{if(!f)return;let m=t?(...g)=>(u--,u<1&&c(),f(...g)):f,y=Fs(e,()=>new PM(p,a,m));s.register(y),l.push(y),u++};return h(Dr.EarlyRead,r.earlyRead),h(Dr.Write,r.write),h(Dr.MixedReadWrite,r.mixedReadWrite),h(Dr.Read,r.read),{destroy:c}}var PM=class{constructor(e,t,n){this.phase=e,this.pipelinedArgs=t,this.callbackFn=n,this.zone=te(Le),this.errorHandler=te(Rr,{optional:!0}),te(Qu,{optional:!0})?.notify(6)}invoke(){try{let e=this.zone.runOutsideAngular(()=>this.callbackFn.apply(null,this.pipelinedArgs));this.pipelinedArgs.splice(0,this.pipelinedArgs.length,e)}catch(e){this.errorHandler?.handleError(e)}}},OM=class{constructor(){this.executingCallbacks=!1,this.buckets={[Dr.EarlyRead]:new Set,[Dr.Write]:new Set,[Dr.MixedReadWrite]:new Set,[Dr.Read]:new Set},this.deferredCallbacks=new Set}register(e){(this.executingCallbacks?this.deferredCallbacks:this.buckets[e.phase]).add(e)}unregister(e){this.buckets[e.phase].delete(e),this.deferredCallbacks.delete(e)}execute(){this.executingCallbacks=!0;for(let e of Object.values(this.buckets))for(let t of e)t.invoke();this.executingCallbacks=!1;for(let e of this.deferredCallbacks)this.buckets[e.phase].add(e);this.deferredCallbacks.clear()}destroy(){for(let e of Object.values(this.buckets))e.clear();this.deferredCallbacks.clear()}},GE=(()=>{let e=class e{constructor(){this.handler=null,this.internalCallbacks=[]}execute(){this.executeInternalCallbacks(),this.handler?.execute()}executeInternalCallbacks(){let n=[...this.internalCallbacks];this.internalCallbacks.length=0;for(let r of n)r()}ngOnDestroy(){this.handler?.destroy(),this.handler=null,this.internalCallbacks.length=0}};e.\u0275prov=J({token:e,providedIn:"root",factory:()=>new e});let i=e;return i})();function m0(i,e,t){let n=t?i.styles:null,r=t?i.classes:null,o=0;if(e!==null)for(let s=0;s0&&Uk(i,t,o.join(" "))}}function M9(i,e,t){let n=i.projection=[];for(let r=0;r{let e=class e{};e.__NG_ELEMENT_ID__=I9;let i=e;return i})();function I9(){let i=Xi();return g2(i,Ht())}var T9=Yt,m2=class extends T9{constructor(e,t,n){super(),this._lContainer=e,this._hostTNode=t,this._hostLView=n}get element(){return nh(this._hostTNode,this._hostLView)}get injector(){return new Lc(this._hostTNode,this._hostLView)}get parentInjector(){let e=wE(this._hostTNode,this._hostLView);if(ek(e)){let t=d0(e,this._hostLView),n=c0(e),r=t[Ut].data[n+8];return new Lc(r,t)}else return new Lc(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(e){let t=$A(this._lContainer);return t!==null&&t[e]||null}get length(){return this._lContainer.length-hr}createEmbeddedView(e,t,n){let r,o;typeof n=="number"?r=n:n!=null&&(r=n.index,o=n.injector);let s=Zu(this._lContainer,e.ssrId),a=e.createEmbeddedViewImpl(t||{},o,s);return this.insertImpl(a,r,Xu(this._hostTNode,s)),a}createComponent(e,t,n,r,o){let s=e&&!DW(e),a;if(s)a=t;else{let f=t||{};a=f.index,n=f.injector,r=f.projectableNodes,o=f.environmentInjector||f.ngModuleRef}let l=s?e:new Ku(Sl(e)),c=n||this.parentInjector;if(!o&&l.ngModule==null){let m=(s?c:this.parentInjector).get(qi,null);m&&(o=m)}let d=Sl(l.componentType??{}),u=Zu(this._lContainer,d?.id??null),h=u?.firstChild??null,p=l.create(c,r,h,o);return this.insertImpl(p.hostView,a,Xu(this._hostTNode,u)),p}insert(e,t){return this.insertImpl(e,t,!0)}insertImpl(e,t,n){let r=e._lView;if(FW(r)){let a=this.indexOf(e);if(a!==-1)this.detach(a);else{let l=r[pr],c=new m2(l,l[Qr],l[pr]);c.detach(c.indexOf(e))}}let o=this._adjustIndex(t),s=this._lContainer;return qf(s,r,o,n),e.attachToViewContainerRef(),pN(HS(s),o,e),e}move(e,t){return this.insert(e,t)}indexOf(e){let t=$A(this._lContainer);return t!==null?t.indexOf(e):-1}remove(e){let t=this._adjustIndex(e,-1),n=Bf(this._lContainer,t);n&&(r0(HS(this._lContainer),t),$0(n[Ut],n))}detach(e){let t=this._adjustIndex(e,-1),n=Bf(this._lContainer,t);return n&&r0(HS(this._lContainer),t)!=null?new Gc(n):null}_adjustIndex(e,t=0){return e??this.length+t}};function $A(i){return i[a0]}function HS(i){return i[a0]||(i[a0]=[])}function g2(i,e){let t,n=e[i.index];return Ea(n)?t=n:(t=Zk(n,e,null,i),e[i.index]=t,Z0(e,t)),P9(t,e,i,n),new m2(t,i,e)}function D9(i,e){let t=i[oi],n=t.createComment(""),r=Ro(e,i),o=TE(t,r);return h0(t,o,n,u$(t,r),!1),n}var P9=A9,O9=()=>!1;function R9(i,e,t){return O9(i,e,t)}function A9(i,e,t,n){if(i[Bc])return;let r;t.type&8?r=Ls(n):r=D9(e,t),i[Bc]=r}var AM=class i{constructor(e){this.queryList=e,this.matches=null}clone(){return new i(this.queryList)}setDirty(){this.queryList.setDirty()}},NM=class i{constructor(e=[]){this.queries=e}createEmbeddedView(e){let t=e.queries;if(t!==null){let n=e.contentQueries!==null?e.contentQueries[0]:t.length,r=[];for(let o=0;o0)n.push(s[a/2]);else{let c=o[a+1],d=e[-l];for(let u=hr;ue.trim())}function y2(i,e,t){i.queries===null&&(i.queries=new kM),i.queries.track(new LM(e,t))}function z9(i,e){let t=i.contentQueries||(i.contentQueries=[]),n=t.length?t[t.length-1]:-1;e!==n&&t.push(i.queries.length-1,e)}function WE(i,e){return i.queries.getByIndex(e)}function x2(i,e){let t=i[Ut],n=WE(t,e);return n.crossesNgTemplate?FM(t,i,e,[]):_2(t,i,n,e)}function $E(i){return typeof i=="function"&&i[Eo]!==void 0}function ut(i,e){Ao("NgSignals");let t=kR(i),n=t[Eo];return e?.equal&&(n.equal=e.equal),t.set=r=>gS(n,r),t.update=r=>LR(n,r),t.asReadonly=U9.bind(t),t}function U9(){let i=this[Eo];if(i.readonlyFn===void 0){let e=()=>this();e[Eo]=i,i.readonlyFn=e}return i.readonlyFn}function w2(i,e){let t,n=mS(()=>{t._dirtyCounter();let r=W9(t,i);if(e&&r===void 0)throw new Oe(-951,!1);return r});return t=n[Eo],t._dirtyCounter=ut(0),t._flatValue=void 0,n}function H9(){return w2(!0,!1)}function G9(){return w2(!0,!0)}function j9(i,e){let t=i[Eo];t._lView=Ht(),t._queryIndex=e,t._queryList=jE(t._lView,e),t._queryList.onDirty(()=>t._dirtyCounter.update(n=>n+1))}function W9(i,e){let t=i._lView,n=i._queryIndex;if(t===void 0||n===void 0||t[Pt]&4)return e?void 0:Tr;let r=jE(t,n),o=x2(t,n);return r.reset(o,uk),e?r.first:r._changesDetected||i._flatValue===void 0?i._flatValue=r.toArray():i._flatValue}function qA(i,e){return H9()}function $9(i,e){return G9()}var C2=(qA.required=$9,qA);function q9(i){return Object.getPrototypeOf(i.prototype).constructor}function nn(i){let e=q9(i.type),t=!0,n=[i];for(;e;){let r;if(Ca(i))r=e.\u0275cmp||e.\u0275dir;else{if(e.\u0275cmp)throw new Oe(903,!1);r=e.\u0275dir}if(r){if(t){n.push(r);let s=i;s.inputs=qv(i.inputs),s.inputTransforms=qv(i.inputTransforms),s.declaredInputs=qv(i.declaredInputs),s.outputs=qv(i.outputs);let a=r.hostBindings;a&&K9(i,a);let l=r.viewQuery,c=r.contentQueries;if(l&&Z9(i,l),c&&Q9(i,c),Y9(i,r),R8(i.outputs,r.outputs),Ca(r)&&r.data.animation){let d=i.data;d.animation=(d.animation||[]).concat(r.data.animation)}}let o=r.features;if(o)for(let s=0;s=0;n--){let r=i[n];r.hostVars=e+=r.hostVars,r.hostAttrs=Nf(r.hostAttrs,t=Nf(t,r.hostAttrs))}}function qv(i){return i===xa?{}:i===Tr?[]:i}function Z9(i,e){let t=i.viewQuery;t?i.viewQuery=(n,r)=>{e(n,r),t(n,r)}:i.viewQuery=e}function Q9(i,e){let t=i.contentQueries;t?i.contentQueries=(n,r,o)=>{e(n,r,o),t(n,r,o)}:i.contentQueries=e}function K9(i,e){let t=i.hostBindings;t?i.hostBindings=(n,r)=>{e(n,r),t(n,r)}:i.hostBindings=e}function S2(i){let e=t=>{let n=(Array.isArray(i)?i:i()).map(r=>typeof r=="function"?{directive:$i(r),inputs:xa,outputs:xa}:{directive:$i(r.directive),inputs:YA(r.inputs),outputs:YA(r.outputs)});t.hostDirectives===null?(t.findHostDirectiveDefs=M2,t.hostDirectives=n):t.hostDirectives.unshift(...n)};return e.ngInherit=!0,e}function M2(i,e,t){if(i.hostDirectives!==null)for(let n of i.hostDirectives){let r=dE(n.directive);J9(r.declaredInputs,n.inputs),M2(r,e,t),t.set(r,n),e.push(r)}}function YA(i){if(i===void 0||i.length===0)return xa;let e={};for(let t=0;tt()),this.destroyCbs=null}onDestroy(e){this.destroyCbs.push(e)}},VM=class extends Vf{constructor(e){super(),this.moduleType=e}create(e){return new BM(this.moduleType,e,[])}};var v0=class extends Tl{constructor(e){super(),this.componentFactoryResolver=new g0(this),this.instance=null;let t=new kf([...e.providers,{provide:Tl,useValue:this},{provide:ds,useValue:this.componentFactoryResolver}],e.parent||O0(),e.debugName,new Set(["environment"]));this.injector=t,e.runEnvironmentInitializers&&t.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(e){this.injector.onDestroy(e)}};function qE(i,e,t=null){return new v0({providers:i,parent:e,debugName:t,runEnvironmentInitializers:!0}).injector}function E2(i){return t7(i)?Array.isArray(i)||!(i instanceof Map)&&Symbol.iterator in i:!1}function e7(i,e){if(Array.isArray(i))for(let t=0;t>17&32767}function d7(i){return(i&2)==2}function u7(i,e){return i&131071|e<<17}function UM(i){return i|2}function Ju(i){return(i&131068)>>2}function GS(i,e){return i&-131069|e<<2}function h7(i){return(i&1)===1}function HM(i){return i|1}function p7(i,e,t,n,r,o){let s=o?e.classBindings:e.styleBindings,a=jc(s),l=Ju(s);i[n]=t;let c=!1,d;if(Array.isArray(t)){let u=t;d=u[1],(d===null||Hf(u,d)>0)&&(c=!0)}else d=t;if(r)if(l!==0){let h=jc(i[a+1]);i[n+1]=Yv(h,a),h!==0&&(i[h+1]=GS(i[h+1],n)),i[a+1]=u7(i[a+1],n)}else i[n+1]=Yv(a,0),a!==0&&(i[a+1]=GS(i[a+1],n)),a=n;else i[n+1]=Yv(l,0),a===0?a=n:i[l+1]=GS(i[l+1],n),l=n;c&&(i[n+1]=UM(i[n+1])),XA(i,d,n,!0),XA(i,d,n,!1),f7(e,d,i,n,o),s=Yv(a,l),o?e.classBindings=s:e.styleBindings=s}function f7(i,e,t,n,r){let o=r?i.residualClasses:i.residualStyles;o!=null&&typeof e=="string"&&Hf(o,e)>=0&&(t[n+1]=HM(t[n+1]))}function XA(i,e,t,n){let r=i[t+1],o=e===null,s=n?jc(r):Ju(r),a=!1;for(;s!==0&&(a===!1||o);){let l=i[s],c=i[s+1];m7(l,e)&&(a=!0,i[s+1]=n?HM(c):UM(c)),s=n?jc(c):Ju(c)}a&&(i[t+1]=n?UM(r):HM(r))}function m7(i,e){return i===null||e==null||(Array.isArray(i)?i[1]:i)===e?!0:Array.isArray(i)&&typeof e=="string"?Hf(i,e)>=0:!1}var ls={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function g7(i){return i.substring(ls.key,ls.keyEnd)}function _7(i){return v7(i),D2(i,P2(i,0,ls.textEnd))}function D2(i,e){let t=ls.textEnd;return t===e?-1:(e=ls.keyEnd=b7(i,ls.key=e,t),P2(i,e,t))}function v7(i){ls.key=0,ls.keyEnd=0,ls.value=0,ls.valueEnd=0,ls.textEnd=i.length}function P2(i,e,t){for(;e32;)e++;return e}function N(i,e,t){let n=Ht(),r=$c();if(Oo(n,r,e)){let o=si(),s=B0();kE(o,s,n,i,e,n[oi],t,!1)}return N}function GM(i,e,t,n,r){let o=e.inputs,s=r?"class":"style";FE(i,t,o[s],s,n)}function tn(i,e,t){return R2(i,e,t,!1),tn}function se(i,e){return R2(i,e,null,!0),se}function kr(i){A2(M7,O2,i,!0)}function O2(i,e){for(let t=_7(e);t>=0;t=D2(e,t))T0(i,g7(e),!0)}function R2(i,e,t,n){let r=Ht(),o=si(),s=L0(2);if(o.firstUpdatePass&&k2(o,i,s,n),e!==Nr&&Oo(r,s,e)){let a=o.data[Vs()];L2(o,a,r,r[oi],i,r[s+1]=I7(e,t),n,s)}}function A2(i,e,t,n){let r=si(),o=L0(2);r.firstUpdatePass&&k2(r,null,o,n);let s=Ht();if(t!==Nr&&Oo(s,o,t)){let a=r.data[Vs()];if(F2(a,n)&&!N2(r,o)){let l=n?a.classesWithoutHost:a.stylesWithoutHost;l!==null&&(t=XS(l,t||"")),GM(r,a,s,t,n)}else E7(r,a,s,s[oi],s[o+1],s[o+1]=S7(i,e,t),n,o)}}function N2(i,e){return e>=i.expandoStartIndex}function k2(i,e,t,n){let r=i.data;if(r[t+1]===null){let o=r[Vs()],s=N2(i,t);F2(o,n)&&e===null&&!s&&(e=!1),e=y7(r,o,e,n),p7(r,o,e,t,s,n)}}function y7(i,e,t,n){let r=vE(i),o=n?e.residualClasses:e.residualStyles;if(r===null)(n?e.classBindings:e.styleBindings)===0&&(t=jS(null,i,e,t,n),t=zf(t,e.attrs,n),o=null);else{let s=e.directiveStylingLast;if(s===-1||i[s]!==r)if(t=jS(r,i,e,t,n),o===null){let l=x7(i,e,n);l!==void 0&&Array.isArray(l)&&(l=jS(null,i,e,l[1],n),l=zf(l,e.attrs,n),w7(i,e,n,l))}else o=C7(i,e,n)}return o!==void 0&&(n?e.residualClasses=o:e.residualStyles=o),t}function x7(i,e,t){let n=t?e.classBindings:e.styleBindings;if(Ju(n)!==0)return i[jc(n)]}function w7(i,e,t,n){let r=t?e.classBindings:e.styleBindings;i[jc(r)]=n}function C7(i,e,t){let n,r=e.directiveEnd;for(let o=1+e.directiveStylingLast;o0;){let l=i[r],c=Array.isArray(l),d=c?l[1]:l,u=d===null,h=t[r+1];h===Nr&&(h=u?Tr:void 0);let p=u?kS(h,n):d===n?h:void 0;if(c&&!y0(p)&&(p=kS(l,n)),y0(p)&&(a=p,s))return a;let f=i[r+1];r=s?jc(f):Ju(f)}if(e!==null){let l=o?e.residualClasses:e.residualStyles;l!=null&&(a=kS(l,n))}return a}function y0(i){return i!==void 0}function I7(i,e){return i==null||i===""||(typeof e=="string"?i=i+e:typeof i=="object"&&(i=Pr(zs(i)))),i}function F2(i,e){return(i.flags&(e?8:16))!==0}function B2(i,e,t){let n=Ht(),r=T2(n,i,e,t);A2(T0,O2,r,!0)}var jM=class{destroy(e){}updateValue(e,t){}swap(e,t){let n=Math.min(e,t),r=Math.max(e,t),o=this.detach(r);if(r-n>1){let s=this.detach(n);this.attach(n,o),this.attach(r,s)}else this.attach(n,o)}move(e,t){this.attach(t,this.detach(e))}};function WS(i,e,t,n,r){return i===t&&Object.is(e,n)?1:Object.is(r(i,e),r(t,n))?-1:0}function T7(i,e,t){let n,r,o=0,s=i.length-1,a=void 0;if(Array.isArray(e)){let l=e.length-1;for(;o<=s&&o<=l;){let c=i.at(o),d=e[o],u=WS(o,c,o,d,t);if(u!==0){u<0&&i.updateValue(o,d),o++;continue}let h=i.at(s),p=e[l],f=WS(s,h,l,p,t);if(f!==0){f<0&&i.updateValue(s,p),s--,l--;continue}let m=t(o,c),y=t(s,h),g=t(o,d);if(Object.is(g,y)){let _=t(l,p);Object.is(_,m)?(i.swap(o,s),i.updateValue(s,p),l--,s--):i.move(s,o),i.updateValue(o,d),o++;continue}if(n??=new x0,r??=KA(i,o,s,t),WM(i,n,o,g))i.updateValue(o,d),o++,s++;else if(r.has(g))n.set(m,i.detach(o)),s--;else{let _=i.create(o,e[o]);i.attach(o,_),o++,s++}}for(;o<=l;)QA(i,n,t,o,e[o]),o++}else if(e!=null){let l=e[Symbol.iterator](),c=l.next();for(;!c.done&&o<=s;){let d=i.at(o),u=c.value,h=WS(o,d,o,u,t);if(h!==0)h<0&&i.updateValue(o,u),o++,c=l.next();else{n??=new x0,r??=KA(i,o,s,t);let p=t(o,u);if(WM(i,n,o,p))i.updateValue(o,u),o++,s++,c=l.next();else if(!r.has(p))i.attach(o,i.create(o,u)),o++,s++,c=l.next();else{let f=t(o,d);n.set(f,i.detach(o)),s--}}}for(;!c.done;)QA(i,n,t,i.length,c.value),c=l.next()}for(;o<=s;)i.destroy(i.detach(s--));n?.forEach(l=>{i.destroy(l)})}function WM(i,e,t,n){return e!==void 0&&e.has(n)?(i.attach(t,e.get(n)),e.delete(n),!0):!1}function QA(i,e,t,n,r){if(WM(i,e,n,t(n,r)))i.updateValue(n,r);else{let o=i.create(n,r);i.attach(n,o)}}function KA(i,e,t,n){let r=new Set;for(let o=e;o<=t;o++)r.add(n(o,i.at(o)));return r}var x0=class{constructor(){this.kvMap=new Map,this._vMap=void 0}has(e){return this.kvMap.has(e)}delete(e){if(!this.has(e))return!1;let t=this.kvMap.get(e);return this._vMap!==void 0&&this._vMap.has(t)?(this.kvMap.set(e,this._vMap.get(t)),this._vMap.delete(t)):this.kvMap.delete(e),!0}get(e){return this.kvMap.get(e)}set(e,t){if(this.kvMap.has(e)){let n=this.kvMap.get(e);this._vMap===void 0&&(this._vMap=new Map);let r=this._vMap;for(;r.has(n);)n=r.get(n);r.set(n,t)}else this.kvMap.set(e,t)}forEach(e){for(let[t,n]of this.kvMap)if(e(n,t),this._vMap!==void 0){let r=this._vMap;for(;r.has(n);)n=r.get(n),e(n,t)}}};function ae(i,e){Ao("NgControlFlow");let t=Ht(),n=$c(),r=t[n]!==Nr?t[n]:-1,o=r!==-1?w0(t,Or+r):void 0,s=0;if(Oo(t,n,i)){let a=sn(null);try{if(o!==void 0&&i2(o,s),i!==-1){let l=Or+i,c=w0(t,l),d=XM(t[Ut],l),u=Zu(c,d.tView.ssrId),h=$f(t,d,e,{dehydratedView:u});qf(c,h,s,Xu(d,u))}}finally{sn(a)}}else if(o!==void 0){let a=n2(o,s);a!==void 0&&(a[ur]=e)}}var $M=class{constructor(e,t,n){this.lContainer=e,this.$implicit=t,this.$index=n}get $count(){return this.lContainer.length-hr}};function K0(i){return i}function Kr(i,e){return e}var qM=class{constructor(e,t,n){this.hasEmptyBlock=e,this.trackByFn=t,this.liveCollection=n}};function ln(i,e,t,n,r,o,s,a,l,c,d,u,h){Ao("NgControlFlow");let p=Ht(),f=si(),m=l!==void 0,y=Ht(),g=a?s.bind(y[io][ur]):s,_=new qM(m,g);y[Or+i]=_,b0(p,f,i+1,e,t,n,r,Ml(f.consts,o)),m&&b0(p,f,i+2,l,c,d,u,Ml(f.consts,h))}var YM=class extends jM{constructor(e,t,n){super(),this.lContainer=e,this.hostLView=t,this.templateTNode=n,this.operationsCounter=void 0,this.needsIndexUpdate=!1}get length(){return this.lContainer.length-hr}at(e){return this.getLView(e)[ur].$implicit}attach(e,t){let n=t[$u];this.needsIndexUpdate||=e!==this.length,qf(this.lContainer,t,e,Xu(this.templateTNode,n))}detach(e){return this.needsIndexUpdate||=e!==this.length-1,D7(this.lContainer,e)}create(e,t){let n=Zu(this.lContainer,this.templateTNode.tView.ssrId),r=$f(this.hostLView,this.templateTNode,new $M(this.lContainer,t,e),{dehydratedView:n});return this.operationsCounter?.recordCreate(),r}destroy(e){$0(e[Ut],e),this.operationsCounter?.recordDestroy()}updateValue(e,t){this.getLView(e)[ur].$implicit=t}reset(){this.needsIndexUpdate=!1,this.operationsCounter?.reset()}updateIndexes(){if(this.needsIndexUpdate)for(let e=0;e(U0(!0),Ak(n,r,e6()));function A7(i,e,t,n,r){let o=e.consts,s=Ml(o,n),a=ih(e,i,8,"ng-container",s);s!==null&&m0(a,s,!0);let l=Ml(o,r);return LE(e,t,a,l),e.queries!==null&&e.queries.elementStart(e,a),a}function so(i,e,t){let n=Ht(),r=si(),o=i+Or,s=r.firstCreatePass?A7(o,r,n,e,t):r.data[o];Wc(s,!0);let a=N7(r,n,s,i);return n[o]=a,z0()&&q0(r,n,a,s),El(a,n),N0(s)&&(RE(r,n,s),OE(r,s,n)),t!=null&&AE(n,s),so}function ao(){let i=Xi(),e=si();return gE()?_E():(i=i.parent,Wc(i,!1)),e.firstCreatePass&&(H0(e,i),pE(i)&&e.queries.elementEnd(i)),ao}function Zi(i,e,t){return so(i,e,t),ao(),Zi}var N7=(i,e,t,n)=>(U0(!0),n$(e[oi],""));function ie(){return Ht()}function No(i,e,t){let n=Ht(),r=$c();if(Oo(n,r,e)){let o=si(),s=B0();kE(o,s,n,i,e,n[oi],t,!0)}return No}function Xf(i,e,t){let n=Ht(),r=$c();if(Oo(n,r,e)){let o=si(),s=B0(),a=vE(o.data),l=e2(a,s,n);kE(o,s,n,i,e,l,t,!0)}return Xf}var C0="en-US";var k7=C0;function L7(i){typeof i=="string"&&(k7=i.toLowerCase().replace(/_/g,"-"))}var F7=(i,e,t)=>{};function H(i,e,t,n){let r=Ht(),o=si(),s=Xi();return V2(o,r,r[oi],s,i,e,n),H}function YE(i,e){let t=Xi(),n=Ht(),r=si(),o=vE(r.data),s=e2(o,t,n);return V2(r,n,s,t,i,e),YE}function B7(i,e,t,n){let r=i.cleanup;if(r!=null)for(let o=0;ol?a[l]:null}typeof s=="string"&&(o+=2)}return null}function V2(i,e,t,n,r,o,s){let a=N0(n),c=i.firstCreatePass&&Jk(i),d=e[ur],u=Kk(e),h=!0;if(n.type&3||s){let m=Ro(n,e),y=s?s(m):m,g=u.length,_=s?C=>s(Ls(C[n.index])):n.index,x=null;if(!s&&a&&(x=B7(i,e,r,n.index)),x!==null){let C=x.__ngLastListenerFn__||x;C.__ngNextListenerFn__=o,x.__ngLastListenerFn__=o,h=!1}else{o=eN(n,e,d,o),F7(m,r,o);let C=t.listen(y,r,o);u.push(o,C),c&&c.push(r,_,g,g+1)}}else o=eN(n,e,d,o);let p=n.outputs,f;if(h&&p!==null&&(f=p[r])){let m=f.length;if(m)for(let y=0;y-1?Dl(i.index,e):e;zE(s,5);let a=JA(e,t,n,o),l=r.__ngNextListenerFn__;for(;l;)a=JA(e,t,l,o)&&a,l=l.__ngNextListenerFn__;return a}}function I(i=1){return KW(i)}function V7(i,e){let t=null,n=lW(i);for(let r=0;r(U0(!0),e$(e[oi],n));function nt(i){return Me("",i,""),nt}function Me(i,e,t){let n=Ht(),r=T2(n,i,e,t);return r!==Nr&&BE(n,Vs(),r),Me}function XE(i,e,t,n,r){let o=Ht(),s=l7(o,i,e,t,n,r);return s!==Nr&&BE(o,Vs(),s),XE}function Zc(i,e,t,n,r,o,s,a,l){let c=Ht(),d=c7(c,i,e,t,n,r,o,s,a,l);return d!==Nr&&BE(c,Vs(),d),Zc}function H7(i,e,t){let n=si();if(n.firstCreatePass){let r=Ca(i);ZM(t,n.data,n.blueprint,r,!0),ZM(e,n.data,n.blueprint,r,!1)}}function ZM(i,e,t,n,r){if(i=$i(i),Array.isArray(i))for(let o=0;o>20;if(Wu(i)||!i.multi){let p=new Uc(c,r,M),f=qS(l,e,r?d:d+h,u);f===-1?(cM(u0(a,s),o,l),$S(o,i,e.length),e.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),t.push(p),s.push(p)):(t[f]=p,s[f]=p)}else{let p=qS(l,e,d+h,u),f=qS(l,e,d,d+h),m=p>=0&&t[p],y=f>=0&&t[f];if(r&&!y||!r&&!m){cM(u0(a,s),o,l);let g=W7(r?j7:G7,t.length,r,n,c);!r&&y&&(t[f].providerFactory=g),$S(o,i,e.length,0),e.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),t.push(g),s.push(g)}else{let g=H2(t[r?f:p],c,!r&&n);$S(o,i,p>-1?p:f,g)}!r&&n&&y&&t[f].componentProviders++}}}function $S(i,e,t,n){let r=Wu(e),o=wW(e);if(r||o){let l=(o?$i(e.useClass):e).prototype.ngOnDestroy;if(l){let c=i.destroyHooks||(i.destroyHooks=[]);if(!r&&e.multi){let d=c.indexOf(t);d===-1?c.push(t,[n,l]):c[d+1].push(n,l)}else c.push(t,l)}}}function H2(i,e,t){return t&&i.componentProviders++,i.multi.push(e)-1}function qS(i,e,t,n){for(let r=t;r{t.providersResolver=(n,r)=>H7(n,r?r(i):i,e)}}var $7=(()=>{let e=class e{constructor(n){this._injector=n,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(n){if(!n.standalone)return null;if(!this.cachedInjectors.has(n)){let r=MN(!1,n.type),o=r.length>0?qE([r],this._injector,`Standalone[${n.type.name}]`):null;this.cachedInjectors.set(n,o)}return this.cachedInjectors.get(n)}ngOnDestroy(){try{for(let n of this.cachedInjectors.values())n!==null&&n.destroy()}finally{this.cachedInjectors.clear()}}};e.\u0275prov=J({token:e,providedIn:"environment",factory:()=>new e(X(qi))});let i=e;return i})();function ce(i){Ao("NgStandalone"),i.getStandaloneInjector=e=>e.get($7).getOrCreateStandaloneInjector(i)}function G2(i,e,t){let n=WN()+i,r=Ht();return r[n]===Nr?I2(r,n,t?e.call(t):e()):n7(r,n)}function Pl(i,e,t,n){return Y7(Ht(),WN(),i,e,t,n)}function q7(i,e){let t=i[e];return t===Nr?void 0:t}function Y7(i,e,t,n,r,o){let s=e+t;return Oo(i,s,r)?I2(i,s+1,o?n.call(o,r):n(r)):q7(i,s+1)}function kt(i,e){return Q0(i,e)}var J0=(()=>{let e=class e{log(n){console.log(n)}warn(n){console.warn(n)}};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"platform"});let i=e;return i})();var j2=new ge("");function Qc(i){return!!i&&typeof i.then=="function"}function W2(i){return!!i&&typeof i.subscribe=="function"}var $2=new ge(""),q2=(()=>{let e=class e{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((n,r)=>{this.resolve=n,this.reject=r}),this.appInits=te($2,{optional:!0})??[]}runInitializers(){if(this.initialized)return;let n=[];for(let o of this.appInits){let s=o();if(Qc(s))n.push(s);else if(W2(s)){let a=new Promise((l,c)=>{s.subscribe({complete:l,error:c})});n.push(a)}}let r=()=>{this.done=!0,this.resolve()};Promise.all(n).then(()=>{r()}).catch(o=>{this.reject(o)}),n.length===0&&r(),this.initialized=!0}};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})(),ZE=new ge("");function X7(){NR(()=>{throw new Oe(600,!1)})}function Z7(i){return i.isBoundToModule}var Q7=10;function K7(i,e,t){try{let n=t();return Qc(n)?n.catch(r=>{throw e.runOutsideAngular(()=>i.handleError(r)),r}):n}catch(n){throw e.runOutsideAngular(()=>i.handleError(n)),n}}var us=(()=>{let e=class e{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=te(dk),this.afterRenderEffectManager=te(GE),this.zonelessEnabled=te(UE),this.externalTestViews=new Set,this.beforeRender=new me,this.afterTick=new me,this.componentTypes=[],this.components=[],this.isStable=te(qc).hasPendingTasks.pipe(Je(n=>!n)),this._injector=te(qi)}get allViews(){return[...this.externalTestViews.keys(),...this._views]}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(n,r){let o=n instanceof f0;if(!this._injector.get(q2).done){let p=!o&&xN(n),f=!1;throw new Oe(405,f)}let a;o?a=n:a=this._injector.get(ds).resolveComponentFactory(n),this.componentTypes.push(a.componentType);let l=Z7(a)?void 0:this._injector.get(Tl),c=r||a.selector,d=a.create(xt.NULL,[],c,l),u=d.location.nativeElement,h=d.injector.get(j2,null);return h?.registerApplication(u),d.onDestroy(()=>{this.detachView(d.hostView),YS(this.components,d),h?.unregisterApplication(u)}),this._loadComponent(d),d}tick(){this._tick(!0)}_tick(n){if(this._runningTick)throw new Oe(101,!1);let r=sn(null);try{this._runningTick=!0,this.detectChangesInAttachedViews(n)}catch(o){this.internalErrorHandler(o)}finally{this._runningTick=!1,sn(r),this.afterTick.next()}}detectChangesInAttachedViews(n){let r=null;this._injector.destroyed||(r=this._injector.get(Il,null,{optional:!0}));let o=0,s=this.afterRenderEffectManager;for(;oFf(l))&&(s.execute(),!this.allViews.some(({_lView:l})=>Ff(l))))break}}attachView(n){let r=n;this._views.push(r),r.attachToAppRef(this)}detachView(n){let r=n;YS(this._views,r),r.detachFromAppRef()}_loadComponent(n){this.attachView(n.hostView),this.tick(),this.components.push(n);let r=this._injector.get(ZE,[]);[...this._bootstrapListeners,...r].forEach(o=>o(n))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(n=>n()),this._views.slice().forEach(n=>n.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(n){return this._destroyListeners.push(n),()=>YS(this._destroyListeners,n)}destroy(){if(this._destroyed)throw new Oe(406,!1);let n=this._injector;n.destroy&&!n.destroyed&&n.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();function YS(i,e){let t=i.indexOf(e);t>-1&&i.splice(t,1)}function J7(i,e,t,n){if(!t&&!Ff(i))return;s2(i,e,t&&!n?0:1)}var KM=class{constructor(e,t){this.ngModuleFactory=e,this.componentFactories=t}},QE=(()=>{let e=class e{compileModuleSync(n){return new VM(n)}compileModuleAsync(n){return Promise.resolve(this.compileModuleSync(n))}compileModuleAndAllComponentsSync(n){let r=this.compileModuleSync(n),o=wN(n),s=Ok(o.declarations).reduce((a,l)=>{let c=Sl(l);return c&&a.push(new Ku(c)),a},[]);return new KM(r,s)}compileModuleAndAllComponentsAsync(n){return Promise.resolve(this.compileModuleAndAllComponentsSync(n))}clearCache(){}clearCacheFor(n){}getModuleId(n){}};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();var eq=(()=>{let e=class e{constructor(){this.zone=te(Le),this.changeDetectionScheduler=te(Qu),this.applicationRef=te(us)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.changeDetectionScheduler.runningTick||this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})(),tq=new ge("",{factory:()=>!1});function Y2({ngZoneFactory:i,ignoreChangesOutsideZone:e}){return i??=()=>new Le(Z2()),[{provide:Le,useFactory:i},{provide:ju,multi:!0,useFactory:()=>{let t=te(eq,{optional:!0});return()=>t.initialize()}},{provide:ju,multi:!0,useFactory:()=>{let t=te(iq);return()=>{t.initialize()}}},{provide:dk,useFactory:nq},e===!0?{provide:d2,useValue:!0}:[]]}function nq(){let i=te(Le),e=te(Rr);return t=>i.runOutsideAngular(()=>e.handleError(t))}function X2(i){let e=i?.ignoreChangesOutsideZone,t=Y2({ngZoneFactory:()=>{let n=Z2(i);return n.shouldCoalesceEventChangeDetection&&Ao("NgZone_CoalesceEvent"),new Le(n)},ignoreChangesOutsideZone:e});return D0([{provide:tq,useValue:!0},{provide:UE,useValue:!1},t])}function Z2(i){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:i?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:i?.runCoalescing??!1}}var iq=(()=>{let e=class e{constructor(){this.subscription=new Ct,this.initialized=!1,this.zone=te(Le),this.pendingTasks=te(qc)}initialize(){if(this.initialized)return;this.initialized=!0;let n=null;!this.zone.isStable&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(n=this.pendingTasks.add()),this.zone.runOutsideAngular(()=>{this.subscription.add(this.zone.onStable.subscribe(()=>{Le.assertNotInAngularZone(),queueMicrotask(()=>{n!==null&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(this.pendingTasks.remove(n),n=null)})}))}),this.subscription.add(this.zone.onUnstable.subscribe(()=>{Le.assertInAngularZone(),n??=this.pendingTasks.add()}))}ngOnDestroy(){this.subscription.unsubscribe()}};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();var rq=(()=>{let e=class e{constructor(){this.appRef=te(us),this.taskService=te(qc),this.ngZone=te(Le),this.zonelessEnabled=te(UE),this.disableScheduling=te(d2,{optional:!0})??!1,this.zoneIsDefined=typeof Zone<"u"&&!!Zone.root.run,this.schedulerTickApplyArgs=[{data:{__scheduler_tick__:!0}}],this.subscriptions=new Ct,this.cancelScheduledCallback=null,this.shouldRefreshViews=!1,this.useMicrotaskScheduler=!1,this.runningTick=!1,this.pendingRenderTaskId=null,this.subscriptions.add(this.appRef.afterTick.subscribe(()=>{this.runningTick||this.cleanup()})),this.subscriptions.add(this.ngZone.onUnstable.subscribe(()=>{this.runningTick||this.cleanup()})),this.disableScheduling||=!this.zonelessEnabled&&(this.ngZone instanceof DM||!this.zoneIsDefined)}notify(n){if(!this.zonelessEnabled&&n===5)return;switch(n){case 3:case 2:case 0:case 4:case 5:case 1:{this.shouldRefreshViews=!0;break}case 8:case 7:case 6:case 9:default:}if(!this.shouldScheduleTick())return;let r=this.useMicrotaskScheduler?UA:u2;this.pendingRenderTaskId=this.taskService.add(),this.zoneIsDefined?Zone.root.run(()=>{this.cancelScheduledCallback=r(()=>{this.tick(this.shouldRefreshViews)})}):this.cancelScheduledCallback=r(()=>{this.tick(this.shouldRefreshViews)})}shouldScheduleTick(){return!(this.disableScheduling||this.pendingRenderTaskId!==null||this.runningTick||this.appRef._runningTick||!this.zonelessEnabled&&this.zoneIsDefined&&Le.isInAngularZone())}tick(n){if(this.runningTick||this.appRef.destroyed)return;let r=this.taskService.add();try{this.ngZone.run(()=>{this.runningTick=!0,this.appRef._tick(n)},void 0,this.schedulerTickApplyArgs)}catch(o){throw this.taskService.remove(r),o}finally{this.cleanup()}this.useMicrotaskScheduler=!0,UA(()=>{this.useMicrotaskScheduler=!1,this.taskService.remove(r)})}ngOnDestroy(){this.subscriptions.unsubscribe(),this.cleanup()}cleanup(){if(this.shouldRefreshViews=!1,this.runningTick=!1,this.cancelScheduledCallback?.(),this.cancelScheduledCallback=null,this.pendingRenderTaskId!==null){let n=this.pendingRenderTaskId;this.pendingRenderTaskId=null,this.taskService.remove(n)}}};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();function oq(){return typeof $localize<"u"&&$localize.locale||C0}var eb=new ge("",{providedIn:"root",factory:()=>te(eb,en.Optional|en.SkipSelf)||oq()});var Q2=new ge("");var t0=null;function sq(i=[],e){return xt.create({name:e,providers:[{provide:P0,useValue:"platform"},{provide:Q2,useValue:new Set([()=>t0=null])},...i]})}function aq(i=[]){if(t0)return t0;let e=sq(i);return t0=e,X7(),lq(e),e}function lq(i){i.get(CE,null)?.forEach(t=>t())}var Fe=(()=>{let e=class e{};e.__NG_ELEMENT_ID__=cq;let i=e;return i})();function cq(i){return dq(Xi(),Ht(),(i&16)===16)}function dq(i,e,t){if(A0(i)&&!t){let n=Dl(i.index,e);return new Gc(n,n)}else if(i.type&175){let n=e[io];return new Gc(n,e)}return null}var JM=class{constructor(){}supports(e){return E2(e)}create(e){return new eE(e)}},uq=(i,e)=>e,eE=class{constructor(e){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=e||uq}forEachItem(e){let t;for(t=this._itHead;t!==null;t=t._next)e(t)}forEachOperation(e){let t=this._itHead,n=this._removalsHead,r=0,o=null;for(;t||n;){let s=!n||t&&t.currentIndex{s=this._trackByFn(r,a),t===null||!Object.is(t.trackById,s)?(t=this._mismatch(t,a,s,r),n=!0):(n&&(t=this._verifyReinsertion(t,a,s,r)),Object.is(t.item,a)||this._addIdentityChange(t,a)),t=t._next,r++}),this.length=r;return this._truncate(t),this.collection=e,this.isDirty}get isDirty(){return this._additionsHead!==null||this._movesHead!==null||this._removalsHead!==null||this._identityChangesHead!==null}_reset(){if(this.isDirty){let e;for(e=this._previousItHead=this._itHead;e!==null;e=e._next)e._nextPrevious=e._next;for(e=this._additionsHead;e!==null;e=e._nextAdded)e.previousIndex=e.currentIndex;for(this._additionsHead=this._additionsTail=null,e=this._movesHead;e!==null;e=e._nextMoved)e.previousIndex=e.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(e,t,n,r){let o;return e===null?o=this._itTail:(o=e._prev,this._remove(e)),e=this._unlinkedRecords===null?null:this._unlinkedRecords.get(n,null),e!==null?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._reinsertAfter(e,o,r)):(e=this._linkedRecords===null?null:this._linkedRecords.get(n,r),e!==null?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._moveAfter(e,o,r)):e=this._addAfter(new tE(t,n),o,r)),e}_verifyReinsertion(e,t,n,r){let o=this._unlinkedRecords===null?null:this._unlinkedRecords.get(n,null);return o!==null?e=this._reinsertAfter(o,e._prev,r):e.currentIndex!=r&&(e.currentIndex=r,this._addToMoves(e,r)),e}_truncate(e){for(;e!==null;){let t=e._next;this._addToRemovals(this._unlink(e)),e=t}this._unlinkedRecords!==null&&this._unlinkedRecords.clear(),this._additionsTail!==null&&(this._additionsTail._nextAdded=null),this._movesTail!==null&&(this._movesTail._nextMoved=null),this._itTail!==null&&(this._itTail._next=null),this._removalsTail!==null&&(this._removalsTail._nextRemoved=null),this._identityChangesTail!==null&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(e,t,n){this._unlinkedRecords!==null&&this._unlinkedRecords.remove(e);let r=e._prevRemoved,o=e._nextRemoved;return r===null?this._removalsHead=o:r._nextRemoved=o,o===null?this._removalsTail=r:o._prevRemoved=r,this._insertAfter(e,t,n),this._addToMoves(e,n),e}_moveAfter(e,t,n){return this._unlink(e),this._insertAfter(e,t,n),this._addToMoves(e,n),e}_addAfter(e,t,n){return this._insertAfter(e,t,n),this._additionsTail===null?this._additionsTail=this._additionsHead=e:this._additionsTail=this._additionsTail._nextAdded=e,e}_insertAfter(e,t,n){let r=t===null?this._itHead:t._next;return e._next=r,e._prev=t,r===null?this._itTail=e:r._prev=e,t===null?this._itHead=e:t._next=e,this._linkedRecords===null&&(this._linkedRecords=new S0),this._linkedRecords.put(e),e.currentIndex=n,e}_remove(e){return this._addToRemovals(this._unlink(e))}_unlink(e){this._linkedRecords!==null&&this._linkedRecords.remove(e);let t=e._prev,n=e._next;return t===null?this._itHead=n:t._next=n,n===null?this._itTail=t:n._prev=t,e}_addToMoves(e,t){return e.previousIndex===t||(this._movesTail===null?this._movesTail=this._movesHead=e:this._movesTail=this._movesTail._nextMoved=e),e}_addToRemovals(e){return this._unlinkedRecords===null&&(this._unlinkedRecords=new S0),this._unlinkedRecords.put(e),e.currentIndex=null,e._nextRemoved=null,this._removalsTail===null?(this._removalsTail=this._removalsHead=e,e._prevRemoved=null):(e._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=e),e}_addIdentityChange(e,t){return e.item=t,this._identityChangesTail===null?this._identityChangesTail=this._identityChangesHead=e:this._identityChangesTail=this._identityChangesTail._nextIdentityChange=e,e}},tE=class{constructor(e,t){this.item=e,this.trackById=t,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}},nE=class{constructor(){this._head=null,this._tail=null}add(e){this._head===null?(this._head=this._tail=e,e._nextDup=null,e._prevDup=null):(this._tail._nextDup=e,e._prevDup=this._tail,e._nextDup=null,this._tail=e)}get(e,t){let n;for(n=this._head;n!==null;n=n._nextDup)if((t===null||t<=n.currentIndex)&&Object.is(n.trackById,e))return n;return null}remove(e){let t=e._prevDup,n=e._nextDup;return t===null?this._head=n:t._nextDup=n,n===null?this._tail=t:n._prevDup=t,this._head===null}},S0=class{constructor(){this.map=new Map}put(e){let t=e.trackById,n=this.map.get(t);n||(n=new nE,this.map.set(t,n)),n.add(e)}get(e,t){let n=e,r=this.map.get(n);return r?r.get(e,t):null}remove(e){let t=e.trackById;return this.map.get(t).remove(e)&&this.map.delete(t),e}get isEmpty(){return this.map.size===0}clear(){this.map.clear()}};function tN(i,e,t){let n=i.previousIndex;if(n===null)return n;let r=0;return t&&n{let e=class e{constructor(n){this.factories=n}static create(n,r){if(r!=null){let o=r.factories.slice();n=n.concat(o)}return new e(n)}static extend(n){return{provide:e,useFactory:r=>e.create(n,r||nN()),deps:[[e,new aE,new I0]]}}find(n){let r=this.factories.find(o=>o.supports(n));if(r!=null)return r;throw new Oe(901,!1)}};e.\u0275prov=J({token:e,providedIn:"root",factory:nN});let i=e;return i})();function K2(i){try{let{rootComponent:e,appProviders:t,platformProviders:n}=i,r=aq(n),o=[Y2({}),{provide:Qu,useExisting:rq},...t||[]],a=new v0({providers:o,parent:r,debugName:"",runEnvironmentInitializers:!1}).injector,l=a.get(Le);return l.run(()=>{a.resolveInjectorInitializers();let c=a.get(Rr,null),d;l.runOutsideAngular(()=>{d=l.onError.subscribe({next:p=>{c.handleError(p)}})});let u=()=>a.destroy(),h=r.get(Q2);return h.add(u),a.onDestroy(()=>{d.unsubscribe(),h.delete(u)}),K7(c,l,()=>{let p=a.get(q2);return p.runInitializers(),p.donePromise.then(()=>{let f=a.get(eb,C0);L7(f||C0);let m=a.get(us);return e!==void 0&&m.bootstrap(e),m})})})}catch(e){return Promise.reject(e)}}var J2=new ge("");function at(i){return typeof i=="boolean"?i:i!=null&&i!=="false"}function Ci(i,e=NaN){return!isNaN(parseFloat(i))&&!isNaN(Number(i))?Number(i):e}function Xt(i,e){Ao("NgSignals");let t=mS(i);return e?.equal&&(t[Eo].equal=e.equal),t}function Lr(i){let e=sn(null);try{return i()}finally{sn(e)}}var hq=new ge("",{providedIn:"root",factory:()=>te(pq)}),pq=(()=>{let e=class e{};e.\u0275prov=J({token:e,providedIn:"root",factory:()=>new iE});let i=e;return i})(),iE=class{constructor(){this.queuedEffectCount=0,this.queues=new Map,this.pendingTasks=te(qc),this.taskId=null}scheduleEffect(e){if(this.enqueue(e),this.taskId===null){let t=this.taskId=this.pendingTasks.add();queueMicrotask(()=>{this.flush(),this.pendingTasks.remove(t),this.taskId=null})}}enqueue(e){let t=e.creationZone;this.queues.has(t)||this.queues.set(t,new Set);let n=this.queues.get(t);n.has(e)||(this.queuedEffectCount++,n.add(e))}flush(){for(;this.queuedEffectCount>0;)for(let[e,t]of this.queues)e===null?this.flushQueue(t):e.run(()=>this.flushQueue(t))}flushQueue(e){for(let t of e)e.delete(t),this.queuedEffectCount--,t.run()}},rE=class{constructor(e,t,n,r,o,s){this.scheduler=e,this.effectFn=t,this.creationZone=n,this.injector=o,this.watcher=BR(a=>this.runEffect(a),()=>this.schedule(),s),this.unregisterOnDestroy=r?.onDestroy(()=>this.destroy())}runEffect(e){try{this.effectFn(e)}catch(t){this.injector.get(Rr,null,{optional:!0})?.handleError(t)}}run(){this.watcher.run()}schedule(){this.scheduler.scheduleEffect(this)}destroy(){this.watcher.destroy(),this.unregisterOnDestroy?.()}};function lt(i,e){Ao("NgSignals"),!e?.injector&&eh(lt);let t=e?.injector??te(xt),n=e?.manualCleanup!==!0?t.get(Ni):null,r=new rE(t.get(hq),i,typeof Zone>"u"?null:Zone.current,n,t,e?.allowSignalWrites??!1),o=t.get(Fe,null,{optional:!0});return!o||!(o._lView[Pt]&8)?r.watcher.notify():(o._lView[Zv]??=[]).push(r.watcher.notify),r}function eL(i,e){let t=Sl(i),n=e.elementInjector||O0();return new Ku(t).create(n,e.projectableNodes,e.hostElement,e.environmentInjector)}var sL=null;function Da(){return sL}function aL(i){sL??=i}var tb=class{};var Ye=new ge(""),lL=(()=>{let e=class e{historyGo(n){throw new Error("")}};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:()=>te(fq),providedIn:"platform"});let i=e;return i})();var fq=(()=>{let e=class e extends lL{constructor(){super(),this._doc=te(Ye),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return Da().getBaseHref(this._doc)}onPopState(n){let r=Da().getGlobalEventTarget(this._doc,"window");return r.addEventListener("popstate",n,!1),()=>r.removeEventListener("popstate",n)}onHashChange(n){let r=Da().getGlobalEventTarget(this._doc,"window");return r.addEventListener("hashchange",n,!1),()=>r.removeEventListener("hashchange",n)}get href(){return this._location.href}get protocol(){return this._location.protocol}get hostname(){return this._location.hostname}get port(){return this._location.port}get pathname(){return this._location.pathname}get search(){return this._location.search}get hash(){return this._location.hash}set pathname(n){this._location.pathname=n}pushState(n,r,o){this._history.pushState(n,r,o)}replaceState(n,r,o){this._history.replaceState(n,r,o)}forward(){this._history.forward()}back(){this._history.back()}historyGo(n=0){this._history.go(n)}getState(){return this._history.state}};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:()=>new e,providedIn:"platform"});let i=e;return i})();function cL(i,e){if(i.length==0)return e;if(e.length==0)return i;let t=0;return i.endsWith("/")&&t++,e.startsWith("/")&&t++,t==2?i+e.substring(1):t==1?i+e:i+"/"+e}function tL(i){let e=i.match(/#|\?|$/),t=e&&e.index||i.length,n=t-(i[t-1]==="/"?1:0);return i.slice(0,n)+i.slice(t)}function Jc(i){return i&&i[0]!=="?"?"?"+i:i}var rb=(()=>{let e=class e{historyGo(n){throw new Error("")}};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:()=>te(dL),providedIn:"root"});let i=e;return i})(),mq=new ge(""),dL=(()=>{let e=class e extends rb{constructor(n,r){super(),this._platformLocation=n,this._removeListenerFns=[],this._baseHref=r??this._platformLocation.getBaseHrefFromDOM()??te(Ye).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(n){this._removeListenerFns.push(this._platformLocation.onPopState(n),this._platformLocation.onHashChange(n))}getBaseHref(){return this._baseHref}prepareExternalUrl(n){return cL(this._baseHref,n)}path(n=!1){let r=this._platformLocation.pathname+Jc(this._platformLocation.search),o=this._platformLocation.hash;return o&&n?`${r}${o}`:r}pushState(n,r,o,s){let a=this.prepareExternalUrl(o+Jc(s));this._platformLocation.pushState(n,r,a)}replaceState(n,r,o,s){let a=this.prepareExternalUrl(o+Jc(s));this._platformLocation.replaceState(n,r,a)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(n=0){this._platformLocation.historyGo?.(n)}};e.\u0275fac=function(r){return new(r||e)(X(lL),X(mq,8))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();var Pa=(()=>{let e=class e{constructor(n){this._subject=new Ie,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=n;let r=this._locationStrategy.getBaseHref();this._basePath=vq(tL(nL(r))),this._locationStrategy.onPopState(o=>{this._subject.emit({url:this.path(!0),pop:!0,state:o.state,type:o.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(n=!1){return this.normalize(this._locationStrategy.path(n))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(n,r=""){return this.path()==this.normalize(n+Jc(r))}normalize(n){return e.stripTrailingSlash(_q(this._basePath,nL(n)))}prepareExternalUrl(n){return n&&n[0]!=="/"&&(n="/"+n),this._locationStrategy.prepareExternalUrl(n)}go(n,r="",o=null){this._locationStrategy.pushState(o,"",n,r),this._notifyUrlChangeListeners(this.prepareExternalUrl(n+Jc(r)),o)}replaceState(n,r="",o=null){this._locationStrategy.replaceState(o,"",n,r),this._notifyUrlChangeListeners(this.prepareExternalUrl(n+Jc(r)),o)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(n=0){this._locationStrategy.historyGo?.(n)}onUrlChange(n){return this._urlChangeListeners.push(n),this._urlChangeSubscription??=this.subscribe(r=>{this._notifyUrlChangeListeners(r.url,r.state)}),()=>{let r=this._urlChangeListeners.indexOf(n);this._urlChangeListeners.splice(r,1),this._urlChangeListeners.length===0&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(n="",r){this._urlChangeListeners.forEach(o=>o(n,r))}subscribe(n,r,o){return this._subject.subscribe({next:n,error:r,complete:o})}};e.normalizeQueryParams=Jc,e.joinWithSlash=cL,e.stripTrailingSlash=tL,e.\u0275fac=function(r){return new(r||e)(X(rb))},e.\u0275prov=J({token:e,factory:()=>gq(),providedIn:"root"});let i=e;return i})();function gq(){return new Pa(X(rb))}function _q(i,e){if(!i||!e.startsWith(i))return e;let t=e.substring(i.length);return t===""||["/",";","?","#"].includes(t[0])?t:e}function nL(i){return i.replace(/\/index.html$/,"")}function vq(i){if(new RegExp("^(https?:)?//").test(i)){let[,t]=i.split(/\/\/[^\/]+/);return t}return i}function uL(i,e){e=encodeURIComponent(e);for(let t of i.split(";")){let n=t.indexOf("="),[r,o]=n==-1?[t,""]:[t.slice(0,n),t.slice(n+1)];if(r.trim()===e)return decodeURIComponent(o)}return null}var JE=/\s+/,iL=[],ob=(()=>{let e=class e{constructor(n,r){this._ngEl=n,this._renderer=r,this.initialClasses=iL,this.stateMap=new Map}set klass(n){this.initialClasses=n!=null?n.trim().split(JE):iL}set ngClass(n){this.rawClass=typeof n=="string"?n.trim().split(JE):n}ngDoCheck(){for(let r of this.initialClasses)this._updateState(r,!0);let n=this.rawClass;if(Array.isArray(n)||n instanceof Set)for(let r of n)this._updateState(r,!0);else if(n!=null)for(let r of Object.keys(n))this._updateState(r,!!n[r]);this._applyStateDiff()}_updateState(n,r){let o=this.stateMap.get(n);o!==void 0?(o.enabled!==r&&(o.changed=!0,o.enabled=r),o.touched=!0):this.stateMap.set(n,{enabled:r,changed:!0,touched:!0})}_applyStateDiff(){for(let n of this.stateMap){let r=n[0],o=n[1];o.changed?(this._toggleClass(r,o.enabled),o.changed=!1):o.touched||(o.enabled&&this._toggleClass(r,!1),this.stateMap.delete(r)),o.touched=!1}}_toggleClass(n,r){n=n.trim(),n.length>0&&n.split(JE).forEach(o=>{r?this._renderer.addClass(this._ngEl.nativeElement,o):this._renderer.removeClass(this._ngEl.nativeElement,o)})}};e.\u0275fac=function(r){return new(r||e)(M(Re),M(Xc))},e.\u0275dir=ze({type:e,selectors:[["","ngClass",""]],inputs:{klass:[0,"class","klass"],ngClass:"ngClass"},standalone:!0});let i=e;return i})();var e1=class{constructor(e,t,n,r){this.$implicit=e,this.ngForOf=t,this.index=n,this.count=r}get first(){return this.index===0}get last(){return this.index===this.count-1}get even(){return this.index%2===0}get odd(){return!this.even}},Si=(()=>{let e=class e{set ngForOf(n){this._ngForOf=n,this._ngForOfDirty=!0}set ngForTrackBy(n){this._trackByFn=n}get ngForTrackBy(){return this._trackByFn}constructor(n,r,o){this._viewContainer=n,this._template=r,this._differs=o,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(n){n&&(this._template=n)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;let n=this._ngForOf;if(!this._differ&&n)if(0)try{}catch{}else this._differ=this._differs.find(n).create(this.ngForTrackBy)}if(this._differ){let n=this._differ.diff(this._ngForOf);n&&this._applyChanges(n)}}_applyChanges(n){let r=this._viewContainer;n.forEachOperation((o,s,a)=>{if(o.previousIndex==null)r.createEmbeddedView(this._template,new e1(o.item,this._ngForOf,-1,-1),a===null?void 0:a);else if(a==null)r.remove(s===null?void 0:s);else if(s!==null){let l=r.get(s);r.move(l,a),rL(l,o)}});for(let o=0,s=r.length;o{let s=r.get(o.currentIndex);rL(s,o)})}static ngTemplateContextGuard(n,r){return!0}};e.\u0275fac=function(r){return new(r||e)(M(Yt),M(Hn),M(Kc))},e.\u0275dir=ze({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0});let i=e;return i})();function rL(i,e){i.context.$implicit=e.item}var Mn=(()=>{let e=class e{constructor(n,r){this._viewContainer=n,this._context=new t1,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=r}set ngIf(n){this._context.$implicit=this._context.ngIf=n,this._updateView()}set ngIfThen(n){oL("ngIfThen",n),this._thenTemplateRef=n,this._thenViewRef=null,this._updateView()}set ngIfElse(n){oL("ngIfElse",n),this._elseTemplateRef=n,this._elseViewRef=null,this._updateView()}_updateView(){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)))}static ngTemplateContextGuard(n,r){return!0}};e.\u0275fac=function(r){return new(r||e)(M(Yt),M(Hn))},e.\u0275dir=ze({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0});let i=e;return i})(),t1=class{constructor(){this.$implicit=null,this.ngIf=null}};function oL(i,e){if(!!!(!e||e.createEmbeddedView))throw new Error(`${i} must be a TemplateRef, but received '${Pr(e)}'.`)}var n1=class{constructor(e,t){this._viewContainerRef=e,this._templateRef=t,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(e){e&&!this._created?this.create():!e&&this._created&&this.destroy()}},i1=(()=>{let e=class e{constructor(){this._defaultViews=[],this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(n){this._ngSwitch=n,this._caseCount===0&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(n){this._defaultViews.push(n)}_matchCase(n){let r=n===this._ngSwitch;return this._lastCasesMatched||=r,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),r}_updateDefaultCases(n){if(this._defaultViews.length>0&&n!==this._defaultUsed){this._defaultUsed=n;for(let r of this._defaultViews)r.enforceState(n)}}};e.\u0275fac=function(r){return new(r||e)},e.\u0275dir=ze({type:e,selectors:[["","ngSwitch",""]],inputs:{ngSwitch:"ngSwitch"},standalone:!0});let i=e;return i})(),hL=(()=>{let e=class e{constructor(n,r,o){this.ngSwitch=o,o._addCase(),this._view=new n1(n,r)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}};e.\u0275fac=function(r){return new(r||e)(M(Yt),M(Hn),M(i1,9))},e.\u0275dir=ze({type:e,selectors:[["","ngSwitchCase",""]],inputs:{ngSwitchCase:"ngSwitchCase"},standalone:!0});let i=e;return i})();var Us=(()=>{let e=class e{constructor(n){this._viewContainerRef=n,this._viewRef=null,this.ngTemplateOutletContext=null,this.ngTemplateOutlet=null,this.ngTemplateOutletInjector=null}ngOnChanges(n){if(this._shouldRecreateView(n)){let r=this._viewContainerRef;if(this._viewRef&&r.remove(r.indexOf(this._viewRef)),!this.ngTemplateOutlet){this._viewRef=null;return}let o=this._createContextForwardProxy();this._viewRef=r.createEmbeddedView(this.ngTemplateOutlet,o,{injector:this.ngTemplateOutletInjector??void 0})}}_shouldRecreateView(n){return!!n.ngTemplateOutlet||!!n.ngTemplateOutletInjector}_createContextForwardProxy(){return new Proxy({},{set:(n,r,o)=>this.ngTemplateOutletContext?Reflect.set(this.ngTemplateOutletContext,r,o):!1,get:(n,r,o)=>{if(this.ngTemplateOutletContext)return Reflect.get(this.ngTemplateOutletContext,r,o)}})}};e.\u0275fac=function(r){return new(r||e)(M(Yt))},e.\u0275dir=ze({type:e,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet",ngTemplateOutletInjector:"ngTemplateOutletInjector"},standalone:!0,features:[dn]});let i=e;return i})();var Ae=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=ot({type:e}),e.\u0275inj=rt({});let i=e;return i})(),r1="browser",bq="server";function pL(i){return i===r1}function o1(i){return i===bq}var nb=class{};var a1=class{};var rh=class i{constructor(e){this.normalizedNames=new Map,this.lazyUpdate=null,e?typeof e=="string"?this.lazyInit=()=>{this.headers=new Map,e.split(` -`).forEach(t=>{let n=t.indexOf(":");if(n>0){let r=t.slice(0,n),o=r.toLowerCase(),s=t.slice(n+1).trim();this.maybeSetNormalizedName(r,o),this.headers.has(o)?this.headers.get(o).push(s):this.headers.set(o,[s])}})}:typeof Headers<"u"&&e instanceof Headers?(this.headers=new Map,e.forEach((t,n)=>{this.setHeaderEntries(n,t)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(e).forEach(([t,n])=>{this.setHeaderEntries(t,n)})}:this.headers=new Map}has(e){return this.init(),this.headers.has(e.toLowerCase())}get(e){this.init();let t=this.headers.get(e.toLowerCase());return t&&t.length>0?t[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(e){return this.init(),this.headers.get(e.toLowerCase())||null}append(e,t){return this.clone({name:e,value:t,op:"a"})}set(e,t){return this.clone({name:e,value:t,op:"s"})}delete(e,t){return this.clone({name:e,value:t,op:"d"})}maybeSetNormalizedName(e,t){this.normalizedNames.has(t)||this.normalizedNames.set(t,e)}init(){this.lazyInit&&(this.lazyInit instanceof i?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(e=>this.applyUpdate(e)),this.lazyUpdate=null))}copyFrom(e){e.init(),Array.from(e.headers.keys()).forEach(t=>{this.headers.set(t,e.headers.get(t)),this.normalizedNames.set(t,e.normalizedNames.get(t))})}clone(e){let t=new i;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof i?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([e]),t}applyUpdate(e){let t=e.name.toLowerCase();switch(e.op){case"a":case"s":let n=e.value;if(typeof n=="string"&&(n=[n]),n.length===0)return;this.maybeSetNormalizedName(e.name,t);let r=(e.op==="a"?this.headers.get(t):void 0)||[];r.push(...n),this.headers.set(t,r);break;case"d":let o=e.value;if(!o)this.headers.delete(t),this.normalizedNames.delete(t);else{let s=this.headers.get(t);if(!s)return;s=s.filter(a=>o.indexOf(a)===-1),s.length===0?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,s)}break}}setHeaderEntries(e,t){let n=(Array.isArray(t)?t:[t]).map(o=>o.toString()),r=e.toLowerCase();this.headers.set(r,n),this.maybeSetNormalizedName(e,r)}forEach(e){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>e(this.normalizedNames.get(t),this.headers.get(t)))}};var l1=class{encodeKey(e){return fL(e)}encodeValue(e){return fL(e)}decodeKey(e){return decodeURIComponent(e)}decodeValue(e){return decodeURIComponent(e)}};function yq(i,e){let t=new Map;return i.length>0&&i.replace(/^\?/,"").split("&").forEach(r=>{let o=r.indexOf("="),[s,a]=o==-1?[e.decodeKey(r),""]:[e.decodeKey(r.slice(0,o)),e.decodeValue(r.slice(o+1))],l=t.get(s)||[];l.push(a),t.set(s,l)}),t}var xq=/%(\d[a-f0-9])/gi,wq={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function fL(i){return encodeURIComponent(i).replace(xq,(e,t)=>wq[t]??e)}function sb(i){return`${i}`}var Ol=class i{constructor(e={}){if(this.updates=null,this.cloneFrom=null,this.encoder=e.encoder||new l1,e.fromString){if(e.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=yq(e.fromString,this.encoder)}else e.fromObject?(this.map=new Map,Object.keys(e.fromObject).forEach(t=>{let n=e.fromObject[t],r=Array.isArray(n)?n.map(sb):[sb(n)];this.map.set(t,r)})):this.map=null}has(e){return this.init(),this.map.has(e)}get(e){this.init();let t=this.map.get(e);return t?t[0]:null}getAll(e){return this.init(),this.map.get(e)||null}keys(){return this.init(),Array.from(this.map.keys())}append(e,t){return this.clone({param:e,value:t,op:"a"})}appendAll(e){let t=[];return Object.keys(e).forEach(n=>{let r=e[n];Array.isArray(r)?r.forEach(o=>{t.push({param:n,value:o,op:"a"})}):t.push({param:n,value:r,op:"a"})}),this.clone(t)}set(e,t){return this.clone({param:e,value:t,op:"s"})}delete(e,t){return this.clone({param:e,value:t,op:"d"})}toString(){return this.init(),this.keys().map(e=>{let t=this.encoder.encodeKey(e);return this.map.get(e).map(n=>t+"="+this.encoder.encodeValue(n)).join("&")}).filter(e=>e!=="").join("&")}clone(e){let t=new i({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(e),t}init(){this.map===null&&(this.map=new Map),this.cloneFrom!==null&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(e=>this.map.set(e,this.cloneFrom.map.get(e))),this.updates.forEach(e=>{switch(e.op){case"a":case"s":let t=(e.op==="a"?this.map.get(e.param):void 0)||[];t.push(sb(e.value)),this.map.set(e.param,t);break;case"d":if(e.value!==void 0){let n=this.map.get(e.param)||[],r=n.indexOf(sb(e.value));r!==-1&&n.splice(r,1),n.length>0?this.map.set(e.param,n):this.map.delete(e.param)}else{this.map.delete(e.param);break}}}),this.cloneFrom=this.updates=null)}};var c1=class{constructor(){this.map=new Map}set(e,t){return this.map.set(e,t),this}get(e){return this.map.has(e)||this.map.set(e,e.defaultValue()),this.map.get(e)}delete(e){return this.map.delete(e),this}has(e){return this.map.has(e)}keys(){return this.map.keys()}};function Cq(i){switch(i){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}function mL(i){return typeof ArrayBuffer<"u"&&i instanceof ArrayBuffer}function gL(i){return typeof Blob<"u"&&i instanceof Blob}function _L(i){return typeof FormData<"u"&&i instanceof FormData}function Sq(i){return typeof URLSearchParams<"u"&&i instanceof URLSearchParams}var Zf=class i{constructor(e,t,n,r){this.url=t,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=e.toUpperCase();let o;if(Cq(this.method)||r?(this.body=n!==void 0?n:null,o=r):o=n,o&&(this.reportProgress=!!o.reportProgress,this.withCredentials=!!o.withCredentials,o.responseType&&(this.responseType=o.responseType),o.headers&&(this.headers=o.headers),o.context&&(this.context=o.context),o.params&&(this.params=o.params),this.transferCache=o.transferCache),this.headers??=new rh,this.context??=new c1,!this.params)this.params=new Ol,this.urlWithParams=t;else{let s=this.params.toString();if(s.length===0)this.urlWithParams=t;else{let a=t.indexOf("?"),l=a===-1?"?":ah.set(p,e.setHeaders[p]),c)),e.setParams&&(d=Object.keys(e.setParams).reduce((h,p)=>h.set(p,e.setParams[p]),d)),new i(t,n,s,{params:d,headers:c,context:u,reportProgress:l,responseType:r,withCredentials:a,transferCache:o})}},vL=function(i){return i[i.Sent=0]="Sent",i[i.UploadProgress=1]="UploadProgress",i[i.ResponseHeader=2]="ResponseHeader",i[i.DownloadProgress=3]="DownloadProgress",i[i.Response=4]="Response",i[i.User=5]="User",i}(vL||{}),d1=class{constructor(e,t=200,n="OK"){this.headers=e.headers||new rh,this.status=e.status!==void 0?e.status:t,this.statusText=e.statusText||n,this.url=e.url||null,this.ok=this.status>=200&&this.status<300}};var u1=class i extends d1{constructor(e={}){super(e),this.type=vL.Response,this.body=e.body!==void 0?e.body:null}clone(e={}){return new i({body:e.body!==void 0?e.body:this.body,headers:e.headers||this.headers,status:e.status!==void 0?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}};function s1(i,e){return{body:e,headers:i.headers,context:i.context,observe:i.observe,params:i.params,reportProgress:i.reportProgress,responseType:i.responseType,withCredentials:i.withCredentials,transferCache:i.transferCache}}var bL=(()=>{let e=class e{constructor(n){this.handler=n}request(n,r,o={}){let s;if(n instanceof Zf)s=n;else{let c;o.headers instanceof rh?c=o.headers:c=new rh(o.headers);let d;o.params&&(o.params instanceof Ol?d=o.params:d=new Ol({fromObject:o.params})),s=new Zf(n,r,o.body!==void 0?o.body:null,{headers:c,context:o.context,params:d,reportProgress:o.reportProgress,responseType:o.responseType||"json",withCredentials:o.withCredentials,transferCache:o.transferCache})}let a=Ke(s).pipe(gl(c=>this.handler.handle(c)));if(n instanceof Zf||o.observe==="events")return a;let l=a.pipe(jt(c=>c instanceof u1));switch(o.observe||"body"){case"body":switch(s.responseType){case"arraybuffer":return l.pipe(Je(c=>{if(c.body!==null&&!(c.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return c.body}));case"blob":return l.pipe(Je(c=>{if(c.body!==null&&!(c.body instanceof Blob))throw new Error("Response is not a Blob.");return c.body}));case"text":return l.pipe(Je(c=>{if(c.body!==null&&typeof c.body!="string")throw new Error("Response is not a string.");return c.body}));case"json":default:return l.pipe(Je(c=>c.body))}case"response":return l;default:throw new Error(`Unreachable: unhandled observe type ${o.observe}}`)}}delete(n,r={}){return this.request("DELETE",n,r)}get(n,r={}){return this.request("GET",n,r)}head(n,r={}){return this.request("HEAD",n,r)}jsonp(n,r){return this.request("JSONP",n,{params:new Ol().append(r,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(n,r={}){return this.request("OPTIONS",n,r)}patch(n,r,o={}){return this.request("PATCH",n,s1(o,r))}post(n,r,o={}){return this.request("POST",n,s1(o,r))}put(n,r,o={}){return this.request("PUT",n,s1(o,r))}};e.\u0275fac=function(r){return new(r||e)(X(a1))},e.\u0275prov=J({token:e,factory:e.\u0275fac});let i=e;return i})();var f1=class extends tb{constructor(){super(...arguments),this.supportsDOMEvents=!0}},m1=class i extends f1{static makeCurrent(){aL(new i)}onAndCancel(e,t,n){return e.addEventListener(t,n),()=>{e.removeEventListener(t,n)}}dispatchEvent(e,t){e.dispatchEvent(t)}remove(e){e.parentNode&&e.parentNode.removeChild(e)}createElement(e,t){return t=t||this.getDefaultDocument(),t.createElement(e)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(e){return e.nodeType===Node.ELEMENT_NODE}isShadowRoot(e){return e instanceof DocumentFragment}getGlobalEventTarget(e,t){return t==="window"?window:t==="document"?e:t==="body"?e.body:null}getBaseHref(e){let t=Eq();return t==null?null:Iq(t)}resetBaseElement(){Qf=null}getUserAgent(){return window.navigator.userAgent}getCookie(e){return uL(document.cookie,e)}},Qf=null;function Eq(){return Qf=Qf||document.querySelector("base"),Qf?Qf.getAttribute("href"):null}function Iq(i){return new URL(i,document.baseURI).pathname}var Tq=(()=>{let e=class e{build(){return new XMLHttpRequest}};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:e.\u0275fac});let i=e;return i})(),ab=new ge(""),wL=(()=>{let e=class e{constructor(n,r){this._zone=r,this._eventNameToPlugin=new Map,n.forEach(o=>{o.manager=this}),this._plugins=n.slice().reverse()}addEventListener(n,r,o){return this._findPluginFor(r).addEventListener(n,r,o)}getZone(){return this._zone}_findPluginFor(n){let r=this._eventNameToPlugin.get(n);if(r)return r;if(r=this._plugins.find(s=>s.supports(n)),!r)throw new Oe(5101,!1);return this._eventNameToPlugin.set(n,r),r}};e.\u0275fac=function(r){return new(r||e)(X(ab),X(Le))},e.\u0275prov=J({token:e,factory:e.\u0275fac});let i=e;return i})(),Kf=class{constructor(e){this._doc=e}},h1="ng-app-id",CL=(()=>{let e=class e{constructor(n,r,o,s={}){this.doc=n,this.appId=r,this.nonce=o,this.platformId=s,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=o1(s),this.resetHostNodes()}addStyles(n){for(let r of n)this.changeUsageCount(r,1)===1&&this.onStyleAdded(r)}removeStyles(n){for(let r of n)this.changeUsageCount(r,-1)<=0&&this.onStyleRemoved(r)}ngOnDestroy(){let n=this.styleNodesInDOM;n&&(n.forEach(r=>r.remove()),n.clear());for(let r of this.getAllStyles())this.onStyleRemoved(r);this.resetHostNodes()}addHost(n){this.hostNodes.add(n);for(let r of this.getAllStyles())this.addStyleToHost(n,r)}removeHost(n){this.hostNodes.delete(n)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(n){for(let r of this.hostNodes)this.addStyleToHost(r,n)}onStyleRemoved(n){let r=this.styleRef;r.get(n)?.elements?.forEach(o=>o.remove()),r.delete(n)}collectServerRenderedStyles(){let n=this.doc.head?.querySelectorAll(`style[${h1}="${this.appId}"]`);if(n?.length){let r=new Map;return n.forEach(o=>{o.textContent!=null&&r.set(o.textContent,o)}),r}return null}changeUsageCount(n,r){let o=this.styleRef;if(o.has(n)){let s=o.get(n);return s.usage+=r,s.usage}return o.set(n,{usage:r,elements:[]}),r}getStyleElement(n,r){let o=this.styleNodesInDOM,s=o?.get(r);if(s?.parentNode===n)return o.delete(r),s.removeAttribute(h1),s;{let a=this.doc.createElement("style");return this.nonce&&a.setAttribute("nonce",this.nonce),a.textContent=r,this.platformIsServer&&a.setAttribute(h1,this.appId),n.appendChild(a),a}}addStyleToHost(n,r){let o=this.getStyleElement(n,r),s=this.styleRef,a=s.get(r)?.elements;a?a.push(o):s.set(r,{elements:[o],usage:1})}resetHostNodes(){let n=this.hostNodes;n.clear(),n.add(this.doc.head)}};e.\u0275fac=function(r){return new(r||e)(X(Ye),X(Gf),X(jf,8),X(Ia))},e.\u0275prov=J({token:e,factory:e.\u0275fac});let i=e;return i})(),p1={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/Math/MathML"},_1=/%COMP%/g,SL="%COMP%",Dq=`_nghost-${SL}`,Pq=`_ngcontent-${SL}`,Oq=!0,Rq=new ge("",{providedIn:"root",factory:()=>Oq});function Aq(i){return Pq.replace(_1,i)}function Nq(i){return Dq.replace(_1,i)}function ML(i,e){return e.map(t=>t.replace(_1,i))}var lb=(()=>{let e=class e{constructor(n,r,o,s,a,l,c,d=null){this.eventManager=n,this.sharedStylesHost=r,this.appId=o,this.removeStylesOnCompDestroy=s,this.doc=a,this.platformId=l,this.ngZone=c,this.nonce=d,this.rendererByCompId=new Map,this.platformIsServer=o1(l),this.defaultRenderer=new Jf(n,a,c,this.platformIsServer)}createRenderer(n,r){if(!n||!r)return this.defaultRenderer;this.platformIsServer&&r.encapsulation===Ns.ShadowDom&&(r=wt(Z({},r),{encapsulation:Ns.Emulated}));let o=this.getOrCreateRenderer(n,r);return o instanceof cb?o.applyToHost(n):o instanceof em&&o.applyStyles(),o}getOrCreateRenderer(n,r){let o=this.rendererByCompId,s=o.get(r.id);if(!s){let a=this.doc,l=this.ngZone,c=this.eventManager,d=this.sharedStylesHost,u=this.removeStylesOnCompDestroy,h=this.platformIsServer;switch(r.encapsulation){case Ns.Emulated:s=new cb(c,d,r,this.appId,u,a,l,h);break;case Ns.ShadowDom:return new g1(c,d,n,r,a,l,this.nonce,h);default:s=new em(c,d,r,u,a,l,h);break}o.set(r.id,s)}return s}ngOnDestroy(){this.rendererByCompId.clear()}};e.\u0275fac=function(r){return new(r||e)(X(wL),X(CL),X(Gf),X(Rq),X(Ye),X(Ia),X(Le),X(jf))},e.\u0275prov=J({token:e,factory:e.\u0275fac});let i=e;return i})(),Jf=class{constructor(e,t,n,r){this.eventManager=e,this.doc=t,this.ngZone=n,this.platformIsServer=r,this.data=Object.create(null),this.throwOnSyntheticProps=!0,this.destroyNode=null}destroy(){}createElement(e,t){return t?this.doc.createElementNS(p1[t]||t,e):this.doc.createElement(e)}createComment(e){return this.doc.createComment(e)}createText(e){return this.doc.createTextNode(e)}appendChild(e,t){(yL(e)?e.content:e).appendChild(t)}insertBefore(e,t,n){e&&(yL(e)?e.content:e).insertBefore(t,n)}removeChild(e,t){e&&e.removeChild(t)}selectRootElement(e,t){let n=typeof e=="string"?this.doc.querySelector(e):e;if(!n)throw new Oe(-5104,!1);return t||(n.textContent=""),n}parentNode(e){return e.parentNode}nextSibling(e){return e.nextSibling}setAttribute(e,t,n,r){if(r){t=r+":"+t;let o=p1[r];o?e.setAttributeNS(o,t,n):e.setAttribute(t,n)}else e.setAttribute(t,n)}removeAttribute(e,t,n){if(n){let r=p1[n];r?e.removeAttributeNS(r,t):e.removeAttribute(`${n}:${t}`)}else e.removeAttribute(t)}addClass(e,t){e.classList.add(t)}removeClass(e,t){e.classList.remove(t)}setStyle(e,t,n,r){r&(Ma.DashCase|Ma.Important)?e.style.setProperty(t,n,r&Ma.Important?"important":""):e.style[t]=n}removeStyle(e,t,n){n&Ma.DashCase?e.style.removeProperty(t):e.style[t]=""}setProperty(e,t,n){e!=null&&(e[t]=n)}setValue(e,t){e.nodeValue=t}listen(e,t,n){if(typeof e=="string"&&(e=Da().getGlobalEventTarget(this.doc,e),!e))throw new Error(`Unsupported event target ${e} for event ${t}`);return this.eventManager.addEventListener(e,t,this.decoratePreventDefault(n))}decoratePreventDefault(e){return t=>{if(t==="__ngUnwrap__")return e;(this.platformIsServer?this.ngZone.runGuarded(()=>e(t)):e(t))===!1&&t.preventDefault()}}};function yL(i){return i.tagName==="TEMPLATE"&&i.content!==void 0}var g1=class extends Jf{constructor(e,t,n,r,o,s,a,l){super(e,o,s,l),this.sharedStylesHost=t,this.hostEl=n,this.shadowRoot=n.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);let c=ML(r.id,r.styles);for(let d of c){let u=document.createElement("style");a&&u.setAttribute("nonce",a),u.textContent=d,this.shadowRoot.appendChild(u)}}nodeOrShadowRoot(e){return e===this.hostEl?this.shadowRoot:e}appendChild(e,t){return super.appendChild(this.nodeOrShadowRoot(e),t)}insertBefore(e,t,n){return super.insertBefore(this.nodeOrShadowRoot(e),t,n)}removeChild(e,t){return super.removeChild(this.nodeOrShadowRoot(e),t)}parentNode(e){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(e)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}},em=class extends Jf{constructor(e,t,n,r,o,s,a,l){super(e,o,s,a),this.sharedStylesHost=t,this.removeStylesOnCompDestroy=r,this.styles=l?ML(l,n.styles):n.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}},cb=class extends em{constructor(e,t,n,r,o,s,a,l){let c=r+"-"+n.id;super(e,t,n,o,s,a,l,c),this.contentAttr=Aq(c),this.hostAttr=Nq(c)}applyToHost(e){this.applyStyles(),this.setAttribute(e,this.hostAttr,"")}createElement(e,t){let n=super.createElement(e,t);return super.setAttribute(n,this.contentAttr,""),n}},kq=(()=>{let e=class e extends Kf{constructor(n){super(n)}supports(n){return!0}addEventListener(n,r,o){return n.addEventListener(r,o,!1),()=>this.removeEventListener(n,r,o)}removeEventListener(n,r,o){return n.removeEventListener(r,o)}};e.\u0275fac=function(r){return new(r||e)(X(Ye))},e.\u0275prov=J({token:e,factory:e.\u0275fac});let i=e;return i})(),Lq=(()=>{let e=class e extends Kf{constructor(n){super(n),this.delegate=te(J2,{optional:!0})}supports(n){return this.delegate?this.delegate.supports(n):!1}addEventListener(n,r,o){return this.delegate.addEventListener(n,r,o)}removeEventListener(n,r,o){return this.delegate.removeEventListener(n,r,o)}};e.\u0275fac=function(r){return new(r||e)(X(Ye))},e.\u0275prov=J({token:e,factory:e.\u0275fac});let i=e;return i})(),xL=["alt","control","meta","shift"],Fq={"\b":"Backspace"," ":"Tab","\x7F":"Delete","\x1B":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},Bq={alt:i=>i.altKey,control:i=>i.ctrlKey,meta:i=>i.metaKey,shift:i=>i.shiftKey},Vq=(()=>{let e=class e extends Kf{constructor(n){super(n)}supports(n){return e.parseEventName(n)!=null}addEventListener(n,r,o){let s=e.parseEventName(r),a=e.eventCallback(s.fullKey,o,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Da().onAndCancel(n,s.domEventName,a))}static parseEventName(n){let r=n.toLowerCase().split("."),o=r.shift();if(r.length===0||!(o==="keydown"||o==="keyup"))return null;let s=e._normalizeKey(r.pop()),a="",l=r.indexOf("code");if(l>-1&&(r.splice(l,1),a="code."),xL.forEach(d=>{let u=r.indexOf(d);u>-1&&(r.splice(u,1),a+=d+".")}),a+=s,r.length!=0||s.length===0)return null;let c={};return c.domEventName=o,c.fullKey=a,c}static matchEventFullKeyCode(n,r){let o=Fq[n.key]||n.key,s="";return r.indexOf("code.")>-1&&(o=n.code,s="code."),o==null||!o?!1:(o=o.toLowerCase(),o===" "?o="space":o==="."&&(o="dot"),xL.forEach(a=>{if(a!==o){let l=Bq[a];l(n)&&(s+=a+".")}}),s+=o,s===r)}static eventCallback(n,r,o){return s=>{e.matchEventFullKeyCode(s,n)&&o.runGuarded(()=>r(s))}}static _normalizeKey(n){return n==="esc"?"escape":n}};e.\u0275fac=function(r){return new(r||e)(X(Ye))},e.\u0275prov=J({token:e,factory:e.\u0275fac});let i=e;return i})();function EL(i,e){return K2(Z({rootComponent:i},zq(e)))}function zq(i){return{appProviders:[...Wq,...i?.providers??[]],platformProviders:jq}}function Uq(){m1.makeCurrent()}function Hq(){return new Rr}function Gq(){return _k(document),document}var jq=[{provide:Ia,useValue:r1},{provide:CE,useValue:Uq,multi:!0},{provide:Ye,useFactory:Gq,deps:[]}];var Wq=[{provide:P0,useValue:"root"},{provide:Rr,useFactory:Hq,deps:[]},{provide:ab,useClass:kq,multi:!0,deps:[Ye,Le,Ia]},{provide:ab,useClass:Vq,multi:!0,deps:[Ye]},{provide:ab,useClass:Lq,multi:!0},lb,CL,wL,{provide:Il,useExisting:lb},{provide:nb,useClass:Tq,deps:[]},[]];var IL=(()=>{let e=class e{constructor(n){this._doc=n}getTitle(){return this._doc.title}setTitle(n){this._doc.title=n||""}};e.\u0275fac=function(r){return new(r||e)(X(Ye))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();var v1=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:function(r){let o=null;return r?o=new(r||e):o=X($q),o},providedIn:"root"});let i=e;return i})(),$q=(()=>{let e=class e extends v1{constructor(n){super(),this._doc=n}sanitize(n,r){if(r==null)return null;switch(n){case Ar.NONE:return r;case Ar.HTML:return Yc(r,"HTML")?zs(r):Dk(this._doc,String(r)).toString();case Ar.STYLE:return Yc(r,"Style")?zs(r):r;case Ar.SCRIPT:if(Yc(r,"Script"))return zs(r);throw new Oe(5200,!1);case Ar.URL:return Yc(r,"URL")?zs(r):j0(String(r));case Ar.RESOURCE_URL:if(Yc(r,"ResourceURL"))return zs(r);throw new Oe(5201,!1);default:throw new Oe(5202,!1)}}bypassSecurityTrustHtml(n){return bk(n)}bypassSecurityTrustStyle(n){return yk(n)}bypassSecurityTrustScript(n){return xk(n)}bypassSecurityTrustUrl(n){return wk(n)}bypassSecurityTrustResourceUrl(n){return Ck(n)}};e.\u0275fac=function(r){return new(r||e)(X(Ye))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();var Zt="primary",_m=Symbol("RouteTitle"),C1=class{constructor(e){this.params=e||{}}has(e){return Object.prototype.hasOwnProperty.call(this.params,e)}get(e){if(this.has(e)){let t=this.params[e];return Array.isArray(t)?t[0]:t}return null}getAll(e){if(this.has(e)){let t=this.params[e];return Array.isArray(t)?t:[t]}return[]}get keys(){return Object.keys(this.params)}};function dh(i){return new C1(i)}function qq(i,e,t){let n=t.path.split("/");if(n.length>i.length||t.pathMatch==="full"&&(e.hasChildren()||n.lengthn[o]===r)}else return i===e}function FL(i){return i.length>0?i[i.length-1]:null}function Al(i){return Nc(i)?i:Qc(i)?Kn(Promise.resolve(i)):Ke(i)}var Xq={exact:VL,subset:zL},BL={exact:Zq,subset:Qq,ignored:()=>!0};function DL(i,e,t){return Xq[t.paths](i.root,e.root,t.matrixParams)&&BL[t.queryParams](i.queryParams,e.queryParams)&&!(t.fragment==="exact"&&i.fragment!==e.fragment)}function Zq(i,e){return Hs(i,e)}function VL(i,e,t){if(!td(i.segments,e.segments)||!hb(i.segments,e.segments,t)||i.numberOfChildren!==e.numberOfChildren)return!1;for(let n in e.children)if(!i.children[n]||!VL(i.children[n],e.children[n],t))return!1;return!0}function Qq(i,e){return Object.keys(e).length<=Object.keys(i).length&&Object.keys(e).every(t=>LL(i[t],e[t]))}function zL(i,e,t){return UL(i,e,e.segments,t)}function UL(i,e,t,n){if(i.segments.length>t.length){let r=i.segments.slice(0,t.length);return!(!td(r,t)||e.hasChildren()||!hb(r,t,n))}else if(i.segments.length===t.length){if(!td(i.segments,t)||!hb(i.segments,t,n))return!1;for(let r in e.children)if(!i.children[r]||!zL(i.children[r],e.children[r],n))return!1;return!0}else{let r=t.slice(0,i.segments.length),o=t.slice(i.segments.length);return!td(i.segments,r)||!hb(i.segments,r,n)||!i.children[Zt]?!1:UL(i.children[Zt],e,o,n)}}function hb(i,e,t){return e.every((n,r)=>BL[t](i[r].parameters,n.parameters))}var Ra=class{constructor(e=new En([],{}),t={},n=null){this.root=e,this.queryParams=t,this.fragment=n}get queryParamMap(){return this._queryParamMap??=dh(this.queryParams),this._queryParamMap}toString(){return eY.serialize(this)}},En=class{constructor(e,t){this.segments=e,this.children=t,this.parent=null,Object.values(t).forEach(n=>n.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return pb(this)}},ed=class{constructor(e,t){this.path=e,this.parameters=t}get parameterMap(){return this._parameterMap??=dh(this.parameters),this._parameterMap}toString(){return GL(this)}};function Kq(i,e){return td(i,e)&&i.every((t,n)=>Hs(t.parameters,e[n].parameters))}function td(i,e){return i.length!==e.length?!1:i.every((t,n)=>t.path===e[n].path)}function Jq(i,e){let t=[];return Object.entries(i.children).forEach(([n,r])=>{n===Zt&&(t=t.concat(e(r,n)))}),Object.entries(i.children).forEach(([n,r])=>{n!==Zt&&(t=t.concat(e(r,n)))}),t}var Z1=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:()=>new am,providedIn:"root"});let i=e;return i})(),am=class{parse(e){let t=new E1(e);return new Ra(t.parseRootSegment(),t.parseQueryParams(),t.parseFragment())}serialize(e){let t=`/${tm(e.root,!0)}`,n=iY(e.queryParams),r=typeof e.fragment=="string"?`#${tY(e.fragment)}`:"";return`${t}${n}${r}`}},eY=new am;function pb(i){return i.segments.map(e=>GL(e)).join("/")}function tm(i,e){if(!i.hasChildren())return pb(i);if(e){let t=i.children[Zt]?tm(i.children[Zt],!1):"",n=[];return Object.entries(i.children).forEach(([r,o])=>{r!==Zt&&n.push(`${r}:${tm(o,!1)}`)}),n.length>0?`${t}(${n.join("//")})`:t}else{let t=Jq(i,(n,r)=>r===Zt?[tm(i.children[Zt],!1)]:[`${r}:${tm(n,!1)}`]);return Object.keys(i.children).length===1&&i.children[Zt]!=null?`${pb(i)}/${t[0]}`:`${pb(i)}/(${t.join("//")})`}}function HL(i){return encodeURIComponent(i).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function db(i){return HL(i).replace(/%3B/gi,";")}function tY(i){return encodeURI(i)}function M1(i){return HL(i).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function fb(i){return decodeURIComponent(i)}function PL(i){return fb(i.replace(/\+/g,"%20"))}function GL(i){return`${M1(i.path)}${nY(i.parameters)}`}function nY(i){return Object.entries(i).map(([e,t])=>`;${M1(e)}=${M1(t)}`).join("")}function iY(i){let e=Object.entries(i).map(([t,n])=>Array.isArray(n)?n.map(r=>`${db(t)}=${db(r)}`).join("&"):`${db(t)}=${db(n)}`).filter(t=>t);return e.length?`?${e.join("&")}`:""}var rY=/^[^\/()?;#]+/;function b1(i){let e=i.match(rY);return e?e[0]:""}var oY=/^[^\/()?;=#]+/;function sY(i){let e=i.match(oY);return e?e[0]:""}var aY=/^[^=?&#]+/;function lY(i){let e=i.match(aY);return e?e[0]:""}var cY=/^[^&#]+/;function dY(i){let e=i.match(cY);return e?e[0]:""}var E1=class{constructor(e){this.url=e,this.remaining=e}parseRootSegment(){return this.consumeOptional("/"),this.remaining===""||this.peekStartsWith("?")||this.peekStartsWith("#")?new En([],{}):new En([],this.parseChildren())}parseQueryParams(){let e={};if(this.consumeOptional("?"))do this.parseQueryParam(e);while(this.consumeOptional("&"));return e}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(this.remaining==="")return{};this.consumeOptional("/");let e=[];for(this.peekStartsWith("(")||e.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),e.push(this.parseSegment());let t={};this.peekStartsWith("/(")&&(this.capture("/"),t=this.parseParens(!0));let n={};return this.peekStartsWith("(")&&(n=this.parseParens(!1)),(e.length>0||Object.keys(t).length>0)&&(n[Zt]=new En(e,t)),n}parseSegment(){let e=b1(this.remaining);if(e===""&&this.peekStartsWith(";"))throw new Oe(4009,!1);return this.capture(e),new ed(fb(e),this.parseMatrixParams())}parseMatrixParams(){let e={};for(;this.consumeOptional(";");)this.parseParam(e);return e}parseParam(e){let t=sY(this.remaining);if(!t)return;this.capture(t);let n="";if(this.consumeOptional("=")){let r=b1(this.remaining);r&&(n=r,this.capture(n))}e[fb(t)]=fb(n)}parseQueryParam(e){let t=lY(this.remaining);if(!t)return;this.capture(t);let n="";if(this.consumeOptional("=")){let s=dY(this.remaining);s&&(n=s,this.capture(n))}let r=PL(t),o=PL(n);if(e.hasOwnProperty(r)){let s=e[r];Array.isArray(s)||(s=[s],e[r]=s),s.push(o)}else e[r]=o}parseParens(e){let t={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){let n=b1(this.remaining),r=this.remaining[n.length];if(r!=="/"&&r!==")"&&r!==";")throw new Oe(4010,!1);let o;n.indexOf(":")>-1?(o=n.slice(0,n.indexOf(":")),this.capture(o),this.capture(":")):e&&(o=Zt);let s=this.parseChildren();t[o]=Object.keys(s).length===1?s[Zt]:new En([],s),this.consumeOptional("//")}return t}peekStartsWith(e){return this.remaining.startsWith(e)}consumeOptional(e){return this.peekStartsWith(e)?(this.remaining=this.remaining.substring(e.length),!0):!1}capture(e){if(!this.consumeOptional(e))throw new Oe(4011,!1)}};function jL(i){return i.segments.length>0?new En([],{[Zt]:i}):i}function WL(i){let e={};for(let[n,r]of Object.entries(i.children)){let o=WL(r);if(n===Zt&&o.segments.length===0&&o.hasChildren())for(let[s,a]of Object.entries(o.children))e[s]=a;else(o.segments.length>0||o.hasChildren())&&(e[n]=o)}let t=new En(i.segments,e);return uY(t)}function uY(i){if(i.numberOfChildren===1&&i.children[Zt]){let e=i.children[Zt];return new En(i.segments.concat(e.segments),e.children)}return i}function lm(i){return i instanceof Ra}function hY(i,e,t=null,n=null){let r=$L(i);return qL(r,e,t,n)}function $L(i){let e;function t(o){let s={};for(let l of o.children){let c=t(l);s[l.outlet]=c}let a=new En(o.url,s);return o===i&&(e=a),a}let n=t(i.root),r=jL(n);return e??r}function qL(i,e,t,n){let r=i;for(;r.parent;)r=r.parent;if(e.length===0)return y1(r,r,r,t,n);let o=pY(e);if(o.toRoot())return y1(r,r,new En([],{}),t,n);let s=fY(o,r,i),a=s.processChildren?rm(s.segmentGroup,s.index,o.commands):XL(s.segmentGroup,s.index,o.commands);return y1(r,s.segmentGroup,a,t,n)}function mb(i){return typeof i=="object"&&i!=null&&!i.outlets&&!i.segmentPath}function cm(i){return typeof i=="object"&&i!=null&&i.outlets}function y1(i,e,t,n,r){let o={};n&&Object.entries(n).forEach(([l,c])=>{o[l]=Array.isArray(c)?c.map(d=>`${d}`):`${c}`});let s;i===e?s=t:s=YL(i,e,t);let a=jL(WL(s));return new Ra(a,o,r)}function YL(i,e,t){let n={};return Object.entries(i.children).forEach(([r,o])=>{o===e?n[r]=t:n[r]=YL(o,e,t)}),new En(i.segments,n)}var gb=class{constructor(e,t,n){if(this.isAbsolute=e,this.numberOfDoubleDots=t,this.commands=n,e&&n.length>0&&mb(n[0]))throw new Oe(4003,!1);let r=n.find(cm);if(r&&r!==FL(n))throw new Oe(4004,!1)}toRoot(){return this.isAbsolute&&this.commands.length===1&&this.commands[0]=="/"}};function pY(i){if(typeof i[0]=="string"&&i.length===1&&i[0]==="/")return new gb(!0,0,i);let e=0,t=!1,n=i.reduce((r,o,s)=>{if(typeof o=="object"&&o!=null){if(o.outlets){let a={};return Object.entries(o.outlets).forEach(([l,c])=>{a[l]=typeof c=="string"?c.split("/"):c}),[...r,{outlets:a}]}if(o.segmentPath)return[...r,o.segmentPath]}return typeof o!="string"?[...r,o]:s===0?(o.split("/").forEach((a,l)=>{l==0&&a==="."||(l==0&&a===""?t=!0:a===".."?e++:a!=""&&r.push(a))}),r):[...r,o]},[]);return new gb(t,e,n)}var ah=class{constructor(e,t,n){this.segmentGroup=e,this.processChildren=t,this.index=n}};function fY(i,e,t){if(i.isAbsolute)return new ah(e,!0,0);if(!t)return new ah(e,!1,NaN);if(t.parent===null)return new ah(t,!0,0);let n=mb(i.commands[0])?0:1,r=t.segments.length-1+n;return mY(t,r,i.numberOfDoubleDots)}function mY(i,e,t){let n=i,r=e,o=t;for(;o>r;){if(o-=r,n=n.parent,!n)throw new Oe(4005,!1);r=n.segments.length}return new ah(n,!1,r-o)}function gY(i){return cm(i[0])?i[0].outlets:{[Zt]:i}}function XL(i,e,t){if(i??=new En([],{}),i.segments.length===0&&i.hasChildren())return rm(i,e,t);let n=_Y(i,e,t),r=t.slice(n.commandIndex);if(n.match&&n.pathIndexo!==Zt)&&i.children[Zt]&&i.numberOfChildren===1&&i.children[Zt].segments.length===0){let o=rm(i.children[Zt],e,t);return new En(i.segments,o.children)}return Object.entries(n).forEach(([o,s])=>{typeof s=="string"&&(s=[s]),s!==null&&(r[o]=XL(i.children[o],e,s))}),Object.entries(i.children).forEach(([o,s])=>{n[o]===void 0&&(r[o]=s)}),new En(i.segments,r)}}function _Y(i,e,t){let n=0,r=e,o={match:!1,pathIndex:0,commandIndex:0};for(;r=t.length)return o;let s=i.segments[r],a=t[n];if(cm(a))break;let l=`${a}`,c=n0&&l===void 0)break;if(l&&c&&typeof c=="object"&&c.outlets===void 0){if(!RL(l,c,s))return o;n+=2}else{if(!RL(l,{},s))return o;n++}r++}return{match:!0,pathIndex:r,commandIndex:n}}function I1(i,e,t){let n=i.segments.slice(0,e),r=0;for(;r{typeof n=="string"&&(n=[n]),n!==null&&(e[t]=I1(new En([],{}),0,n))}),e}function OL(i){let e={};return Object.entries(i).forEach(([t,n])=>e[t]=`${n}`),e}function RL(i,e,t){return i==t.path&&Hs(e,t.parameters)}var om="imperative",Qi=function(i){return i[i.NavigationStart=0]="NavigationStart",i[i.NavigationEnd=1]="NavigationEnd",i[i.NavigationCancel=2]="NavigationCancel",i[i.NavigationError=3]="NavigationError",i[i.RoutesRecognized=4]="RoutesRecognized",i[i.ResolveStart=5]="ResolveStart",i[i.ResolveEnd=6]="ResolveEnd",i[i.GuardsCheckStart=7]="GuardsCheckStart",i[i.GuardsCheckEnd=8]="GuardsCheckEnd",i[i.RouteConfigLoadStart=9]="RouteConfigLoadStart",i[i.RouteConfigLoadEnd=10]="RouteConfigLoadEnd",i[i.ChildActivationStart=11]="ChildActivationStart",i[i.ChildActivationEnd=12]="ChildActivationEnd",i[i.ActivationStart=13]="ActivationStart",i[i.ActivationEnd=14]="ActivationEnd",i[i.Scroll=15]="Scroll",i[i.NavigationSkipped=16]="NavigationSkipped",i}(Qi||{}),ko=class{constructor(e,t){this.id=e,this.url=t}},dm=class extends ko{constructor(e,t,n="imperative",r=null){super(e,t),this.type=Qi.NavigationStart,this.navigationTrigger=n,this.restoredState=r}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}},nd=class extends ko{constructor(e,t,n){super(e,t),this.urlAfterRedirects=n,this.type=Qi.NavigationEnd}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}},co=function(i){return i[i.Redirect=0]="Redirect",i[i.SupersededByNewNavigation=1]="SupersededByNewNavigation",i[i.NoDataFromResolver=2]="NoDataFromResolver",i[i.GuardRejected=3]="GuardRejected",i}(co||{}),T1=function(i){return i[i.IgnoredSameUrlNavigation=0]="IgnoredSameUrlNavigation",i[i.IgnoredByUrlHandlingStrategy=1]="IgnoredByUrlHandlingStrategy",i}(T1||{}),Oa=class extends ko{constructor(e,t,n,r){super(e,t),this.reason=n,this.code=r,this.type=Qi.NavigationCancel}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}},id=class extends ko{constructor(e,t,n,r){super(e,t),this.reason=n,this.code=r,this.type=Qi.NavigationSkipped}},um=class extends ko{constructor(e,t,n,r){super(e,t),this.error=n,this.target=r,this.type=Qi.NavigationError}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}},_b=class extends ko{constructor(e,t,n,r){super(e,t),this.urlAfterRedirects=n,this.state=r,this.type=Qi.RoutesRecognized}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},D1=class extends ko{constructor(e,t,n,r){super(e,t),this.urlAfterRedirects=n,this.state=r,this.type=Qi.GuardsCheckStart}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},P1=class extends ko{constructor(e,t,n,r,o){super(e,t),this.urlAfterRedirects=n,this.state=r,this.shouldActivate=o,this.type=Qi.GuardsCheckEnd}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}},O1=class extends ko{constructor(e,t,n,r){super(e,t),this.urlAfterRedirects=n,this.state=r,this.type=Qi.ResolveStart}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},R1=class extends ko{constructor(e,t,n,r){super(e,t),this.urlAfterRedirects=n,this.state=r,this.type=Qi.ResolveEnd}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},A1=class{constructor(e){this.route=e,this.type=Qi.RouteConfigLoadStart}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}},N1=class{constructor(e){this.route=e,this.type=Qi.RouteConfigLoadEnd}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}},k1=class{constructor(e){this.snapshot=e,this.type=Qi.ChildActivationStart}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},L1=class{constructor(e){this.snapshot=e,this.type=Qi.ChildActivationEnd}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},F1=class{constructor(e){this.snapshot=e,this.type=Qi.ActivationStart}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},B1=class{constructor(e){this.snapshot=e,this.type=Qi.ActivationEnd}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}};var hm=class{},uh=class{constructor(e,t){this.url=e,this.navigationBehaviorOptions=t}};function bY(i,e){return i.providers&&!i._injector&&(i._injector=qE(i.providers,e,`Route: ${i.path}`)),i._injector??e}function hs(i){return i.outlet||Zt}function yY(i,e){let t=i.filter(n=>hs(n)===e);return t.push(...i.filter(n=>hs(n)!==e)),t}function vm(i){if(!i)return null;if(i.routeConfig?._injector)return i.routeConfig._injector;for(let e=i.parent;e;e=e.parent){let t=e.routeConfig;if(t?._loadedInjector)return t._loadedInjector;if(t?._injector)return t._injector}return null}var V1=class{get injector(){return vm(this.route?.snapshot)??this.rootInjector}set injector(e){}constructor(e){this.rootInjector=e,this.outlet=null,this.route=null,this.children=new Sb(this.rootInjector),this.attachRef=null}},Sb=(()=>{let e=class e{constructor(n){this.rootInjector=n,this.contexts=new Map}onChildOutletCreated(n,r){let o=this.getOrCreateContext(n);o.outlet=r,this.contexts.set(n,o)}onChildOutletDestroyed(n){let r=this.getContext(n);r&&(r.outlet=null,r.attachRef=null)}onOutletDeactivated(){let n=this.contexts;return this.contexts=new Map,n}onOutletReAttached(n){this.contexts=n}getOrCreateContext(n){let r=this.getContext(n);return r||(r=new V1(this.rootInjector),this.contexts.set(n,r)),r}getContext(n){return this.contexts.get(n)||null}};e.\u0275fac=function(r){return new(r||e)(X(qi))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})(),vb=class{constructor(e){this._root=e}get root(){return this._root.value}parent(e){let t=this.pathFromRoot(e);return t.length>1?t[t.length-2]:null}children(e){let t=z1(e,this._root);return t?t.children.map(n=>n.value):[]}firstChild(e){let t=z1(e,this._root);return t&&t.children.length>0?t.children[0].value:null}siblings(e){let t=U1(e,this._root);return t.length<2?[]:t[t.length-2].children.map(r=>r.value).filter(r=>r!==e)}pathFromRoot(e){return U1(e,this._root).map(t=>t.value)}};function z1(i,e){if(i===e.value)return e;for(let t of e.children){let n=z1(i,t);if(n)return n}return null}function U1(i,e){if(i===e.value)return[e];for(let t of e.children){let n=U1(i,t);if(n.length)return n.unshift(e),n}return[]}var lo=class{constructor(e,t){this.value=e,this.children=t}toString(){return`TreeNode(${this.value})`}};function sh(i){let e={};return i&&i.children.forEach(t=>e[t.value.outlet]=t),e}var bb=class extends vb{constructor(e,t){super(e),this.snapshot=t,Q1(this,e)}toString(){return this.snapshot.toString()}};function ZL(i){let e=xY(i),t=new Dn([new ed("",{})]),n=new Dn({}),r=new Dn({}),o=new Dn({}),s=new Dn(""),a=new Rl(t,n,o,s,r,Zt,i,e.root);return a.snapshot=e.root,new bb(new lo(a,[]),e)}function xY(i){let e={},t={},n={},r="",o=new lh([],e,n,r,t,Zt,i,null,{});return new xb("",new lo(o,[]))}var Rl=class{constructor(e,t,n,r,o,s,a,l){this.urlSubject=e,this.paramsSubject=t,this.queryParamsSubject=n,this.fragmentSubject=r,this.dataSubject=o,this.outlet=s,this.component=a,this._futureSnapshot=l,this.title=this.dataSubject?.pipe(Je(c=>c[_m]))??Ke(void 0),this.url=e,this.params=t,this.queryParams=n,this.fragment=r,this.data=o}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=this.params.pipe(Je(e=>dh(e))),this._paramMap}get queryParamMap(){return this._queryParamMap??=this.queryParams.pipe(Je(e=>dh(e))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}};function yb(i,e,t="emptyOnly"){let n,{routeConfig:r}=i;return e!==null&&(t==="always"||r?.path===""||!e.component&&!e.routeConfig?.loadComponent)?n={params:Z(Z({},e.params),i.params),data:Z(Z({},e.data),i.data),resolve:Z(Z(Z(Z({},i.data),e.data),r?.data),i._resolvedData)}:n={params:Z({},i.params),data:Z({},i.data),resolve:Z(Z({},i.data),i._resolvedData??{})},r&&KL(r)&&(n.resolve[_m]=r.title),n}var lh=class{get title(){return this.data?.[_m]}constructor(e,t,n,r,o,s,a,l,c){this.url=e,this.params=t,this.queryParams=n,this.fragment=r,this.data=o,this.outlet=s,this.component=a,this.routeConfig=l,this._resolve=c}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=dh(this.params),this._paramMap}get queryParamMap(){return this._queryParamMap??=dh(this.queryParams),this._queryParamMap}toString(){let e=this.url.map(n=>n.toString()).join("/"),t=this.routeConfig?this.routeConfig.path:"";return`Route(url:'${e}', path:'${t}')`}},xb=class extends vb{constructor(e,t){super(t),this.url=e,Q1(this,t)}toString(){return QL(this._root)}};function Q1(i,e){e.value._routerState=i,e.children.forEach(t=>Q1(i,t))}function QL(i){let e=i.children.length>0?` { ${i.children.map(QL).join(", ")} } `:"";return`${i.value}${e}`}function x1(i){if(i.snapshot){let e=i.snapshot,t=i._futureSnapshot;i.snapshot=t,Hs(e.queryParams,t.queryParams)||i.queryParamsSubject.next(t.queryParams),e.fragment!==t.fragment&&i.fragmentSubject.next(t.fragment),Hs(e.params,t.params)||i.paramsSubject.next(t.params),Yq(e.url,t.url)||i.urlSubject.next(t.url),Hs(e.data,t.data)||i.dataSubject.next(t.data)}else i.snapshot=i._futureSnapshot,i.dataSubject.next(i._futureSnapshot.data)}function H1(i,e){let t=Hs(i.params,e.params)&&Kq(i.url,e.url),n=!i.parent!=!e.parent;return t&&!n&&(!i.parent||H1(i.parent,e.parent))}function KL(i){return typeof i.title=="string"||i.title===null}var K1=(()=>{let e=class e{constructor(){this.activated=null,this._activatedRoute=null,this.name=Zt,this.activateEvents=new Ie,this.deactivateEvents=new Ie,this.attachEvents=new Ie,this.detachEvents=new Ie,this.parentContexts=te(Sb),this.location=te(Yt),this.changeDetector=te(Fe),this.inputBinder=te(J1,{optional:!0}),this.supportsBindingToComponentInputs=!0}get activatedComponentRef(){return this.activated}ngOnChanges(n){if(n.name){let{firstChange:r,previousValue:o}=n.name;if(r)return;this.isTrackedInParentContexts(o)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(o)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),this.inputBinder?.unsubscribeFromRouteData(this)}isTrackedInParentContexts(n){return this.parentContexts.getContext(n)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;let n=this.parentContexts.getContext(this.name);n?.route&&(n.attachRef?this.attach(n.attachRef,n.route):this.activateWith(n.route,n.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new Oe(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new Oe(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new Oe(4012,!1);this.location.detach();let n=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(n.instance),n}attach(n,r){this.activated=n,this._activatedRoute=r,this.location.insert(n.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(n.instance)}deactivate(){if(this.activated){let n=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(n)}}activateWith(n,r){if(this.isActivated)throw new Oe(4013,!1);this._activatedRoute=n;let o=this.location,a=n.snapshot.component,l=this.parentContexts.getOrCreateContext(this.name).children,c=new G1(n,l,o.injector);this.activated=o.createComponent(a,{index:o.length,injector:c,environmentInjector:r}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}};e.\u0275fac=function(r){return new(r||e)},e.\u0275dir=ze({type:e,selectors:[["router-outlet"]],inputs:{name:"name"},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],standalone:!0,features:[dn]});let i=e;return i})(),G1=class i{__ngOutletInjector(e){return new i(this.route,this.childContexts,e)}constructor(e,t,n){this.route=e,this.childContexts=t,this.parent=n}get(e,t){return e===Rl?this.route:e===Sb?this.childContexts:this.parent.get(e,t)}},J1=new ge("");function wY(i,e,t){let n=pm(i,e._root,t?t._root:void 0);return new bb(n,e)}function pm(i,e,t){if(t&&i.shouldReuseRoute(e.value,t.value.snapshot)){let n=t.value;n._futureSnapshot=e.value;let r=CY(i,e,t);return new lo(n,r)}else{if(i.shouldAttach(e.value)){let o=i.retrieve(e.value);if(o!==null){let s=o.route;return s.value._futureSnapshot=e.value,s.children=e.children.map(a=>pm(i,a)),s}}let n=SY(e.value),r=e.children.map(o=>pm(i,o));return new lo(n,r)}}function CY(i,e,t){return e.children.map(n=>{for(let r of t.children)if(i.shouldReuseRoute(n.value,r.value.snapshot))return pm(i,n,r);return pm(i,n)})}function SY(i){return new Rl(new Dn(i.url),new Dn(i.params),new Dn(i.queryParams),new Dn(i.fragment),new Dn(i.data),i.outlet,i.component,i)}var fm=class{constructor(e,t){this.redirectTo=e,this.navigationBehaviorOptions=t}},JL="ngNavigationCancelingError";function wb(i,e){let{redirectTo:t,navigationBehaviorOptions:n}=lm(e)?{redirectTo:e,navigationBehaviorOptions:void 0}:e,r=eF(!1,co.Redirect);return r.url=t,r.navigationBehaviorOptions=n,r}function eF(i,e){let t=new Error(`NavigationCancelingError: ${i||""}`);return t[JL]=!0,t.cancellationCode=e,t}function MY(i){return tF(i)&&lm(i.url)}function tF(i){return!!i&&i[JL]}var EY=(i,e,t,n)=>Je(r=>(new j1(e,r.targetRouterState,r.currentRouterState,t,n).activate(i),r)),j1=class{constructor(e,t,n,r,o){this.routeReuseStrategy=e,this.futureState=t,this.currState=n,this.forwardEvent=r,this.inputBindingEnabled=o}activate(e){let t=this.futureState._root,n=this.currState?this.currState._root:null;this.deactivateChildRoutes(t,n,e),x1(this.futureState.root),this.activateChildRoutes(t,n,e)}deactivateChildRoutes(e,t,n){let r=sh(t);e.children.forEach(o=>{let s=o.value.outlet;this.deactivateRoutes(o,r[s],n),delete r[s]}),Object.values(r).forEach(o=>{this.deactivateRouteAndItsChildren(o,n)})}deactivateRoutes(e,t,n){let r=e.value,o=t?t.value:null;if(r===o)if(r.component){let s=n.getContext(r.outlet);s&&this.deactivateChildRoutes(e,t,s.children)}else this.deactivateChildRoutes(e,t,n);else o&&this.deactivateRouteAndItsChildren(t,n)}deactivateRouteAndItsChildren(e,t){e.value.component&&this.routeReuseStrategy.shouldDetach(e.value.snapshot)?this.detachAndStoreRouteSubtree(e,t):this.deactivateRouteAndOutlet(e,t)}detachAndStoreRouteSubtree(e,t){let n=t.getContext(e.value.outlet),r=n&&e.value.component?n.children:t,o=sh(e);for(let s of Object.values(o))this.deactivateRouteAndItsChildren(s,r);if(n&&n.outlet){let s=n.outlet.detach(),a=n.children.onOutletDeactivated();this.routeReuseStrategy.store(e.value.snapshot,{componentRef:s,route:e,contexts:a})}}deactivateRouteAndOutlet(e,t){let n=t.getContext(e.value.outlet),r=n&&e.value.component?n.children:t,o=sh(e);for(let s of Object.values(o))this.deactivateRouteAndItsChildren(s,r);n&&(n.outlet&&(n.outlet.deactivate(),n.children.onOutletDeactivated()),n.attachRef=null,n.route=null)}activateChildRoutes(e,t,n){let r=sh(t);e.children.forEach(o=>{this.activateRoutes(o,r[o.value.outlet],n),this.forwardEvent(new B1(o.value.snapshot))}),e.children.length&&this.forwardEvent(new L1(e.value.snapshot))}activateRoutes(e,t,n){let r=e.value,o=t?t.value:null;if(x1(r),r===o)if(r.component){let s=n.getOrCreateContext(r.outlet);this.activateChildRoutes(e,t,s.children)}else this.activateChildRoutes(e,t,n);else if(r.component){let s=n.getOrCreateContext(r.outlet);if(this.routeReuseStrategy.shouldAttach(r.snapshot)){let a=this.routeReuseStrategy.retrieve(r.snapshot);this.routeReuseStrategy.store(r.snapshot,null),s.children.onOutletReAttached(a.contexts),s.attachRef=a.componentRef,s.route=a.route.value,s.outlet&&s.outlet.attach(a.componentRef,a.route.value),x1(a.route.value),this.activateChildRoutes(e,null,s.children)}else s.attachRef=null,s.route=r,s.outlet&&s.outlet.activateWith(r,s.injector),this.activateChildRoutes(e,null,s.children)}else this.activateChildRoutes(e,null,n)}},Cb=class{constructor(e){this.path=e,this.route=this.path[this.path.length-1]}},ch=class{constructor(e,t){this.component=e,this.route=t}};function IY(i,e,t){let n=i._root,r=e?e._root:null;return nm(n,r,t,[n.value])}function TY(i){let e=i.routeConfig?i.routeConfig.canActivateChild:null;return!e||e.length===0?null:{node:i,guards:e}}function ph(i,e){let t=Symbol(),n=e.get(i,t);return n===t?typeof i=="function"&&!sN(i)?i:e.get(i):n}function nm(i,e,t,n,r={canDeactivateChecks:[],canActivateChecks:[]}){let o=sh(e);return i.children.forEach(s=>{DY(s,o[s.value.outlet],t,n.concat([s.value]),r),delete o[s.value.outlet]}),Object.entries(o).forEach(([s,a])=>sm(a,t.getContext(s),r)),r}function DY(i,e,t,n,r={canDeactivateChecks:[],canActivateChecks:[]}){let o=i.value,s=e?e.value:null,a=t?t.getContext(i.value.outlet):null;if(s&&o.routeConfig===s.routeConfig){let l=PY(s,o,o.routeConfig.runGuardsAndResolvers);l?r.canActivateChecks.push(new Cb(n)):(o.data=s.data,o._resolvedData=s._resolvedData),o.component?nm(i,e,a?a.children:null,n,r):nm(i,e,t,n,r),l&&a&&a.outlet&&a.outlet.isActivated&&r.canDeactivateChecks.push(new ch(a.outlet.component,s))}else s&&sm(e,a,r),r.canActivateChecks.push(new Cb(n)),o.component?nm(i,null,a?a.children:null,n,r):nm(i,null,t,n,r);return r}function PY(i,e,t){if(typeof t=="function")return t(i,e);switch(t){case"pathParamsChange":return!td(i.url,e.url);case"pathParamsOrQueryParamsChange":return!td(i.url,e.url)||!Hs(i.queryParams,e.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!H1(i,e)||!Hs(i.queryParams,e.queryParams);case"paramsChange":default:return!H1(i,e)}}function sm(i,e,t){let n=sh(i),r=i.value;Object.entries(n).forEach(([o,s])=>{r.component?e?sm(s,e.children.getContext(o),t):sm(s,null,t):sm(s,e,t)}),r.component?e&&e.outlet&&e.outlet.isActivated?t.canDeactivateChecks.push(new ch(e.outlet.component,r)):t.canDeactivateChecks.push(new ch(null,r)):t.canDeactivateChecks.push(new ch(null,r))}function bm(i){return typeof i=="function"}function OY(i){return typeof i=="boolean"}function RY(i){return i&&bm(i.canLoad)}function AY(i){return i&&bm(i.canActivate)}function NY(i){return i&&bm(i.canActivateChild)}function kY(i){return i&&bm(i.canDeactivate)}function LY(i){return i&&bm(i.canMatch)}function nF(i){return i instanceof ya||i?.name==="EmptyError"}var ub=Symbol("INITIAL_VALUE");function hh(){return Xn(i=>Xr(i.map(e=>e.pipe(_n(1),fi(ub)))).pipe(Je(e=>{for(let t of e)if(t!==!0){if(t===ub)return ub;if(t===!1||FY(t))return t}return!0}),jt(e=>e!==ub),_n(1)))}function FY(i){return lm(i)||i instanceof fm}function BY(i,e){return ei(t=>{let{targetSnapshot:n,currentSnapshot:r,guards:{canActivateChecks:o,canDeactivateChecks:s}}=t;return s.length===0&&o.length===0?Ke(wt(Z({},t),{guardsResult:!0})):VY(s,n,r,i).pipe(ei(a=>a&&OY(a)?zY(n,o,i,e):Ke(a)),Je(a=>wt(Z({},t),{guardsResult:a})))})}function VY(i,e,t,n){return Kn(i).pipe(ei(r=>WY(r.component,r.route,t,e,n)),Ps(r=>r!==!0,!0))}function zY(i,e,t,n){return Kn(e).pipe(gl(r=>Ts(HY(r.route.parent,n),UY(r.route,n),jY(i,r.path,t),GY(i,r.route,t))),Ps(r=>r!==!0,!0))}function UY(i,e){return i!==null&&e&&e(new F1(i)),Ke(!0)}function HY(i,e){return i!==null&&e&&e(new k1(i)),Ke(!0)}function GY(i,e,t){let n=e.routeConfig?e.routeConfig.canActivate:null;if(!n||n.length===0)return Ke(!0);let r=n.map(o=>Io(()=>{let s=vm(e)??t,a=ph(o,s),l=AY(a)?a.canActivate(e,i):Fs(s,()=>a(e,i));return Al(l).pipe(Ps())}));return Ke(r).pipe(hh())}function jY(i,e,t){let n=e[e.length-1],o=e.slice(0,e.length-1).reverse().map(s=>TY(s)).filter(s=>s!==null).map(s=>Io(()=>{let a=s.guards.map(l=>{let c=vm(s.node)??t,d=ph(l,c),u=NY(d)?d.canActivateChild(n,i):Fs(c,()=>d(n,i));return Al(u).pipe(Ps())});return Ke(a).pipe(hh())}));return Ke(o).pipe(hh())}function WY(i,e,t,n,r){let o=e&&e.routeConfig?e.routeConfig.canDeactivate:null;if(!o||o.length===0)return Ke(!0);let s=o.map(a=>{let l=vm(e)??r,c=ph(a,l),d=kY(c)?c.canDeactivate(i,e,t,n):Fs(l,()=>c(i,e,t,n));return Al(d).pipe(Ps())});return Ke(s).pipe(hh())}function $Y(i,e,t,n){let r=e.canLoad;if(r===void 0||r.length===0)return Ke(!0);let o=r.map(s=>{let a=ph(s,i),l=RY(a)?a.canLoad(e,t):Fs(i,()=>a(e,t));return Al(l)});return Ke(o).pipe(hh(),iF(n))}function iF(i){return wS(Sn(e=>{if(typeof e!="boolean")throw wb(i,e)}),Je(e=>e===!0))}function qY(i,e,t,n){let r=e.canMatch;if(!r||r.length===0)return Ke(!0);let o=r.map(s=>{let a=ph(s,i),l=LY(a)?a.canMatch(e,t):Fs(i,()=>a(e,t));return Al(l)});return Ke(o).pipe(hh(),iF(n))}var mm=class{constructor(e){this.segmentGroup=e||null}},gm=class extends Error{constructor(e){super(),this.urlTree=e}};function oh(i){return ml(new mm(i))}function YY(i){return ml(new Oe(4e3,!1))}function XY(i){return ml(eF(!1,co.GuardRejected))}var W1=class{constructor(e,t){this.urlSerializer=e,this.urlTree=t}lineralizeSegments(e,t){let n=[],r=t.root;for(;;){if(n=n.concat(r.segments),r.numberOfChildren===0)return Ke(n);if(r.numberOfChildren>1||!r.children[Zt])return YY(`${e.redirectTo}`);r=r.children[Zt]}}applyRedirectCommands(e,t,n,r,o){if(typeof t!="string"){let a=t,{queryParams:l,fragment:c,routeConfig:d,url:u,outlet:h,params:p,data:f,title:m}=r,y=Fs(o,()=>a({params:p,data:f,queryParams:l,fragment:c,routeConfig:d,url:u,outlet:h,title:m}));if(y instanceof Ra)throw new gm(y);t=y}let s=this.applyRedirectCreateUrlTree(t,this.urlSerializer.parse(t),e,n);if(t[0]==="/")throw new gm(s);return s}applyRedirectCreateUrlTree(e,t,n,r){let o=this.createSegmentGroup(e,t.root,n,r);return new Ra(o,this.createQueryParams(t.queryParams,this.urlTree.queryParams),t.fragment)}createQueryParams(e,t){let n={};return Object.entries(e).forEach(([r,o])=>{if(typeof o=="string"&&o[0]===":"){let a=o.substring(1);n[r]=t[a]}else n[r]=o}),n}createSegmentGroup(e,t,n,r){let o=this.createSegments(e,t.segments,n,r),s={};return Object.entries(t.children).forEach(([a,l])=>{s[a]=this.createSegmentGroup(e,l,n,r)}),new En(o,s)}createSegments(e,t,n,r){return t.map(o=>o.path[0]===":"?this.findPosParam(e,o,r):this.findOrReturn(o,n))}findPosParam(e,t,n){let r=n[t.path.substring(1)];if(!r)throw new Oe(4001,!1);return r}findOrReturn(e,t){let n=0;for(let r of t){if(r.path===e.path)return t.splice(n),r;n++}return e}},$1={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function ZY(i,e,t,n,r){let o=eI(i,e,t);return o.matched?(n=bY(e,n),qY(n,e,t,r).pipe(Je(s=>s===!0?o:Z({},$1)))):Ke(o)}function eI(i,e,t){if(e.path==="**")return QY(t);if(e.path==="")return e.pathMatch==="full"&&(i.hasChildren()||t.length>0)?Z({},$1):{matched:!0,consumedSegments:[],remainingSegments:t,parameters:{},positionalParamSegments:{}};let r=(e.matcher||qq)(t,i,e);if(!r)return Z({},$1);let o={};Object.entries(r.posParams??{}).forEach(([a,l])=>{o[a]=l.path});let s=r.consumed.length>0?Z(Z({},o),r.consumed[r.consumed.length-1].parameters):o;return{matched:!0,consumedSegments:r.consumed,remainingSegments:t.slice(r.consumed.length),parameters:s,positionalParamSegments:r.posParams??{}}}function QY(i){return{matched:!0,parameters:i.length>0?FL(i).parameters:{},consumedSegments:i,remainingSegments:[],positionalParamSegments:{}}}function AL(i,e,t,n){return t.length>0&&eX(i,t,n)?{segmentGroup:new En(e,JY(n,new En(t,i.children))),slicedSegments:[]}:t.length===0&&tX(i,t,n)?{segmentGroup:new En(i.segments,KY(i,t,n,i.children)),slicedSegments:t}:{segmentGroup:new En(i.segments,i.children),slicedSegments:t}}function KY(i,e,t,n){let r={};for(let o of t)if(Mb(i,e,o)&&!n[hs(o)]){let s=new En([],{});r[hs(o)]=s}return Z(Z({},n),r)}function JY(i,e){let t={};t[Zt]=e;for(let n of i)if(n.path===""&&hs(n)!==Zt){let r=new En([],{});t[hs(n)]=r}return t}function eX(i,e,t){return t.some(n=>Mb(i,e,n)&&hs(n)!==Zt)}function tX(i,e,t){return t.some(n=>Mb(i,e,n))}function Mb(i,e,t){return(i.hasChildren()||e.length>0)&&t.pathMatch==="full"?!1:t.path===""}function nX(i,e,t,n){return hs(i)!==n&&(n===Zt||!Mb(e,t,i))?!1:eI(e,i,t).matched}function iX(i,e,t){return e.length===0&&!i.children[t]}var q1=class{};function rX(i,e,t,n,r,o,s="emptyOnly"){return new Y1(i,e,t,n,r,s,o).recognize()}var oX=31,Y1=class{constructor(e,t,n,r,o,s,a){this.injector=e,this.configLoader=t,this.rootComponentType=n,this.config=r,this.urlTree=o,this.paramsInheritanceStrategy=s,this.urlSerializer=a,this.applyRedirects=new W1(this.urlSerializer,this.urlTree),this.absoluteRedirectCount=0,this.allowRedirects=!0}noMatchError(e){return new Oe(4002,`'${e.segmentGroup}'`)}recognize(){let e=AL(this.urlTree.root,[],[],this.config).segmentGroup;return this.match(e).pipe(Je(({children:t,rootSnapshot:n})=>{let r=new lo(n,t),o=new xb("",r),s=hY(n,[],this.urlTree.queryParams,this.urlTree.fragment);return s.queryParams=this.urlTree.queryParams,o.url=this.urlSerializer.serialize(s),{state:o,tree:s}}))}match(e){let t=new lh([],Object.freeze({}),Object.freeze(Z({},this.urlTree.queryParams)),this.urlTree.fragment,Object.freeze({}),Zt,this.rootComponentType,null,{});return this.processSegmentGroup(this.injector,this.config,e,Zt,t).pipe(Je(n=>({children:n,rootSnapshot:t})),Ds(n=>{if(n instanceof gm)return this.urlTree=n.urlTree,this.match(n.urlTree.root);throw n instanceof mm?this.noMatchError(n):n}))}processSegmentGroup(e,t,n,r,o){return n.segments.length===0&&n.hasChildren()?this.processChildren(e,t,n,o):this.processSegment(e,t,n,n.segments,r,!0,o).pipe(Je(s=>s instanceof lo?[s]:[]))}processChildren(e,t,n,r){let o=[];for(let s of Object.keys(n.children))s==="primary"?o.unshift(s):o.push(s);return Kn(o).pipe(gl(s=>{let a=n.children[s],l=yY(t,s);return this.processSegmentGroup(e,l,a,s,r)}),RS((s,a)=>(s.push(...a),s)),_l(null),OS(),ei(s=>{if(s===null)return oh(n);let a=rF(s);return sX(a),Ke(a)}))}processSegment(e,t,n,r,o,s,a){return Kn(t).pipe(gl(l=>this.processSegmentAgainstRoute(l._injector??e,t,l,n,r,o,s,a).pipe(Ds(c=>{if(c instanceof mm)return Ke(null);throw c}))),Ps(l=>!!l),Ds(l=>{if(nF(l))return iX(n,r,o)?Ke(new q1):oh(n);throw l}))}processSegmentAgainstRoute(e,t,n,r,o,s,a,l){return nX(n,r,o,s)?n.redirectTo===void 0?this.matchSegmentAgainstRoute(e,r,n,o,s,l):this.allowRedirects&&a?this.expandSegmentAgainstRouteUsingRedirect(e,r,t,n,o,s,l):oh(r):oh(r)}expandSegmentAgainstRouteUsingRedirect(e,t,n,r,o,s,a){let{matched:l,parameters:c,consumedSegments:d,positionalParamSegments:u,remainingSegments:h}=eI(t,r,o);if(!l)return oh(t);typeof r.redirectTo=="string"&&r.redirectTo[0]==="/"&&(this.absoluteRedirectCount++,this.absoluteRedirectCount>oX&&(this.allowRedirects=!1));let p=new lh(o,c,Object.freeze(Z({},this.urlTree.queryParams)),this.urlTree.fragment,NL(r),hs(r),r.component??r._loadedComponent??null,r,kL(r)),f=yb(p,a,this.paramsInheritanceStrategy);p.params=Object.freeze(f.params),p.data=Object.freeze(f.data);let m=this.applyRedirects.applyRedirectCommands(d,r.redirectTo,u,p,e);return this.applyRedirects.lineralizeSegments(r,m).pipe(ei(y=>this.processSegment(e,n,t,y.concat(h),s,!1,a)))}matchSegmentAgainstRoute(e,t,n,r,o,s){let a=ZY(t,n,r,e,this.urlSerializer);return n.path==="**"&&(t.children={}),a.pipe(Xn(l=>l.matched?(e=n._injector??e,this.getChildConfig(e,n,r).pipe(Xn(({routes:c})=>{let d=n._loadedInjector??e,{parameters:u,consumedSegments:h,remainingSegments:p}=l,f=new lh(h,u,Object.freeze(Z({},this.urlTree.queryParams)),this.urlTree.fragment,NL(n),hs(n),n.component??n._loadedComponent??null,n,kL(n)),m=yb(f,s,this.paramsInheritanceStrategy);f.params=Object.freeze(m.params),f.data=Object.freeze(m.data);let{segmentGroup:y,slicedSegments:g}=AL(t,h,p,c);if(g.length===0&&y.hasChildren())return this.processChildren(d,c,y,f).pipe(Je(x=>new lo(f,x)));if(c.length===0&&g.length===0)return Ke(new lo(f,[]));let _=hs(n)===o;return this.processSegment(d,c,y,g,_?Zt:o,!0,f).pipe(Je(x=>new lo(f,x instanceof lo?[x]:[])))}))):oh(t)))}getChildConfig(e,t,n){return t.children?Ke({routes:t.children,injector:e}):t.loadChildren?t._loadedRoutes!==void 0?Ke({routes:t._loadedRoutes,injector:t._loadedInjector}):$Y(e,t,n,this.urlSerializer).pipe(ei(r=>r?this.configLoader.loadChildren(e,t).pipe(Sn(o=>{t._loadedRoutes=o.routes,t._loadedInjector=o.injector})):XY(t))):Ke({routes:[],injector:e})}};function sX(i){i.sort((e,t)=>e.value.outlet===Zt?-1:t.value.outlet===Zt?1:e.value.outlet.localeCompare(t.value.outlet))}function aX(i){let e=i.value.routeConfig;return e&&e.path===""}function rF(i){let e=[],t=new Set;for(let n of i){if(!aX(n)){e.push(n);continue}let r=e.find(o=>n.value.routeConfig===o.value.routeConfig);r!==void 0?(r.children.push(...n.children),t.add(r)):e.push(n)}for(let n of t){let r=rF(n.children);e.push(new lo(n.value,r))}return e.filter(n=>!t.has(n))}function NL(i){return i.data||{}}function kL(i){return i.resolve||{}}function lX(i,e,t,n,r,o){return ei(s=>rX(i,e,t,n,s.extractedUrl,r,o).pipe(Je(({state:a,tree:l})=>wt(Z({},s),{targetSnapshot:a,urlAfterRedirects:l}))))}function cX(i,e){return ei(t=>{let{targetSnapshot:n,guards:{canActivateChecks:r}}=t;if(!r.length)return Ke(t);let o=new Set(r.map(l=>l.route)),s=new Set;for(let l of o)if(!s.has(l))for(let c of oF(l))s.add(c);let a=0;return Kn(s).pipe(gl(l=>o.has(l)?dX(l,n,i,e):(l.data=yb(l,l.parent,i).resolve,Ke(void 0))),Sn(()=>a++),Fu(1),ei(l=>a===s.size?Ke(t):Ir))})}function oF(i){let e=i.children.map(t=>oF(t)).flat();return[i,...e]}function dX(i,e,t,n){let r=i.routeConfig,o=i._resolve;return r?.title!==void 0&&!KL(r)&&(o[_m]=r.title),uX(o,i,e,n).pipe(Je(s=>(i._resolvedData=s,i.data=yb(i,i.parent,t).resolve,null)))}function uX(i,e,t,n){let r=S1(i);if(r.length===0)return Ke({});let o={};return Kn(r).pipe(ei(s=>hX(i[s],e,t,n).pipe(Ps(),Sn(a=>{if(a instanceof fm)throw wb(new am,a);o[s]=a}))),Fu(1),Tf(o),Ds(s=>nF(s)?Ir:ml(s)))}function hX(i,e,t,n){let r=vm(e)??n,o=ph(i,r),s=o.resolve?o.resolve(e,t):Fs(r,()=>o(e,t));return Al(s)}function w1(i){return Xn(e=>{let t=i(e);return t?Kn(t).pipe(Je(()=>e)):Ke(e)})}var sF=(()=>{let e=class e{buildTitle(n){let r,o=n.root;for(;o!==void 0;)r=this.getResolvedTitleForRoute(o)??r,o=o.children.find(s=>s.outlet===Zt);return r}getResolvedTitleForRoute(n){return n.data[_m]}};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:()=>te(pX),providedIn:"root"});let i=e;return i})(),pX=(()=>{let e=class e extends sF{constructor(n){super(),this.title=n}updateTitle(n){let r=this.buildTitle(n);r!==void 0&&this.title.setTitle(r)}};e.\u0275fac=function(r){return new(r||e)(X(IL))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})(),tI=new ge("",{providedIn:"root",factory:()=>({})}),fX=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275cmp=le({type:e,selectors:[["ng-component"]],standalone:!0,features:[ce],decls:1,vars:0,template:function(r,o){r&1&&ee(0,"router-outlet")},dependencies:[K1],encapsulation:2});let i=e;return i})();function nI(i){let e=i.children&&i.children.map(nI),t=e?wt(Z({},i),{children:e}):Z({},i);return!t.component&&!t.loadComponent&&(e||t.loadChildren)&&t.outlet&&t.outlet!==Zt&&(t.component=fX),t}var iI=new ge(""),mX=(()=>{let e=class e{constructor(){this.componentLoaders=new WeakMap,this.childrenLoaders=new WeakMap,this.compiler=te(QE)}loadComponent(n){if(this.componentLoaders.get(n))return this.componentLoaders.get(n);if(n._loadedComponent)return Ke(n._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(n);let r=Al(n.loadComponent()).pipe(Je(aF),Sn(s=>{this.onLoadEndListener&&this.onLoadEndListener(n),n._loadedComponent=s}),bl(()=>{this.componentLoaders.delete(n)})),o=new hl(r,()=>new me).pipe(Pu());return this.componentLoaders.set(n,o),o}loadChildren(n,r){if(this.childrenLoaders.get(r))return this.childrenLoaders.get(r);if(r._loadedRoutes)return Ke({routes:r._loadedRoutes,injector:r._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(r);let s=gX(r,this.compiler,n,this.onLoadEndListener).pipe(bl(()=>{this.childrenLoaders.delete(r)})),a=new hl(s,()=>new me).pipe(Pu());return this.childrenLoaders.set(r,a),a}};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();function gX(i,e,t,n){return Al(i.loadChildren()).pipe(Je(aF),ei(r=>r instanceof Vf||Array.isArray(r)?Ke(r):Kn(e.compileModuleAsync(r))),Je(r=>{n&&n(i);let o,s,a=!1;return Array.isArray(r)?(s=r,a=!0):(o=r.create(t).injector,s=o.get(iI,[],{optional:!0,self:!0}).flat()),{routes:s.map(nI),injector:o}}))}function _X(i){return i&&typeof i=="object"&&"default"in i}function aF(i){return _X(i)?i.default:i}var rI=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:()=>te(vX),providedIn:"root"});let i=e;return i})(),vX=(()=>{let e=class e{shouldProcessUrl(n){return!0}extract(n){return n}merge(n,r){return n}};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})(),bX=new ge("");var yX=new ge(""),xX=(()=>{let e=class e{get hasRequestedNavigation(){return this.navigationId!==0}constructor(){this.currentNavigation=null,this.currentTransition=null,this.lastSuccessfulNavigation=null,this.events=new me,this.transitionAbortSubject=new me,this.configLoader=te(mX),this.environmentInjector=te(qi),this.urlSerializer=te(Z1),this.rootContexts=te(Sb),this.location=te(Pa),this.inputBindingEnabled=te(J1,{optional:!0})!==null,this.titleStrategy=te(sF),this.options=te(tI,{optional:!0})||{},this.paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly",this.urlHandlingStrategy=te(rI),this.createViewTransition=te(bX,{optional:!0}),this.navigationErrorHandler=te(yX,{optional:!0}),this.navigationId=0,this.afterPreactivation=()=>Ke(void 0),this.rootComponentType=null;let n=o=>this.events.next(new A1(o)),r=o=>this.events.next(new N1(o));this.configLoader.onLoadEndListener=r,this.configLoader.onLoadStartListener=n}complete(){this.transitions?.complete()}handleNavigationRequest(n){let r=++this.navigationId;this.transitions?.next(wt(Z(Z({},this.transitions.value),n),{id:r}))}setupNavigations(n,r,o){return this.transitions=new Dn({id:0,currentUrlTree:r,currentRawUrl:r,extractedUrl:this.urlHandlingStrategy.extract(r),urlAfterRedirects:this.urlHandlingStrategy.extract(r),rawUrl:r,extras:{},resolve:()=>{},reject:()=>{},promise:Promise.resolve(!0),source:om,restoredState:null,currentSnapshot:o.snapshot,targetSnapshot:null,currentRouterState:o,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe(jt(s=>s.id!==0),Je(s=>wt(Z({},s),{extractedUrl:this.urlHandlingStrategy.extract(s.rawUrl)})),Xn(s=>{let a=!1,l=!1;return Ke(s).pipe(Xn(c=>{if(this.navigationId>s.id)return this.cancelNavigationTransition(s,"",co.SupersededByNewNavigation),Ir;this.currentTransition=s,this.currentNavigation={id:c.id,initialUrl:c.rawUrl,extractedUrl:c.extractedUrl,targetBrowserUrl:typeof c.extras.browserUrl=="string"?this.urlSerializer.parse(c.extras.browserUrl):c.extras.browserUrl,trigger:c.source,extras:c.extras,previousNavigation:this.lastSuccessfulNavigation?wt(Z({},this.lastSuccessfulNavigation),{previousNavigation:null}):null};let d=!n.navigated||this.isUpdatingInternalState()||this.isUpdatedBrowserUrl(),u=c.extras.onSameUrlNavigation??n.onSameUrlNavigation;if(!d&&u!=="reload"){let h="";return this.events.next(new id(c.id,this.urlSerializer.serialize(c.rawUrl),h,T1.IgnoredSameUrlNavigation)),c.resolve(!1),Ir}if(this.urlHandlingStrategy.shouldProcessUrl(c.rawUrl))return Ke(c).pipe(Xn(h=>{let p=this.transitions?.getValue();return this.events.next(new dm(h.id,this.urlSerializer.serialize(h.extractedUrl),h.source,h.restoredState)),p!==this.transitions?.getValue()?Ir:Promise.resolve(h)}),lX(this.environmentInjector,this.configLoader,this.rootComponentType,n.config,this.urlSerializer,this.paramsInheritanceStrategy),Sn(h=>{s.targetSnapshot=h.targetSnapshot,s.urlAfterRedirects=h.urlAfterRedirects,this.currentNavigation=wt(Z({},this.currentNavigation),{finalUrl:h.urlAfterRedirects});let p=new _b(h.id,this.urlSerializer.serialize(h.extractedUrl),this.urlSerializer.serialize(h.urlAfterRedirects),h.targetSnapshot);this.events.next(p)}));if(d&&this.urlHandlingStrategy.shouldProcessUrl(c.currentRawUrl)){let{id:h,extractedUrl:p,source:f,restoredState:m,extras:y}=c,g=new dm(h,this.urlSerializer.serialize(p),f,m);this.events.next(g);let _=ZL(this.rootComponentType).snapshot;return this.currentTransition=s=wt(Z({},c),{targetSnapshot:_,urlAfterRedirects:p,extras:wt(Z({},y),{skipLocationChange:!1,replaceUrl:!1})}),this.currentNavigation.finalUrl=p,Ke(s)}else{let h="";return this.events.next(new id(c.id,this.urlSerializer.serialize(c.extractedUrl),h,T1.IgnoredByUrlHandlingStrategy)),c.resolve(!1),Ir}}),Sn(c=>{let d=new D1(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(d)}),Je(c=>(this.currentTransition=s=wt(Z({},c),{guards:IY(c.targetSnapshot,c.currentSnapshot,this.rootContexts)}),s)),BY(this.environmentInjector,c=>this.events.next(c)),Sn(c=>{if(s.guardsResult=c.guardsResult,c.guardsResult&&typeof c.guardsResult!="boolean")throw wb(this.urlSerializer,c.guardsResult);let d=new P1(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot,!!c.guardsResult);this.events.next(d)}),jt(c=>c.guardsResult?!0:(this.cancelNavigationTransition(c,"",co.GuardRejected),!1)),w1(c=>{if(c.guards.canActivateChecks.length)return Ke(c).pipe(Sn(d=>{let u=new O1(d.id,this.urlSerializer.serialize(d.extractedUrl),this.urlSerializer.serialize(d.urlAfterRedirects),d.targetSnapshot);this.events.next(u)}),Xn(d=>{let u=!1;return Ke(d).pipe(cX(this.paramsInheritanceStrategy,this.environmentInjector),Sn({next:()=>u=!0,complete:()=>{u||this.cancelNavigationTransition(d,"",co.NoDataFromResolver)}}))}),Sn(d=>{let u=new R1(d.id,this.urlSerializer.serialize(d.extractedUrl),this.urlSerializer.serialize(d.urlAfterRedirects),d.targetSnapshot);this.events.next(u)}))}),w1(c=>{let d=u=>{let h=[];u.routeConfig?.loadComponent&&!u.routeConfig._loadedComponent&&h.push(this.configLoader.loadComponent(u.routeConfig).pipe(Sn(p=>{u.component=p}),Je(()=>{})));for(let p of u.children)h.push(...d(p));return h};return Xr(d(c.targetSnapshot.root)).pipe(_l(null),_n(1))}),w1(()=>this.afterPreactivation()),Xn(()=>{let{currentSnapshot:c,targetSnapshot:d}=s,u=this.createViewTransition?.(this.environmentInjector,c.root,d.root);return u?Kn(u).pipe(Je(()=>s)):Ke(s)}),Je(c=>{let d=wY(n.routeReuseStrategy,c.targetSnapshot,c.currentRouterState);return this.currentTransition=s=wt(Z({},c),{targetRouterState:d}),this.currentNavigation.targetRouterState=d,s}),Sn(()=>{this.events.next(new hm)}),EY(this.rootContexts,n.routeReuseStrategy,c=>this.events.next(c),this.inputBindingEnabled),_n(1),Sn({next:c=>{a=!0,this.lastSuccessfulNavigation=this.currentNavigation,this.events.next(new nd(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects))),this.titleStrategy?.updateTitle(c.targetRouterState.snapshot),c.resolve(!0)},complete:()=>{a=!0}}),Xe(this.transitionAbortSubject.pipe(Sn(c=>{throw c}))),bl(()=>{!a&&!l&&this.cancelNavigationTransition(s,"",co.SupersededByNewNavigation),this.currentTransition?.id===s.id&&(this.currentNavigation=null,this.currentTransition=null)}),Ds(c=>{if(l=!0,tF(c))this.events.next(new Oa(s.id,this.urlSerializer.serialize(s.extractedUrl),c.message,c.cancellationCode)),MY(c)?this.events.next(new uh(c.url,c.navigationBehaviorOptions)):s.resolve(!1);else{let d=new um(s.id,this.urlSerializer.serialize(s.extractedUrl),c,s.targetSnapshot??void 0);try{let u=Fs(this.environmentInjector,()=>this.navigationErrorHandler?.(d));if(u instanceof fm){let{message:h,cancellationCode:p}=wb(this.urlSerializer,u);this.events.next(new Oa(s.id,this.urlSerializer.serialize(s.extractedUrl),h,p)),this.events.next(new uh(u.redirectTo,u.navigationBehaviorOptions))}else{this.events.next(d);let h=n.errorHandler(c);s.resolve(!!h)}}catch(u){this.options.resolveNavigationPromiseOnError?s.resolve(!1):s.reject(u)}}return Ir}))}))}cancelNavigationTransition(n,r,o){let s=new Oa(n.id,this.urlSerializer.serialize(n.extractedUrl),r,o);this.events.next(s),n.resolve(!1)}isUpdatingInternalState(){return this.currentTransition?.extractedUrl.toString()!==this.currentTransition?.currentUrlTree.toString()}isUpdatedBrowserUrl(){let n=this.urlHandlingStrategy.extract(this.urlSerializer.parse(this.location.path(!0))),r=this.currentNavigation?.targetBrowserUrl??this.currentNavigation?.extractedUrl;return n.toString()!==r?.toString()&&!this.currentNavigation?.extras.skipLocationChange}};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();function wX(i){return i!==om}var CX=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:()=>te(SX),providedIn:"root"});let i=e;return i})(),X1=class{shouldDetach(e){return!1}store(e,t){}shouldAttach(e){return!1}retrieve(e){return null}shouldReuseRoute(e,t){return e.routeConfig===t.routeConfig}},SX=(()=>{let e=class e extends X1{};e.\u0275fac=(()=>{let n;return function(o){return(n||(n=Ai(e)))(o||e)}})(),e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})(),lF=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:()=>te(MX),providedIn:"root"});let i=e;return i})(),MX=(()=>{let e=class e extends lF{constructor(){super(...arguments),this.location=te(Pa),this.urlSerializer=te(Z1),this.options=te(tI,{optional:!0})||{},this.canceledNavigationResolution=this.options.canceledNavigationResolution||"replace",this.urlHandlingStrategy=te(rI),this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.currentUrlTree=new Ra,this.rawUrlTree=this.currentUrlTree,this.currentPageId=0,this.lastSuccessfulId=-1,this.routerState=ZL(null),this.stateMemento=this.createStateMemento()}getCurrentUrlTree(){return this.currentUrlTree}getRawUrlTree(){return this.rawUrlTree}restoredState(){return this.location.getState()}get browserPageId(){return this.canceledNavigationResolution!=="computed"?this.currentPageId:this.restoredState()?.\u0275routerPageId??this.currentPageId}getRouterState(){return this.routerState}createStateMemento(){return{rawUrlTree:this.rawUrlTree,currentUrlTree:this.currentUrlTree,routerState:this.routerState}}registerNonRouterCurrentEntryChangeListener(n){return this.location.subscribe(r=>{r.type==="popstate"&&n(r.url,r.state)})}handleRouterEvent(n,r){if(n instanceof dm)this.stateMemento=this.createStateMemento();else if(n instanceof id)this.rawUrlTree=r.initialUrl;else if(n instanceof _b){if(this.urlUpdateStrategy==="eager"&&!r.extras.skipLocationChange){let o=this.urlHandlingStrategy.merge(r.finalUrl,r.initialUrl);this.setBrowserUrl(r.targetBrowserUrl??o,r)}}else n instanceof hm?(this.currentUrlTree=r.finalUrl,this.rawUrlTree=this.urlHandlingStrategy.merge(r.finalUrl,r.initialUrl),this.routerState=r.targetRouterState,this.urlUpdateStrategy==="deferred"&&!r.extras.skipLocationChange&&this.setBrowserUrl(r.targetBrowserUrl??this.rawUrlTree,r)):n instanceof Oa&&(n.code===co.GuardRejected||n.code===co.NoDataFromResolver)?this.restoreHistory(r):n instanceof um?this.restoreHistory(r,!0):n instanceof nd&&(this.lastSuccessfulId=n.id,this.currentPageId=this.browserPageId)}setBrowserUrl(n,r){let o=n instanceof Ra?this.urlSerializer.serialize(n):n;if(this.location.isCurrentPathEqualTo(o)||r.extras.replaceUrl){let s=this.browserPageId,a=Z(Z({},r.extras.state),this.generateNgRouterState(r.id,s));this.location.replaceState(o,"",a)}else{let s=Z(Z({},r.extras.state),this.generateNgRouterState(r.id,this.browserPageId+1));this.location.go(o,"",s)}}restoreHistory(n,r=!1){if(this.canceledNavigationResolution==="computed"){let o=this.browserPageId,s=this.currentPageId-o;s!==0?this.location.historyGo(s):this.currentUrlTree===n.finalUrl&&s===0&&(this.resetState(n),this.resetUrlToCurrentUrlTree())}else this.canceledNavigationResolution==="replace"&&(r&&this.resetState(n),this.resetUrlToCurrentUrlTree())}resetState(n){this.routerState=this.stateMemento.routerState,this.currentUrlTree=this.stateMemento.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,n.finalUrl??this.rawUrlTree)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(n,r){return this.canceledNavigationResolution==="computed"?{navigationId:n,\u0275routerPageId:r}:{navigationId:n}}};e.\u0275fac=(()=>{let n;return function(o){return(n||(n=Ai(e)))(o||e)}})(),e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})(),im=function(i){return i[i.COMPLETE=0]="COMPLETE",i[i.FAILED=1]="FAILED",i[i.REDIRECTING=2]="REDIRECTING",i}(im||{});function EX(i,e){i.events.pipe(jt(t=>t instanceof nd||t instanceof Oa||t instanceof um||t instanceof id),Je(t=>t instanceof nd||t instanceof id?im.COMPLETE:(t instanceof Oa?t.code===co.Redirect||t.code===co.SupersededByNewNavigation:!1)?im.REDIRECTING:im.FAILED),jt(t=>t!==im.REDIRECTING),_n(1)).subscribe(()=>{e()})}function IX(i){throw i}var TX={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},DX={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"},fh=(()=>{let e=class e{get currentUrlTree(){return this.stateManager.getCurrentUrlTree()}get rawUrlTree(){return this.stateManager.getRawUrlTree()}get events(){return this._events}get routerState(){return this.stateManager.getRouterState()}constructor(){this.disposed=!1,this.console=te(J0),this.stateManager=te(lF),this.options=te(tI,{optional:!0})||{},this.pendingTasks=te(qc),this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.navigationTransitions=te(xX),this.urlSerializer=te(Z1),this.location=te(Pa),this.urlHandlingStrategy=te(rI),this._events=new me,this.errorHandler=this.options.errorHandler||IX,this.navigated=!1,this.routeReuseStrategy=te(CX),this.onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore",this.config=te(iI,{optional:!0})?.flat()??[],this.componentInputBindingEnabled=!!te(J1,{optional:!0}),this.eventsSubscription=new Ct,this.resetConfig(this.config),this.navigationTransitions.setupNavigations(this,this.currentUrlTree,this.routerState).subscribe({error:n=>{this.console.warn(n)}}),this.subscribeToNavigationEvents()}subscribeToNavigationEvents(){let n=this.navigationTransitions.events.subscribe(r=>{try{let o=this.navigationTransitions.currentTransition,s=this.navigationTransitions.currentNavigation;if(o!==null&&s!==null){if(this.stateManager.handleRouterEvent(r,s),r instanceof Oa&&r.code!==co.Redirect&&r.code!==co.SupersededByNewNavigation)this.navigated=!0;else if(r instanceof nd)this.navigated=!0;else if(r instanceof uh){let a=r.navigationBehaviorOptions,l=this.urlHandlingStrategy.merge(r.url,o.currentRawUrl),c=Z({browserUrl:o.extras.browserUrl,info:o.extras.info,skipLocationChange:o.extras.skipLocationChange,replaceUrl:o.extras.replaceUrl||this.urlUpdateStrategy==="eager"||wX(o.source)},a);this.scheduleNavigation(l,om,null,c,{resolve:o.resolve,reject:o.reject,promise:o.promise})}}OX(r)&&this._events.next(r)}catch(o){this.navigationTransitions.transitionAbortSubject.next(o)}});this.eventsSubscription.add(n)}resetRootComponentType(n){this.routerState.root.component=n,this.navigationTransitions.rootComponentType=n}initialNavigation(){this.setUpLocationChangeListener(),this.navigationTransitions.hasRequestedNavigation||this.navigateToSyncWithBrowser(this.location.path(!0),om,this.stateManager.restoredState())}setUpLocationChangeListener(){this.nonRouterCurrentEntryChangeSubscription??=this.stateManager.registerNonRouterCurrentEntryChangeListener((n,r)=>{setTimeout(()=>{this.navigateToSyncWithBrowser(n,"popstate",r)},0)})}navigateToSyncWithBrowser(n,r,o){let s={replaceUrl:!0},a=o?.navigationId?o:null;if(o){let c=Z({},o);delete c.navigationId,delete c.\u0275routerPageId,Object.keys(c).length!==0&&(s.state=c)}let l=this.parseUrl(n);this.scheduleNavigation(l,r,a,s)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(n){this.config=n.map(nI),this.navigated=!1}ngOnDestroy(){this.dispose()}dispose(){this.navigationTransitions.complete(),this.nonRouterCurrentEntryChangeSubscription&&(this.nonRouterCurrentEntryChangeSubscription.unsubscribe(),this.nonRouterCurrentEntryChangeSubscription=void 0),this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(n,r={}){let{relativeTo:o,queryParams:s,fragment:a,queryParamsHandling:l,preserveFragment:c}=r,d=c?this.currentUrlTree.fragment:a,u=null;switch(l){case"merge":u=Z(Z({},this.currentUrlTree.queryParams),s);break;case"preserve":u=this.currentUrlTree.queryParams;break;default:u=s||null}u!==null&&(u=this.removeEmptyProps(u));let h;try{let p=o?o.snapshot:this.routerState.snapshot.root;h=$L(p)}catch{(typeof n[0]!="string"||n[0][0]!=="/")&&(n=[]),h=this.currentUrlTree.root}return qL(h,n,u,d??null)}navigateByUrl(n,r={skipLocationChange:!1}){let o=lm(n)?n:this.parseUrl(n),s=this.urlHandlingStrategy.merge(o,this.rawUrlTree);return this.scheduleNavigation(s,om,null,r)}navigate(n,r={skipLocationChange:!1}){return PX(n),this.navigateByUrl(this.createUrlTree(n,r),r)}serializeUrl(n){return this.urlSerializer.serialize(n)}parseUrl(n){try{return this.urlSerializer.parse(n)}catch{return this.urlSerializer.parse("/")}}isActive(n,r){let o;if(r===!0?o=Z({},TX):r===!1?o=Z({},DX):o=r,lm(n))return DL(this.currentUrlTree,n,o);let s=this.parseUrl(n);return DL(this.currentUrlTree,s,o)}removeEmptyProps(n){return Object.entries(n).reduce((r,[o,s])=>(s!=null&&(r[o]=s),r),{})}scheduleNavigation(n,r,o,s,a){if(this.disposed)return Promise.resolve(!1);let l,c,d;a?(l=a.resolve,c=a.reject,d=a.promise):d=new Promise((h,p)=>{l=h,c=p});let u=this.pendingTasks.add();return EX(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(u))}),this.navigationTransitions.handleNavigationRequest({source:r,restoredState:o,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:n,extras:s,resolve:l,reject:c,promise:d,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),d.catch(h=>Promise.reject(h))}};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();function PX(i){for(let e=0;et.\u0275providers)])}function AX(i){return i.routerState.root}function NX(){let i=te(xt);return e=>{let t=i.get(us);if(e!==t.components[0])return;let n=i.get(fh),r=i.get(kX);i.get(LX)===1&&n.initialNavigation(),i.get(FX,null,en.Optional)?.setUpPreloading(),i.get(RX,null,en.Optional)?.init(),n.resetRootComponentType(t.componentTypes[0]),r.closed||(r.next(),r.complete(),r.unsubscribe())}}var kX=new ge("",{factory:()=>new me}),LX=new ge("",{providedIn:"root",factory:()=>1});var FX=new ge("");var uF=(()=>{class i{static \u0275fac=function(n){return new(n||i)};static \u0275cmp=le({type:i,selectors:[["app-root"]],standalone:!0,features:[ce],decls:1,vars:0,template:function(n,r){n&1&&ee(0,"router-outlet")},dependencies:[Ae,K1]})}return i})();var Vt=function(i){return i[i.State=0]="State",i[i.Transition=1]="Transition",i[i.Sequence=2]="Sequence",i[i.Group=3]="Group",i[i.Animate=4]="Animate",i[i.Keyframes=5]="Keyframes",i[i.Style=6]="Style",i[i.Trigger=7]="Trigger",i[i.Reference=8]="Reference",i[i.AnimateChild=9]="AnimateChild",i[i.AnimateRef=10]="AnimateRef",i[i.Query=11]="Query",i[i.Stagger=12]="Stagger",i}(Vt||{}),Gs="*";function ai(i,e){return{type:Vt.Trigger,name:i,definitions:e,options:{}}}function Pn(i,e=null){return{type:Vt.Animate,styles:e,timings:i}}function hF(i,e=null){return{type:Vt.Group,steps:i,options:e}}function pF(i,e=null){return{type:Vt.Sequence,steps:i,options:e}}function Qt(i){return{type:Vt.Style,styles:i,offset:null}}function mi(i,e,t){return{type:Vt.State,name:i,styles:e,options:t}}function On(i,e,t=null){return{type:Vt.Transition,expr:i,animation:e,options:t}}function fF(i=null){return{type:Vt.AnimateChild,options:i}}function mF(i,e,t=null){return{type:Vt.Query,selector:i,animation:e,options:t}}var Nl=class{constructor(e=0,t=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._originalOnDoneFns=[],this._originalOnStartFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=e+t}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(e=>e()),this._onDoneFns=[])}onStart(e){this._originalOnStartFns.push(e),this._onStartFns.push(e)}onDone(e){this._originalOnDoneFns.push(e),this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){queueMicrotask(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(e=>e()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}reset(){this._started=!1,this._finished=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}setPosition(e){this._position=this.totalTime?e*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(e){let t=e=="start"?this._onStartFns:this._onDoneFns;t.forEach(n=>n()),t.length=0}},ym=class{constructor(e){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=e;let t=0,n=0,r=0,o=this.players.length;o==0?queueMicrotask(()=>this._onFinish()):this.players.forEach(s=>{s.onDone(()=>{++t==o&&this._onFinish()}),s.onDestroy(()=>{++n==o&&this._onDestroy()}),s.onStart(()=>{++r==o&&this._onStart()})}),this.totalTime=this.players.reduce((s,a)=>Math.max(s,a.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(e=>e()),this._onDoneFns=[])}init(){this.players.forEach(e=>e.init())}onStart(e){this._onStartFns.push(e)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(e=>e()),this._onStartFns=[])}onDone(e){this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(e=>e.play())}pause(){this.players.forEach(e=>e.pause())}restart(){this.players.forEach(e=>e.restart())}finish(){this._onFinish(),this.players.forEach(e=>e.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(e=>e.destroy()),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}reset(){this.players.forEach(e=>e.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(e){let t=e*this.totalTime;this.players.forEach(n=>{let r=n.totalTime?Math.min(1,t/n.totalTime):1;n.setPosition(r)})}getPosition(){let e=this.players.reduce((t,n)=>t===null||n.totalTime>t.totalTime?n:t,null);return e!=null?e.getPosition():0}beforeDestroy(){this.players.forEach(e=>{e.beforeDestroy&&e.beforeDestroy()})}triggerCallback(e){let t=e=="start"?this._onStartFns:this._onDoneFns;t.forEach(n=>n()),t.length=0}},Eb="!";function gF(i){return new Oe(3e3,!1)}function BX(){return new Oe(3100,!1)}function VX(){return new Oe(3101,!1)}function zX(i){return new Oe(3001,!1)}function UX(i){return new Oe(3003,!1)}function HX(i){return new Oe(3004,!1)}function GX(i,e){return new Oe(3005,!1)}function jX(){return new Oe(3006,!1)}function WX(){return new Oe(3007,!1)}function $X(i,e){return new Oe(3008,!1)}function qX(i){return new Oe(3002,!1)}function YX(i,e,t,n,r){return new Oe(3010,!1)}function XX(){return new Oe(3011,!1)}function ZX(){return new Oe(3012,!1)}function QX(){return new Oe(3200,!1)}function KX(){return new Oe(3202,!1)}function JX(){return new Oe(3013,!1)}function eZ(i){return new Oe(3014,!1)}function tZ(i){return new Oe(3015,!1)}function nZ(i){return new Oe(3016,!1)}function iZ(i,e){return new Oe(3404,!1)}function rZ(i){return new Oe(3502,!1)}function oZ(i){return new Oe(3503,!1)}function sZ(){return new Oe(3300,!1)}function aZ(i){return new Oe(3504,!1)}function lZ(i){return new Oe(3301,!1)}function cZ(i,e){return new Oe(3302,!1)}function dZ(i){return new Oe(3303,!1)}function uZ(i,e){return new Oe(3400,!1)}function hZ(i){return new Oe(3401,!1)}function pZ(i){return new Oe(3402,!1)}function fZ(i,e){return new Oe(3505,!1)}function kl(i){switch(i.length){case 0:return new Nl;case 1:return i[0];default:return new ym(i)}}function PF(i,e,t=new Map,n=new Map){let r=[],o=[],s=-1,a=null;if(e.forEach(l=>{let c=l.get("offset"),d=c==s,u=d&&a||new Map;l.forEach((h,p)=>{let f=p,m=h;if(p!=="offset")switch(f=i.normalizePropertyName(f,r),m){case Eb:m=t.get(p);break;case Gs:m=n.get(p);break;default:m=i.normalizeStyleValue(p,f,m,r);break}u.set(f,m)}),d||o.push(u),a=u,s=c}),r.length)throw rZ(r);return o}function II(i,e,t,n){switch(e){case"start":i.onStart(()=>n(t&&oI(t,"start",i)));break;case"done":i.onDone(()=>n(t&&oI(t,"done",i)));break;case"destroy":i.onDestroy(()=>n(t&&oI(t,"destroy",i)));break}}function oI(i,e,t){let n=t.totalTime,r=!!t.disabled,o=TI(i.element,i.triggerName,i.fromState,i.toState,e||i.phaseName,n??i.totalTime,r),s=i._data;return s!=null&&(o._data=s),o}function TI(i,e,t,n,r="",o=0,s){return{element:i,triggerName:e,fromState:t,toState:n,phaseName:r,totalTime:o,disabled:!!s}}function ho(i,e,t){let n=i.get(e);return n||i.set(e,n=t),n}function _F(i){let e=i.indexOf(":"),t=i.substring(1,e),n=i.slice(e+1);return[t,n]}var mZ=typeof document>"u"?null:document.documentElement;function DI(i){let e=i.parentNode||i.host||null;return e===mZ?null:e}function gZ(i){return i.substring(1,6)=="ebkit"}var rd=null,vF=!1;function _Z(i){rd||(rd=vZ()||{},vF=rd.style?"WebkitAppearance"in rd.style:!1);let e=!0;return rd.style&&!gZ(i)&&(e=i in rd.style,!e&&vF&&(e="Webkit"+i.charAt(0).toUpperCase()+i.slice(1)in rd.style)),e}function vZ(){return typeof document<"u"?document.body:null}function OF(i,e){for(;e;){if(e===i)return!0;e=DI(e)}return!1}function RF(i,e,t){if(t)return Array.from(i.querySelectorAll(e));let n=i.querySelector(e);return n?[n]:[]}var PI=(()=>{let e=class e{validateStyleProperty(n){return _Z(n)}containsElement(n,r){return OF(n,r)}getParentElement(n){return DI(n)}query(n,r,o){return RF(n,r,o)}computeStyle(n,r,o){return o||""}animate(n,r,o,s,a,l=[],c){return new Nl(o,s)}};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:e.\u0275fac});let i=e;return i})(),NI=class NI{};NI.NOOP=new PI;var ad=NI,ld=class{};var bZ=1e3,AF="{{",yZ="}}",NF="ng-enter",uI="ng-leave",Ib="ng-trigger",Rb=".ng-trigger",bF="ng-animating",hI=".ng-animating";function Aa(i){if(typeof i=="number")return i;let e=i.match(/^(-?[\.\d]+)(m?s)/);return!e||e.length<2?0:pI(parseFloat(e[1]),e[2])}function pI(i,e){switch(e){case"s":return i*bZ;default:return i}}function Ab(i,e,t){return i.hasOwnProperty("duration")?i:xZ(i,e,t)}function xZ(i,e,t){let n=/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i,r,o=0,s="";if(typeof i=="string"){let a=i.match(n);if(a===null)return e.push(gF(i)),{duration:0,delay:0,easing:""};r=pI(parseFloat(a[1]),a[2]);let l=a[3];l!=null&&(o=pI(parseFloat(l),a[4]));let c=a[5];c&&(s=c)}else r=i;if(!t){let a=!1,l=e.length;r<0&&(e.push(BX()),a=!0),o<0&&(e.push(VX()),a=!0),a&&e.splice(l,0,gF(i))}return{duration:r,delay:o,easing:s}}function wZ(i){return i.length?i[0]instanceof Map?i:i.map(e=>new Map(Object.entries(e))):[]}function js(i,e,t){e.forEach((n,r)=>{let o=OI(r);t&&!t.has(r)&&t.set(r,i.style[o]),i.style[o]=n})}function sd(i,e){e.forEach((t,n)=>{let r=OI(n);i.style[r]=""})}function xm(i){return Array.isArray(i)?i.length==1?i[0]:pF(i):i}function CZ(i,e,t){let n=e.params||{},r=kF(i);r.length&&r.forEach(o=>{n.hasOwnProperty(o)||t.push(zX(o))})}var fI=new RegExp(`${AF}\\s*(.+?)\\s*${yZ}`,"g");function kF(i){let e=[];if(typeof i=="string"){let t;for(;t=fI.exec(i);)e.push(t[1]);fI.lastIndex=0}return e}function Cm(i,e,t){let n=`${i}`,r=n.replace(fI,(o,s)=>{let a=e[s];return a==null&&(t.push(UX(s)),a=""),a.toString()});return r==n?i:r}var SZ=/-+([a-z0-9])/g;function OI(i){return i.replace(SZ,(...e)=>e[1].toUpperCase())}function MZ(i,e){return i===0||e===0}function EZ(i,e,t){if(t.size&&e.length){let n=e[0],r=[];if(t.forEach((o,s)=>{n.has(s)||r.push(s),n.set(s,o)}),r.length)for(let o=1;os.set(a,RI(i,a)))}}return e}function uo(i,e,t){switch(e.type){case Vt.Trigger:return i.visitTrigger(e,t);case Vt.State:return i.visitState(e,t);case Vt.Transition:return i.visitTransition(e,t);case Vt.Sequence:return i.visitSequence(e,t);case Vt.Group:return i.visitGroup(e,t);case Vt.Animate:return i.visitAnimate(e,t);case Vt.Keyframes:return i.visitKeyframes(e,t);case Vt.Style:return i.visitStyle(e,t);case Vt.Reference:return i.visitReference(e,t);case Vt.AnimateChild:return i.visitAnimateChild(e,t);case Vt.AnimateRef:return i.visitAnimateRef(e,t);case Vt.Query:return i.visitQuery(e,t);case Vt.Stagger:return i.visitStagger(e,t);default:throw HX(e.type)}}function RI(i,e){return window.getComputedStyle(i)[e]}var IZ=new Set(["width","height","minWidth","minHeight","maxWidth","maxHeight","left","top","bottom","right","fontSize","outlineWidth","outlineOffset","paddingTop","paddingLeft","paddingBottom","paddingRight","marginTop","marginLeft","marginBottom","marginRight","borderRadius","borderWidth","borderTopWidth","borderLeftWidth","borderRightWidth","borderBottomWidth","textIndent","perspective"]),Nb=class extends ld{normalizePropertyName(e,t){return OI(e)}normalizeStyleValue(e,t,n,r){let o="",s=n.toString().trim();if(IZ.has(t)&&n!==0&&n!=="0")if(typeof n=="number")o="px";else{let a=n.match(/^[+-]?[\d\.]+([a-z]*)$/);a&&a[1].length==0&&r.push(GX(e,n))}return s+o}};var kb="*";function TZ(i,e){let t=[];return typeof i=="string"?i.split(/\s*,\s*/).forEach(n=>DZ(n,t,e)):t.push(i),t}function DZ(i,e,t){if(i[0]==":"){let l=PZ(i,t);if(typeof l=="function"){e.push(l);return}i=l}let n=i.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(n==null||n.length<4)return t.push(tZ(i)),e;let r=n[1],o=n[2],s=n[3];e.push(yF(r,s));let a=r==kb&&s==kb;o[0]=="<"&&!a&&e.push(yF(s,r))}function PZ(i,e){switch(i){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(t,n)=>parseFloat(n)>parseFloat(t);case":decrement":return(t,n)=>parseFloat(n) *"}}var Tb=new Set(["true","1"]),Db=new Set(["false","0"]);function yF(i,e){let t=Tb.has(i)||Db.has(i),n=Tb.has(e)||Db.has(e);return(r,o)=>{let s=i==kb||i==r,a=e==kb||e==o;return!s&&t&&typeof r=="boolean"&&(s=r?Tb.has(i):Db.has(i)),!a&&n&&typeof o=="boolean"&&(a=o?Tb.has(e):Db.has(e)),s&&a}}var LF=":self",OZ=new RegExp(`s*${LF}s*,?`,"g");function FF(i,e,t,n){return new mI(i).build(e,t,n)}var xF="",mI=class{constructor(e){this._driver=e}build(e,t,n){let r=new gI(t);return this._resetContextStyleTimingState(r),uo(this,xm(e),r)}_resetContextStyleTimingState(e){e.currentQuerySelector=xF,e.collectedStyles=new Map,e.collectedStyles.set(xF,new Map),e.currentTime=0}visitTrigger(e,t){let n=t.queryCount=0,r=t.depCount=0,o=[],s=[];return e.name.charAt(0)=="@"&&t.errors.push(jX()),e.definitions.forEach(a=>{if(this._resetContextStyleTimingState(t),a.type==Vt.State){let l=a,c=l.name;c.toString().split(/\s*,\s*/).forEach(d=>{l.name=d,o.push(this.visitState(l,t))}),l.name=c}else if(a.type==Vt.Transition){let l=this.visitTransition(a,t);n+=l.queryCount,r+=l.depCount,s.push(l)}else t.errors.push(WX())}),{type:Vt.Trigger,name:e.name,states:o,transitions:s,queryCount:n,depCount:r,options:null}}visitState(e,t){let n=this.visitStyle(e.styles,t),r=e.options&&e.options.params||null;if(n.containsDynamicStyles){let o=new Set,s=r||{};n.styles.forEach(a=>{a instanceof Map&&a.forEach(l=>{kF(l).forEach(c=>{s.hasOwnProperty(c)||o.add(c)})})}),o.size&&t.errors.push($X(e.name,[...o.values()]))}return{type:Vt.State,name:e.name,style:n,options:r?{params:r}:null}}visitTransition(e,t){t.queryCount=0,t.depCount=0;let n=uo(this,xm(e.animation),t),r=TZ(e.expr,t.errors);return{type:Vt.Transition,matchers:r,animation:n,queryCount:t.queryCount,depCount:t.depCount,options:od(e.options)}}visitSequence(e,t){return{type:Vt.Sequence,steps:e.steps.map(n=>uo(this,n,t)),options:od(e.options)}}visitGroup(e,t){let n=t.currentTime,r=0,o=e.steps.map(s=>{t.currentTime=n;let a=uo(this,s,t);return r=Math.max(r,t.currentTime),a});return t.currentTime=r,{type:Vt.Group,steps:o,options:od(e.options)}}visitAnimate(e,t){let n=kZ(e.timings,t.errors);t.currentAnimateTimings=n;let r,o=e.styles?e.styles:Qt({});if(o.type==Vt.Keyframes)r=this.visitKeyframes(o,t);else{let s=e.styles,a=!1;if(!s){a=!0;let c={};n.easing&&(c.easing=n.easing),s=Qt(c)}t.currentTime+=n.duration+n.delay;let l=this.visitStyle(s,t);l.isEmptyStep=a,r=l}return t.currentAnimateTimings=null,{type:Vt.Animate,timings:n,style:r,options:null}}visitStyle(e,t){let n=this._makeStyleAst(e,t);return this._validateStyleAst(n,t),n}_makeStyleAst(e,t){let n=[],r=Array.isArray(e.styles)?e.styles:[e.styles];for(let a of r)typeof a=="string"?a===Gs?n.push(a):t.errors.push(qX(a)):n.push(new Map(Object.entries(a)));let o=!1,s=null;return n.forEach(a=>{if(a instanceof Map&&(a.has("easing")&&(s=a.get("easing"),a.delete("easing")),!o)){for(let l of a.values())if(l.toString().indexOf(AF)>=0){o=!0;break}}}),{type:Vt.Style,styles:n,easing:s,offset:e.offset,containsDynamicStyles:o,options:null}}_validateStyleAst(e,t){let n=t.currentAnimateTimings,r=t.currentTime,o=t.currentTime;n&&o>0&&(o-=n.duration+n.delay),e.styles.forEach(s=>{typeof s!="string"&&s.forEach((a,l)=>{let c=t.collectedStyles.get(t.currentQuerySelector),d=c.get(l),u=!0;d&&(o!=r&&o>=d.startTime&&r<=d.endTime&&(t.errors.push(YX(l,d.startTime,d.endTime,o,r)),u=!1),o=d.startTime),u&&c.set(l,{startTime:o,endTime:r}),t.options&&CZ(a,t.options,t.errors)})})}visitKeyframes(e,t){let n={type:Vt.Keyframes,styles:[],options:null};if(!t.currentAnimateTimings)return t.errors.push(XX()),n;let r=1,o=0,s=[],a=!1,l=!1,c=0,d=e.steps.map(g=>{let _=this._makeStyleAst(g,t),x=_.offset!=null?_.offset:NZ(_.styles),C=0;return x!=null&&(o++,C=_.offset=x),l=l||C<0||C>1,a=a||C0&&o{let x=h>0?_==p?1:h*_:s[_],C=x*y;t.currentTime=f+m.delay+C,m.duration=C,this._validateStyleAst(g,t),g.offset=x,n.styles.push(g)}),n}visitReference(e,t){return{type:Vt.Reference,animation:uo(this,xm(e.animation),t),options:od(e.options)}}visitAnimateChild(e,t){return t.depCount++,{type:Vt.AnimateChild,options:od(e.options)}}visitAnimateRef(e,t){return{type:Vt.AnimateRef,animation:this.visitReference(e.animation,t),options:od(e.options)}}visitQuery(e,t){let n=t.currentQuerySelector,r=e.options||{};t.queryCount++,t.currentQuery=e;let[o,s]=RZ(e.selector);t.currentQuerySelector=n.length?n+" "+o:o,ho(t.collectedStyles,t.currentQuerySelector,new Map);let a=uo(this,xm(e.animation),t);return t.currentQuery=null,t.currentQuerySelector=n,{type:Vt.Query,selector:o,limit:r.limit||0,optional:!!r.optional,includeSelf:s,animation:a,originalSelector:e.selector,options:od(e.options)}}visitStagger(e,t){t.currentQuery||t.errors.push(JX());let n=e.timings==="full"?{duration:0,delay:0,easing:"full"}:Ab(e.timings,t.errors,!0);return{type:Vt.Stagger,animation:uo(this,xm(e.animation),t),timings:n,options:null}}};function RZ(i){let e=!!i.split(/\s*,\s*/).find(t=>t==LF);return e&&(i=i.replace(OZ,"")),i=i.replace(/@\*/g,Rb).replace(/@\w+/g,t=>Rb+"-"+t.slice(1)).replace(/:animating/g,hI),[i,e]}function AZ(i){return i?Z({},i):null}var gI=class{constructor(e){this.errors=e,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles=new Map,this.options=null,this.unsupportedCSSPropertiesFound=new Set}};function NZ(i){if(typeof i=="string")return null;let e=null;if(Array.isArray(i))i.forEach(t=>{if(t instanceof Map&&t.has("offset")){let n=t;e=parseFloat(n.get("offset")),n.delete("offset")}});else if(i instanceof Map&&i.has("offset")){let t=i;e=parseFloat(t.get("offset")),t.delete("offset")}return e}function kZ(i,e){if(i.hasOwnProperty("duration"))return i;if(typeof i=="number"){let o=Ab(i,e).duration;return sI(o,0,"")}let t=i;if(t.split(/\s+/).some(o=>o.charAt(0)=="{"&&o.charAt(1)=="{")){let o=sI(0,0,"");return o.dynamic=!0,o.strValue=t,o}let r=Ab(t,e);return sI(r.duration,r.delay,r.easing)}function od(i){return i?(i=Z({},i),i.params&&(i.params=AZ(i.params))):i={},i}function sI(i,e,t){return{duration:i,delay:e,easing:t}}function AI(i,e,t,n,r,o,s=null,a=!1){return{type:1,element:i,keyframes:e,preStyleProps:t,postStyleProps:n,duration:r,delay:o,totalTime:r+o,easing:s,subTimeline:a}}var Sm=class{constructor(){this._map=new Map}get(e){return this._map.get(e)||[]}append(e,t){let n=this._map.get(e);n||this._map.set(e,n=[]),n.push(...t)}has(e){return this._map.has(e)}clear(){this._map.clear()}},LZ=1,FZ=":enter",BZ=new RegExp(FZ,"g"),VZ=":leave",zZ=new RegExp(VZ,"g");function BF(i,e,t,n,r,o=new Map,s=new Map,a,l,c=[]){return new _I().buildKeyframes(i,e,t,n,r,o,s,a,l,c)}var _I=class{buildKeyframes(e,t,n,r,o,s,a,l,c,d=[]){c=c||new Sm;let u=new vI(e,t,c,r,o,d,[]);u.options=l;let h=l.delay?Aa(l.delay):0;u.currentTimeline.delayNextStep(h),u.currentTimeline.setStyles([s],null,u.errors,l),uo(this,n,u);let p=u.timelines.filter(f=>f.containsAnimation());if(p.length&&a.size){let f;for(let m=p.length-1;m>=0;m--){let y=p[m];if(y.element===t){f=y;break}}f&&!f.allowOnlyTimelineStyles()&&f.setStyles([a],null,u.errors,l)}return p.length?p.map(f=>f.buildKeyframes()):[AI(t,[],[],[],0,h,"",!1)]}visitTrigger(e,t){}visitState(e,t){}visitTransition(e,t){}visitAnimateChild(e,t){let n=t.subInstructions.get(t.element);if(n){let r=t.createSubContext(e.options),o=t.currentTimeline.currentTime,s=this._visitSubInstructions(n,r,r.options);o!=s&&t.transformIntoNewTimeline(s)}t.previousNode=e}visitAnimateRef(e,t){let n=t.createSubContext(e.options);n.transformIntoNewTimeline(),this._applyAnimationRefDelays([e.options,e.animation.options],t,n),this.visitReference(e.animation,n),t.transformIntoNewTimeline(n.currentTimeline.currentTime),t.previousNode=e}_applyAnimationRefDelays(e,t,n){for(let r of e){let o=r?.delay;if(o){let s=typeof o=="number"?o:Aa(Cm(o,r?.params??{},t.errors));n.delayNextStep(s)}}}_visitSubInstructions(e,t,n){let o=t.currentTimeline.currentTime,s=n.duration!=null?Aa(n.duration):null,a=n.delay!=null?Aa(n.delay):null;return s!==0&&e.forEach(l=>{let c=t.appendInstructionToTimeline(l,s,a);o=Math.max(o,c.duration+c.delay)}),o}visitReference(e,t){t.updateOptions(e.options,!0),uo(this,e.animation,t),t.previousNode=e}visitSequence(e,t){let n=t.subContextCount,r=t,o=e.options;if(o&&(o.params||o.delay)&&(r=t.createSubContext(o),r.transformIntoNewTimeline(),o.delay!=null)){r.previousNode.type==Vt.Style&&(r.currentTimeline.snapshotCurrentStyles(),r.previousNode=Lb);let s=Aa(o.delay);r.delayNextStep(s)}e.steps.length&&(e.steps.forEach(s=>uo(this,s,r)),r.currentTimeline.applyStylesToKeyframe(),r.subContextCount>n&&r.transformIntoNewTimeline()),t.previousNode=e}visitGroup(e,t){let n=[],r=t.currentTimeline.currentTime,o=e.options&&e.options.delay?Aa(e.options.delay):0;e.steps.forEach(s=>{let a=t.createSubContext(e.options);o&&a.delayNextStep(o),uo(this,s,a),r=Math.max(r,a.currentTimeline.currentTime),n.push(a.currentTimeline)}),n.forEach(s=>t.currentTimeline.mergeTimelineCollectedStyles(s)),t.transformIntoNewTimeline(r),t.previousNode=e}_visitTiming(e,t){if(e.dynamic){let n=e.strValue,r=t.params?Cm(n,t.params,t.errors):n;return Ab(r,t.errors)}else return{duration:e.duration,delay:e.delay,easing:e.easing}}visitAnimate(e,t){let n=t.currentAnimateTimings=this._visitTiming(e.timings,t),r=t.currentTimeline;n.delay&&(t.incrementTime(n.delay),r.snapshotCurrentStyles());let o=e.style;o.type==Vt.Keyframes?this.visitKeyframes(o,t):(t.incrementTime(n.duration),this.visitStyle(o,t),r.applyStylesToKeyframe()),t.currentAnimateTimings=null,t.previousNode=e}visitStyle(e,t){let n=t.currentTimeline,r=t.currentAnimateTimings;!r&&n.hasCurrentStyleProperties()&&n.forwardFrame();let o=r&&r.easing||e.easing;e.isEmptyStep?n.applyEmptyStep(o):n.setStyles(e.styles,o,t.errors,t.options),t.previousNode=e}visitKeyframes(e,t){let n=t.currentAnimateTimings,r=t.currentTimeline.duration,o=n.duration,a=t.createSubContext().currentTimeline;a.easing=n.easing,e.styles.forEach(l=>{let c=l.offset||0;a.forwardTime(c*o),a.setStyles(l.styles,l.easing,t.errors,t.options),a.applyStylesToKeyframe()}),t.currentTimeline.mergeTimelineCollectedStyles(a),t.transformIntoNewTimeline(r+o),t.previousNode=e}visitQuery(e,t){let n=t.currentTimeline.currentTime,r=e.options||{},o=r.delay?Aa(r.delay):0;o&&(t.previousNode.type===Vt.Style||n==0&&t.currentTimeline.hasCurrentStyleProperties())&&(t.currentTimeline.snapshotCurrentStyles(),t.previousNode=Lb);let s=n,a=t.invokeQuery(e.selector,e.originalSelector,e.limit,e.includeSelf,!!r.optional,t.errors);t.currentQueryTotal=a.length;let l=null;a.forEach((c,d)=>{t.currentQueryIndex=d;let u=t.createSubContext(e.options,c);o&&u.delayNextStep(o),c===t.element&&(l=u.currentTimeline),uo(this,e.animation,u),u.currentTimeline.applyStylesToKeyframe();let h=u.currentTimeline.currentTime;s=Math.max(s,h)}),t.currentQueryIndex=0,t.currentQueryTotal=0,t.transformIntoNewTimeline(s),l&&(t.currentTimeline.mergeTimelineCollectedStyles(l),t.currentTimeline.snapshotCurrentStyles()),t.previousNode=e}visitStagger(e,t){let n=t.parentContext,r=t.currentTimeline,o=e.timings,s=Math.abs(o.duration),a=s*(t.currentQueryTotal-1),l=s*t.currentQueryIndex;switch(o.duration<0?"reverse":o.easing){case"reverse":l=a-l;break;case"full":l=n.currentStaggerTime;break}let d=t.currentTimeline;l&&d.delayNextStep(l);let u=d.currentTime;uo(this,e.animation,t),t.previousNode=e,n.currentStaggerTime=r.currentTime-u+(r.startTime-n.currentTimeline.startTime)}},Lb={},vI=class i{constructor(e,t,n,r,o,s,a,l){this._driver=e,this.element=t,this.subInstructions=n,this._enterClassName=r,this._leaveClassName=o,this.errors=s,this.timelines=a,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=Lb,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=l||new Fb(this._driver,t,0),a.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(e,t){if(!e)return;let n=e,r=this.options;n.duration!=null&&(r.duration=Aa(n.duration)),n.delay!=null&&(r.delay=Aa(n.delay));let o=n.params;if(o){let s=r.params;s||(s=this.options.params={}),Object.keys(o).forEach(a=>{(!t||!s.hasOwnProperty(a))&&(s[a]=Cm(o[a],s,this.errors))})}}_copyOptions(){let e={};if(this.options){let t=this.options.params;if(t){let n=e.params={};Object.keys(t).forEach(r=>{n[r]=t[r]})}}return e}createSubContext(e=null,t,n){let r=t||this.element,o=new i(this._driver,r,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(r,n||0));return o.previousNode=this.previousNode,o.currentAnimateTimings=this.currentAnimateTimings,o.options=this._copyOptions(),o.updateOptions(e),o.currentQueryIndex=this.currentQueryIndex,o.currentQueryTotal=this.currentQueryTotal,o.parentContext=this,this.subContextCount++,o}transformIntoNewTimeline(e){return this.previousNode=Lb,this.currentTimeline=this.currentTimeline.fork(this.element,e),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(e,t,n){let r={duration:t??e.duration,delay:this.currentTimeline.currentTime+(n??0)+e.delay,easing:""},o=new bI(this._driver,e.element,e.keyframes,e.preStyleProps,e.postStyleProps,r,e.stretchStartingKeyframe);return this.timelines.push(o),r}incrementTime(e){this.currentTimeline.forwardTime(this.currentTimeline.duration+e)}delayNextStep(e){e>0&&this.currentTimeline.delayNextStep(e)}invokeQuery(e,t,n,r,o,s){let a=[];if(r&&a.push(this.element),e.length>0){e=e.replace(BZ,"."+this._enterClassName),e=e.replace(zZ,"."+this._leaveClassName);let l=n!=1,c=this._driver.query(this.element,e,l);n!==0&&(c=n<0?c.slice(c.length+n,c.length):c.slice(0,n)),a.push(...c)}return!o&&a.length==0&&s.push(eZ(t)),a}},Fb=class i{constructor(e,t,n,r){this._driver=e,this.element=t,this.startTime=n,this._elementTimelineStylesLookup=r,this.duration=0,this.easing=null,this._previousKeyframe=new Map,this._currentKeyframe=new Map,this._keyframes=new Map,this._styleSummary=new Map,this._localTimelineStyles=new Map,this._pendingStyles=new Map,this._backFill=new Map,this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(t),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(t,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.hasCurrentStyleProperties();default:return!0}}hasCurrentStyleProperties(){return this._currentKeyframe.size>0}get currentTime(){return this.startTime+this.duration}delayNextStep(e){let t=this._keyframes.size===1&&this._pendingStyles.size;this.duration||t?(this.forwardTime(this.currentTime+e),t&&this.snapshotCurrentStyles()):this.startTime+=e}fork(e,t){return this.applyStylesToKeyframe(),new i(this._driver,e,t||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=new Map,this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=LZ,this._loadKeyframe()}forwardTime(e){this.applyStylesToKeyframe(),this.duration=e,this._loadKeyframe()}_updateStyle(e,t){this._localTimelineStyles.set(e,t),this._globalTimelineStyles.set(e,t),this._styleSummary.set(e,{time:this.currentTime,value:t})}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(e){e&&this._previousKeyframe.set("easing",e);for(let[t,n]of this._globalTimelineStyles)this._backFill.set(t,n||Gs),this._currentKeyframe.set(t,Gs);this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(e,t,n,r){t&&this._previousKeyframe.set("easing",t);let o=r&&r.params||{},s=UZ(e,this._globalTimelineStyles);for(let[a,l]of s){let c=Cm(l,o,n);this._pendingStyles.set(a,c),this._localTimelineStyles.has(a)||this._backFill.set(a,this._globalTimelineStyles.get(a)??Gs),this._updateStyle(a,c)}}applyStylesToKeyframe(){this._pendingStyles.size!=0&&(this._pendingStyles.forEach((e,t)=>{this._currentKeyframe.set(t,e)}),this._pendingStyles.clear(),this._localTimelineStyles.forEach((e,t)=>{this._currentKeyframe.has(t)||this._currentKeyframe.set(t,e)}))}snapshotCurrentStyles(){for(let[e,t]of this._localTimelineStyles)this._pendingStyles.set(e,t),this._updateStyle(e,t)}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){let e=[];for(let t in this._currentKeyframe)e.push(t);return e}mergeTimelineCollectedStyles(e){e._styleSummary.forEach((t,n)=>{let r=this._styleSummary.get(n);(!r||t.time>r.time)&&this._updateStyle(n,t.value)})}buildKeyframes(){this.applyStylesToKeyframe();let e=new Set,t=new Set,n=this._keyframes.size===1&&this.duration===0,r=[];this._keyframes.forEach((a,l)=>{let c=new Map([...this._backFill,...a]);c.forEach((d,u)=>{d===Eb?e.add(u):d===Gs&&t.add(u)}),n||c.set("offset",l/this.duration),r.push(c)});let o=[...e.values()],s=[...t.values()];if(n){let a=r[0],l=new Map(a);a.set("offset",0),l.set("offset",1),r=[a,l]}return AI(this.element,r,o,s,this.duration,this.startTime,this.easing,!1)}},bI=class extends Fb{constructor(e,t,n,r,o,s,a=!1){super(e,t,s.delay),this.keyframes=n,this.preStyleProps=r,this.postStyleProps=o,this._stretchStartingKeyframe=a,this.timings={duration:s.duration,delay:s.delay,easing:s.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let e=this.keyframes,{delay:t,duration:n,easing:r}=this.timings;if(this._stretchStartingKeyframe&&t){let o=[],s=n+t,a=t/s,l=new Map(e[0]);l.set("offset",0),o.push(l);let c=new Map(e[0]);c.set("offset",wF(a)),o.push(c);let d=e.length-1;for(let u=1;u<=d;u++){let h=new Map(e[u]),p=h.get("offset"),f=t+p*n;h.set("offset",wF(f/s)),o.push(h)}n=s,t=0,r="",e=o}return AI(this.element,e,this.preStyleProps,this.postStyleProps,n,t,r,!0)}};function wF(i,e=3){let t=Math.pow(10,e-1);return Math.round(i*t)/t}function UZ(i,e){let t=new Map,n;return i.forEach(r=>{if(r==="*"){n??=e.keys();for(let o of n)t.set(o,Gs)}else for(let[o,s]of r)t.set(o,s)}),t}function CF(i,e,t,n,r,o,s,a,l,c,d,u,h){return{type:0,element:i,triggerName:e,isRemovalTransition:r,fromState:t,fromStyles:o,toState:n,toStyles:s,timelines:a,queriedElements:l,preStyleProps:c,postStyleProps:d,totalTime:u,errors:h}}var aI={},Bb=class{constructor(e,t,n){this._triggerName=e,this.ast=t,this._stateStyles=n}match(e,t,n,r){return HZ(this.ast.matchers,e,t,n,r)}buildStyles(e,t,n){let r=this._stateStyles.get("*");return e!==void 0&&(r=this._stateStyles.get(e?.toString())||r),r?r.buildStyles(t,n):new Map}build(e,t,n,r,o,s,a,l,c,d){let u=[],h=this.ast.options&&this.ast.options.params||aI,p=a&&a.params||aI,f=this.buildStyles(n,p,u),m=l&&l.params||aI,y=this.buildStyles(r,m,u),g=new Set,_=new Map,x=new Map,C=r==="void",T={params:VF(m,h),delay:this.ast.options?.delay},D=d?[]:BF(e,t,this.ast.animation,o,s,f,y,T,c,u),E=0;return D.forEach(P=>{E=Math.max(P.duration+P.delay,E)}),u.length?CF(t,this._triggerName,n,r,C,f,y,[],[],_,x,E,u):(D.forEach(P=>{let Y=P.element,$=ho(_,Y,new Set);P.preStyleProps.forEach(O=>$.add(O));let U=ho(x,Y,new Set);P.postStyleProps.forEach(O=>U.add(O)),Y!==t&&g.add(Y)}),CF(t,this._triggerName,n,r,C,f,y,D,[...g.values()],_,x,E))}};function HZ(i,e,t,n,r){return i.some(o=>o(e,t,n,r))}function VF(i,e){let t=Z({},e);return Object.entries(i).forEach(([n,r])=>{r!=null&&(t[n]=r)}),t}var yI=class{constructor(e,t,n){this.styles=e,this.defaultParams=t,this.normalizer=n}buildStyles(e,t){let n=new Map,r=VF(e,this.defaultParams);return this.styles.styles.forEach(o=>{typeof o!="string"&&o.forEach((s,a)=>{s&&(s=Cm(s,r,t));let l=this.normalizer.normalizePropertyName(a,t);s=this.normalizer.normalizeStyleValue(a,l,s,t),n.set(a,s)})}),n}};function GZ(i,e,t){return new xI(i,e,t)}var xI=class{constructor(e,t,n){this.name=e,this.ast=t,this._normalizer=n,this.transitionFactories=[],this.states=new Map,t.states.forEach(r=>{let o=r.options&&r.options.params||{};this.states.set(r.name,new yI(r.style,o,n))}),SF(this.states,"true","1"),SF(this.states,"false","0"),t.transitions.forEach(r=>{this.transitionFactories.push(new Bb(e,r,this.states))}),this.fallbackTransition=jZ(e,this.states,this._normalizer)}get containsQueries(){return this.ast.queryCount>0}matchTransition(e,t,n,r){return this.transitionFactories.find(s=>s.match(e,t,n,r))||null}matchStyles(e,t,n){return this.fallbackTransition.buildStyles(e,t,n)}};function jZ(i,e,t){let n=[(s,a)=>!0],r={type:Vt.Sequence,steps:[],options:null},o={type:Vt.Transition,animation:r,matchers:n,options:null,queryCount:0,depCount:0};return new Bb(i,o,e)}function SF(i,e,t){i.has(e)?i.has(t)||i.set(t,i.get(e)):i.has(t)&&i.set(e,i.get(t))}var WZ=new Sm,wI=class{constructor(e,t,n){this.bodyNode=e,this._driver=t,this._normalizer=n,this._animations=new Map,this._playersById=new Map,this.players=[]}register(e,t){let n=[],r=[],o=FF(this._driver,t,n,r);if(n.length)throw oZ(n);r.length&&void 0,this._animations.set(e,o)}_buildPlayer(e,t,n){let r=e.element,o=PF(this._normalizer,e.keyframes,t,n);return this._driver.animate(r,o,e.duration,e.delay,e.easing,[],!0)}create(e,t,n={}){let r=[],o=this._animations.get(e),s,a=new Map;if(o?(s=BF(this._driver,t,o,NF,uI,new Map,new Map,n,WZ,r),s.forEach(d=>{let u=ho(a,d.element,new Map);d.postStyleProps.forEach(h=>u.set(h,null))})):(r.push(sZ()),s=[]),r.length)throw aZ(r);a.forEach((d,u)=>{d.forEach((h,p)=>{d.set(p,this._driver.computeStyle(u,p,Gs))})});let l=s.map(d=>{let u=a.get(d.element);return this._buildPlayer(d,new Map,u)}),c=kl(l);return this._playersById.set(e,c),c.onDestroy(()=>this.destroy(e)),this.players.push(c),c}destroy(e){let t=this._getPlayer(e);t.destroy(),this._playersById.delete(e);let n=this.players.indexOf(t);n>=0&&this.players.splice(n,1)}_getPlayer(e){let t=this._playersById.get(e);if(!t)throw lZ(e);return t}listen(e,t,n,r){let o=TI(t,"","","");return II(this._getPlayer(e),n,o,r),()=>{}}command(e,t,n,r){if(n=="register"){this.register(e,r[0]);return}if(n=="create"){let s=r[0]||{};this.create(e,t,s);return}let o=this._getPlayer(e);switch(n){case"play":o.play();break;case"pause":o.pause();break;case"reset":o.reset();break;case"restart":o.restart();break;case"finish":o.finish();break;case"init":o.init();break;case"setPosition":o.setPosition(parseFloat(r[0]));break;case"destroy":this.destroy(e);break}}},MF="ng-animate-queued",$Z=".ng-animate-queued",lI="ng-animate-disabled",qZ=".ng-animate-disabled",YZ="ng-star-inserted",XZ=".ng-star-inserted",ZZ=[],zF={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},QZ={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},ps="__ng_removed",Mm=class{get params(){return this.options.params}constructor(e,t=""){this.namespaceId=t;let n=e&&e.hasOwnProperty("value"),r=n?e.value:e;if(this.value=JZ(r),n){let o=e,{value:s}=o,a=cS(o,["value"]);this.options=a}else this.options={};this.options.params||(this.options.params={})}absorbOptions(e){let t=e.params;if(t){let n=this.options.params;Object.keys(t).forEach(r=>{n[r]==null&&(n[r]=t[r])})}}},wm="void",cI=new Mm(wm),CI=class{constructor(e,t,n){this.id=e,this.hostElement=t,this._engine=n,this.players=[],this._triggers=new Map,this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+e,Lo(t,this._hostClassName)}listen(e,t,n,r){if(!this._triggers.has(t))throw cZ(n,t);if(n==null||n.length==0)throw dZ(t);if(!eQ(n))throw uZ(n,t);let o=ho(this._elementListeners,e,[]),s={name:t,phase:n,callback:r};o.push(s);let a=ho(this._engine.statesByElement,e,new Map);return a.has(t)||(Lo(e,Ib),Lo(e,Ib+"-"+t),a.set(t,cI)),()=>{this._engine.afterFlush(()=>{let l=o.indexOf(s);l>=0&&o.splice(l,1),this._triggers.has(t)||a.delete(t)})}}register(e,t){return this._triggers.has(e)?!1:(this._triggers.set(e,t),!0)}_getTrigger(e){let t=this._triggers.get(e);if(!t)throw hZ(e);return t}trigger(e,t,n,r=!0){let o=this._getTrigger(t),s=new Em(this.id,t,e),a=this._engine.statesByElement.get(e);a||(Lo(e,Ib),Lo(e,Ib+"-"+t),this._engine.statesByElement.set(e,a=new Map));let l=a.get(t),c=new Mm(n,this.id);if(!(n&&n.hasOwnProperty("value"))&&l&&c.absorbOptions(l.options),a.set(t,c),l||(l=cI),!(c.value===wm)&&l.value===c.value){if(!iQ(l.params,c.params)){let m=[],y=o.matchStyles(l.value,l.params,m),g=o.matchStyles(c.value,c.params,m);m.length?this._engine.reportError(m):this._engine.afterFlush(()=>{sd(e,y),js(e,g)})}return}let h=ho(this._engine.playersByElement,e,[]);h.forEach(m=>{m.namespaceId==this.id&&m.triggerName==t&&m.queued&&m.destroy()});let p=o.matchTransition(l.value,c.value,e,c.params),f=!1;if(!p){if(!r)return;p=o.fallbackTransition,f=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:e,triggerName:t,transition:p,fromState:l,toState:c,player:s,isFallbackTransition:f}),f||(Lo(e,MF),s.onStart(()=>{mh(e,MF)})),s.onDone(()=>{let m=this.players.indexOf(s);m>=0&&this.players.splice(m,1);let y=this._engine.playersByElement.get(e);if(y){let g=y.indexOf(s);g>=0&&y.splice(g,1)}}),this.players.push(s),h.push(s),s}deregister(e){this._triggers.delete(e),this._engine.statesByElement.forEach(t=>t.delete(e)),this._elementListeners.forEach((t,n)=>{this._elementListeners.set(n,t.filter(r=>r.name!=e))})}clearElementCache(e){this._engine.statesByElement.delete(e),this._elementListeners.delete(e);let t=this._engine.playersByElement.get(e);t&&(t.forEach(n=>n.destroy()),this._engine.playersByElement.delete(e))}_signalRemovalForInnerTriggers(e,t){let n=this._engine.driver.query(e,Rb,!0);n.forEach(r=>{if(r[ps])return;let o=this._engine.fetchNamespacesByElement(r);o.size?o.forEach(s=>s.triggerLeaveAnimation(r,t,!1,!0)):this.clearElementCache(r)}),this._engine.afterFlushAnimationsDone(()=>n.forEach(r=>this.clearElementCache(r)))}triggerLeaveAnimation(e,t,n,r){let o=this._engine.statesByElement.get(e),s=new Map;if(o){let a=[];if(o.forEach((l,c)=>{if(s.set(c,l.value),this._triggers.has(c)){let d=this.trigger(e,c,wm,r);d&&a.push(d)}}),a.length)return this._engine.markElementAsRemoved(this.id,e,!0,t,s),n&&kl(a).onDone(()=>this._engine.processLeaveNode(e)),!0}return!1}prepareLeaveAnimationListeners(e){let t=this._elementListeners.get(e),n=this._engine.statesByElement.get(e);if(t&&n){let r=new Set;t.forEach(o=>{let s=o.name;if(r.has(s))return;r.add(s);let l=this._triggers.get(s).fallbackTransition,c=n.get(s)||cI,d=new Mm(wm),u=new Em(this.id,s,e);this._engine.totalQueuedPlayers++,this._queue.push({element:e,triggerName:s,transition:l,fromState:c,toState:d,player:u,isFallbackTransition:!0})})}}removeNode(e,t){let n=this._engine;if(e.childElementCount&&this._signalRemovalForInnerTriggers(e,t),this.triggerLeaveAnimation(e,t,!0))return;let r=!1;if(n.totalAnimations){let o=n.players.length?n.playersByQueriedElement.get(e):[];if(o&&o.length)r=!0;else{let s=e;for(;s=s.parentNode;)if(n.statesByElement.get(s)){r=!0;break}}}if(this.prepareLeaveAnimationListeners(e),r)n.markElementAsRemoved(this.id,e,!1,t);else{let o=e[ps];(!o||o===zF)&&(n.afterFlush(()=>this.clearElementCache(e)),n.destroyInnerAnimations(e),n._onRemovalComplete(e,t))}}insertNode(e,t){Lo(e,this._hostClassName)}drainQueuedTransitions(e){let t=[];return this._queue.forEach(n=>{let r=n.player;if(r.destroyed)return;let o=n.element,s=this._elementListeners.get(o);s&&s.forEach(a=>{if(a.name==n.triggerName){let l=TI(o,n.triggerName,n.fromState.value,n.toState.value);l._data=e,II(n.player,a.phase,l,a.callback)}}),r.markedForDestroy?this._engine.afterFlush(()=>{r.destroy()}):t.push(n)}),this._queue=[],t.sort((n,r)=>{let o=n.transition.ast.depCount,s=r.transition.ast.depCount;return o==0||s==0?o-s:this._engine.driver.containsElement(n.element,r.element)?1:-1})}destroy(e){this.players.forEach(t=>t.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,e)}},SI=class{_onRemovalComplete(e,t){this.onRemovalComplete(e,t)}constructor(e,t,n){this.bodyNode=e,this.driver=t,this._normalizer=n,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=(r,o)=>{}}get queuedPlayers(){let e=[];return this._namespaceList.forEach(t=>{t.players.forEach(n=>{n.queued&&e.push(n)})}),e}createNamespace(e,t){let n=new CI(e,t,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,t)?this._balanceNamespaceList(n,t):(this.newHostElements.set(t,n),this.collectEnterElement(t)),this._namespaceLookup[e]=n}_balanceNamespaceList(e,t){let n=this._namespaceList,r=this.namespacesByHostElement;if(n.length-1>=0){let s=!1,a=this.driver.getParentElement(t);for(;a;){let l=r.get(a);if(l){let c=n.indexOf(l);n.splice(c+1,0,e),s=!0;break}a=this.driver.getParentElement(a)}s||n.unshift(e)}else n.push(e);return r.set(t,e),e}register(e,t){let n=this._namespaceLookup[e];return n||(n=this.createNamespace(e,t)),n}registerTrigger(e,t,n){let r=this._namespaceLookup[e];r&&r.register(t,n)&&this.totalAnimations++}destroy(e,t){e&&(this.afterFlush(()=>{}),this.afterFlushAnimationsDone(()=>{let n=this._fetchNamespace(e);this.namespacesByHostElement.delete(n.hostElement);let r=this._namespaceList.indexOf(n);r>=0&&this._namespaceList.splice(r,1),n.destroy(t),delete this._namespaceLookup[e]}))}_fetchNamespace(e){return this._namespaceLookup[e]}fetchNamespacesByElement(e){let t=new Set,n=this.statesByElement.get(e);if(n){for(let r of n.values())if(r.namespaceId){let o=this._fetchNamespace(r.namespaceId);o&&t.add(o)}}return t}trigger(e,t,n,r){if(Pb(t)){let o=this._fetchNamespace(e);if(o)return o.trigger(t,n,r),!0}return!1}insertNode(e,t,n,r){if(!Pb(t))return;let o=t[ps];if(o&&o.setForRemoval){o.setForRemoval=!1,o.setForMove=!0;let s=this.collectedLeaveElements.indexOf(t);s>=0&&this.collectedLeaveElements.splice(s,1)}if(e){let s=this._fetchNamespace(e);s&&s.insertNode(t,n)}r&&this.collectEnterElement(t)}collectEnterElement(e){this.collectedEnterElements.push(e)}markElementAsDisabled(e,t){t?this.disabledNodes.has(e)||(this.disabledNodes.add(e),Lo(e,lI)):this.disabledNodes.has(e)&&(this.disabledNodes.delete(e),mh(e,lI))}removeNode(e,t,n){if(Pb(t)){let r=e?this._fetchNamespace(e):null;r?r.removeNode(t,n):this.markElementAsRemoved(e,t,!1,n);let o=this.namespacesByHostElement.get(t);o&&o.id!==e&&o.removeNode(t,n)}else this._onRemovalComplete(t,n)}markElementAsRemoved(e,t,n,r,o){this.collectedLeaveElements.push(t),t[ps]={namespaceId:e,setForRemoval:r,hasAnimation:n,removedBeforeQueried:!1,previousTriggersValues:o}}listen(e,t,n,r,o){return Pb(t)?this._fetchNamespace(e).listen(t,n,r,o):()=>{}}_buildInstruction(e,t,n,r,o){return e.transition.build(this.driver,e.element,e.fromState.value,e.toState.value,n,r,e.fromState.options,e.toState.options,t,o)}destroyInnerAnimations(e){let t=this.driver.query(e,Rb,!0);t.forEach(n=>this.destroyActiveAnimationsForElement(n)),this.playersByQueriedElement.size!=0&&(t=this.driver.query(e,hI,!0),t.forEach(n=>this.finishActiveQueriedAnimationOnElement(n)))}destroyActiveAnimationsForElement(e){let t=this.playersByElement.get(e);t&&t.forEach(n=>{n.queued?n.markedForDestroy=!0:n.destroy()})}finishActiveQueriedAnimationOnElement(e){let t=this.playersByQueriedElement.get(e);t&&t.forEach(n=>n.finish())}whenRenderingDone(){return new Promise(e=>{if(this.players.length)return kl(this.players).onDone(()=>e());e()})}processLeaveNode(e){let t=e[ps];if(t&&t.setForRemoval){if(e[ps]=zF,t.namespaceId){this.destroyInnerAnimations(e);let n=this._fetchNamespace(t.namespaceId);n&&n.clearElementCache(e)}this._onRemovalComplete(e,t.setForRemoval)}e.classList?.contains(lI)&&this.markElementAsDisabled(e,!1),this.driver.query(e,qZ,!0).forEach(n=>{this.markElementAsDisabled(n,!1)})}flush(e=-1){let t=[];if(this.newHostElements.size&&(this.newHostElements.forEach((n,r)=>this._balanceNamespaceList(n,r)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let n=0;nn()),this._flushFns=[],this._whenQuietFns.length){let n=this._whenQuietFns;this._whenQuietFns=[],t.length?kl(t).onDone(()=>{n.forEach(r=>r())}):n.forEach(r=>r())}}reportError(e){throw pZ(e)}_flushAnimations(e,t){let n=new Sm,r=[],o=new Map,s=[],a=new Map,l=new Map,c=new Map,d=new Set;this.disabledNodes.forEach(k=>{d.add(k);let G=this.driver.query(k,$Z,!0);for(let K=0;K{let K=NF+m++;f.set(G,K),k.forEach(de=>Lo(de,K))});let y=[],g=new Set,_=new Set;for(let k=0;kg.add(de)):_.add(G))}let x=new Map,C=TF(h,Array.from(g));C.forEach((k,G)=>{let K=uI+m++;x.set(G,K),k.forEach(de=>Lo(de,K))}),e.push(()=>{p.forEach((k,G)=>{let K=f.get(G);k.forEach(de=>mh(de,K))}),C.forEach((k,G)=>{let K=x.get(G);k.forEach(de=>mh(de,K))}),y.forEach(k=>{this.processLeaveNode(k)})});let T=[],D=[];for(let k=this._namespaceList.length-1;k>=0;k--)this._namespaceList[k].drainQueuedTransitions(t).forEach(K=>{let de=K.player,De=K.element;if(T.push(de),this.collectedEnterElements.length){let Ge=De[ps];if(Ge&&Ge.setForMove){if(Ge.previousTriggersValues&&Ge.previousTriggersValues.has(K.triggerName)){let pt=Ge.previousTriggersValues.get(K.triggerName),Ve=this.statesByElement.get(K.element);if(Ve&&Ve.has(K.triggerName)){let Qe=Ve.get(K.triggerName);Qe.value=pt,Ve.set(K.triggerName,Qe)}}de.destroy();return}}let Ee=!u||!this.driver.containsElement(u,De),He=x.get(De),he=f.get(De),re=this._buildInstruction(K,n,he,He,Ee);if(re.errors&&re.errors.length){D.push(re);return}if(Ee){de.onStart(()=>sd(De,re.fromStyles)),de.onDestroy(()=>js(De,re.toStyles)),r.push(de);return}if(K.isFallbackTransition){de.onStart(()=>sd(De,re.fromStyles)),de.onDestroy(()=>js(De,re.toStyles)),r.push(de);return}let qe=[];re.timelines.forEach(Ge=>{Ge.stretchStartingKeyframe=!0,this.disabledNodes.has(Ge.element)||qe.push(Ge)}),re.timelines=qe,n.append(De,re.timelines);let ue={instruction:re,player:de,element:De};s.push(ue),re.queriedElements.forEach(Ge=>ho(a,Ge,[]).push(de)),re.preStyleProps.forEach((Ge,pt)=>{if(Ge.size){let Ve=l.get(pt);Ve||l.set(pt,Ve=new Set),Ge.forEach((Qe,Dt)=>Ve.add(Dt))}}),re.postStyleProps.forEach((Ge,pt)=>{let Ve=c.get(pt);Ve||c.set(pt,Ve=new Set),Ge.forEach((Qe,Dt)=>Ve.add(Dt))})});if(D.length){let k=[];D.forEach(G=>{k.push(fZ(G.triggerName,G.errors))}),T.forEach(G=>G.destroy()),this.reportError(k)}let E=new Map,P=new Map;s.forEach(k=>{let G=k.element;n.has(G)&&(P.set(G,G),this._beforeAnimationBuild(k.player.namespaceId,k.instruction,E))}),r.forEach(k=>{let G=k.element;this._getPreviousPlayers(G,!1,k.namespaceId,k.triggerName,null).forEach(de=>{ho(E,G,[]).push(de),de.destroy()})});let Y=y.filter(k=>DF(k,l,c)),$=new Map;IF($,this.driver,_,c,Gs).forEach(k=>{DF(k,l,c)&&Y.push(k)});let O=new Map;p.forEach((k,G)=>{IF(O,this.driver,new Set(k),l,Eb)}),Y.forEach(k=>{let G=$.get(k),K=O.get(k);$.set(k,new Map([...G?.entries()??[],...K?.entries()??[]]))});let B=[],j=[],q={};s.forEach(k=>{let{element:G,player:K,instruction:de}=k;if(n.has(G)){if(d.has(G)){K.onDestroy(()=>js(G,de.toStyles)),K.disabled=!0,K.overrideTotalTime(de.totalTime),r.push(K);return}let De=q;if(P.size>1){let He=G,he=[];for(;He=He.parentNode;){let re=P.get(He);if(re){De=re;break}he.push(He)}he.forEach(re=>P.set(re,De))}let Ee=this._buildAnimation(K.namespaceId,de,E,o,O,$);if(K.setRealPlayer(Ee),De===q)B.push(K);else{let He=this.playersByElement.get(De);He&&He.length&&(K.parentPlayer=kl(He)),r.push(K)}}else sd(G,de.fromStyles),K.onDestroy(()=>js(G,de.toStyles)),j.push(K),d.has(G)&&r.push(K)}),j.forEach(k=>{let G=o.get(k.element);if(G&&G.length){let K=kl(G);k.setRealPlayer(K)}}),r.forEach(k=>{k.parentPlayer?k.syncPlayerEvents(k.parentPlayer):k.destroy()});for(let k=0;k!Ee.destroyed);De.length?tQ(this,G,De):this.processLeaveNode(G)}return y.length=0,B.forEach(k=>{this.players.push(k),k.onDone(()=>{k.destroy();let G=this.players.indexOf(k);this.players.splice(G,1)}),k.play()}),B}afterFlush(e){this._flushFns.push(e)}afterFlushAnimationsDone(e){this._whenQuietFns.push(e)}_getPreviousPlayers(e,t,n,r,o){let s=[];if(t){let a=this.playersByQueriedElement.get(e);a&&(s=a)}else{let a=this.playersByElement.get(e);if(a){let l=!o||o==wm;a.forEach(c=>{c.queued||!l&&c.triggerName!=r||s.push(c)})}}return(n||r)&&(s=s.filter(a=>!(n&&n!=a.namespaceId||r&&r!=a.triggerName))),s}_beforeAnimationBuild(e,t,n){let r=t.triggerName,o=t.element,s=t.isRemovalTransition?void 0:e,a=t.isRemovalTransition?void 0:r;for(let l of t.timelines){let c=l.element,d=c!==o,u=ho(n,c,[]);this._getPreviousPlayers(c,d,s,a,t.toState).forEach(p=>{let f=p.getRealPlayer();f.beforeDestroy&&f.beforeDestroy(),p.destroy(),u.push(p)})}sd(o,t.fromStyles)}_buildAnimation(e,t,n,r,o,s){let a=t.triggerName,l=t.element,c=[],d=new Set,u=new Set,h=t.timelines.map(f=>{let m=f.element;d.add(m);let y=m[ps];if(y&&y.removedBeforeQueried)return new Nl(f.duration,f.delay);let g=m!==l,_=nQ((n.get(m)||ZZ).map(E=>E.getRealPlayer())).filter(E=>{let P=E;return P.element?P.element===m:!1}),x=o.get(m),C=s.get(m),T=PF(this._normalizer,f.keyframes,x,C),D=this._buildPlayer(f,T,_);if(f.subTimeline&&r&&u.add(m),g){let E=new Em(e,a,m);E.setRealPlayer(D),c.push(E)}return D});c.forEach(f=>{ho(this.playersByQueriedElement,f.element,[]).push(f),f.onDone(()=>KZ(this.playersByQueriedElement,f.element,f))}),d.forEach(f=>Lo(f,bF));let p=kl(h);return p.onDestroy(()=>{d.forEach(f=>mh(f,bF)),js(l,t.toStyles)}),u.forEach(f=>{ho(r,f,[]).push(p)}),p}_buildPlayer(e,t,n){return t.length>0?this.driver.animate(e.element,t,e.duration,e.delay,e.easing,n):new Nl(e.duration,e.delay)}},Em=class{constructor(e,t,n){this.namespaceId=e,this.triggerName=t,this.element=n,this._player=new Nl,this._containsRealPlayer=!1,this._queuedCallbacks=new Map,this.destroyed=!1,this.parentPlayer=null,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(e){this._containsRealPlayer||(this._player=e,this._queuedCallbacks.forEach((t,n)=>{t.forEach(r=>II(e,n,void 0,r))}),this._queuedCallbacks.clear(),this._containsRealPlayer=!0,this.overrideTotalTime(e.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(e){this.totalTime=e}syncPlayerEvents(e){let t=this._player;t.triggerCallback&&e.onStart(()=>t.triggerCallback("start")),e.onDone(()=>this.finish()),e.onDestroy(()=>this.destroy())}_queueEvent(e,t){ho(this._queuedCallbacks,e,[]).push(t)}onDone(e){this.queued&&this._queueEvent("done",e),this._player.onDone(e)}onStart(e){this.queued&&this._queueEvent("start",e),this._player.onStart(e)}onDestroy(e){this.queued&&this._queueEvent("destroy",e),this._player.onDestroy(e)}init(){this._player.init()}hasStarted(){return this.queued?!1:this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(e){this.queued||this._player.setPosition(e)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(e){let t=this._player;t.triggerCallback&&t.triggerCallback(e)}};function KZ(i,e,t){let n=i.get(e);if(n){if(n.length){let r=n.indexOf(t);n.splice(r,1)}n.length==0&&i.delete(e)}return n}function JZ(i){return i??null}function Pb(i){return i&&i.nodeType===1}function eQ(i){return i=="start"||i=="done"}function EF(i,e){let t=i.style.display;return i.style.display=e??"none",t}function IF(i,e,t,n,r){let o=[];t.forEach(l=>o.push(EF(l)));let s=[];n.forEach((l,c)=>{let d=new Map;l.forEach(u=>{let h=e.computeStyle(c,u,r);d.set(u,h),(!h||h.length==0)&&(c[ps]=QZ,s.push(c))}),i.set(c,d)});let a=0;return t.forEach(l=>EF(l,o[a++])),s}function TF(i,e){let t=new Map;if(i.forEach(a=>t.set(a,[])),e.length==0)return t;let n=1,r=new Set(e),o=new Map;function s(a){if(!a)return n;let l=o.get(a);if(l)return l;let c=a.parentNode;return t.has(c)?l=c:r.has(c)?l=n:l=s(c),o.set(a,l),l}return e.forEach(a=>{let l=s(a);l!==n&&t.get(l).push(a)}),t}function Lo(i,e){i.classList?.add(e)}function mh(i,e){i.classList?.remove(e)}function tQ(i,e,t){kl(t).onDone(()=>i.processLeaveNode(e))}function nQ(i){let e=[];return UF(i,e),e}function UF(i,e){for(let t=0;tr.add(o)):e.set(i,n),t.delete(i),!0}var _h=class{constructor(e,t,n){this._driver=t,this._normalizer=n,this._triggerCache={},this.onRemovalComplete=(r,o)=>{},this._transitionEngine=new SI(e.body,t,n),this._timelineEngine=new wI(e.body,t,n),this._transitionEngine.onRemovalComplete=(r,o)=>this.onRemovalComplete(r,o)}registerTrigger(e,t,n,r,o){let s=e+"-"+r,a=this._triggerCache[s];if(!a){let l=[],c=[],d=FF(this._driver,o,l,c);if(l.length)throw iZ(r,l);c.length&&void 0,a=GZ(r,d,this._normalizer),this._triggerCache[s]=a}this._transitionEngine.registerTrigger(t,r,a)}register(e,t){this._transitionEngine.register(e,t)}destroy(e,t){this._transitionEngine.destroy(e,t)}onInsert(e,t,n,r){this._transitionEngine.insertNode(e,t,n,r)}onRemove(e,t,n){this._transitionEngine.removeNode(e,t,n)}disableAnimations(e,t){this._transitionEngine.markElementAsDisabled(e,t)}process(e,t,n,r){if(n.charAt(0)=="@"){let[o,s]=_F(n),a=r;this._timelineEngine.command(o,t,s,a)}else this._transitionEngine.trigger(e,t,n,r)}listen(e,t,n,r,o){if(n.charAt(0)=="@"){let[s,a]=_F(n);return this._timelineEngine.listen(s,t,a,o)}return this._transitionEngine.listen(e,t,n,r,o)}flush(e=-1){this._transitionEngine.flush(e)}get players(){return[...this._transitionEngine.players,...this._timelineEngine.players]}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}afterFlushAnimationsDone(e){this._transitionEngine.afterFlushAnimationsDone(e)}};function rQ(i,e){let t=null,n=null;return Array.isArray(e)&&e.length?(t=dI(e[0]),e.length>1&&(n=dI(e[e.length-1]))):e instanceof Map&&(t=dI(e)),t||n?new MI(i,t,n):null}var gh=class gh{constructor(e,t,n){this._element=e,this._startStyles=t,this._endStyles=n,this._state=0;let r=gh.initialStylesByElement.get(e);r||gh.initialStylesByElement.set(e,r=new Map),this._initialStyles=r}start(){this._state<1&&(this._startStyles&&js(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(js(this._element,this._initialStyles),this._endStyles&&(js(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(gh.initialStylesByElement.delete(this._element),this._startStyles&&(sd(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(sd(this._element,this._endStyles),this._endStyles=null),js(this._element,this._initialStyles),this._state=3)}};gh.initialStylesByElement=new WeakMap;var MI=gh;function dI(i){let e=null;return i.forEach((t,n)=>{oQ(n)&&(e=e||new Map,e.set(n,t))}),e}function oQ(i){return i==="display"||i==="position"}var Vb=class{constructor(e,t,n,r){this.element=e,this.keyframes=t,this.options=n,this._specialStyles=r,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this._originalOnDoneFns=[],this._originalOnStartFns=[],this.time=0,this.parentPlayer=null,this.currentSnapshot=new Map,this._duration=n.duration,this._delay=n.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(e=>e()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;let e=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,e,this.options),this._finalKeyframe=e.length?e[e.length-1]:new Map;let t=()=>this._onFinish();this.domPlayer.addEventListener("finish",t),this.onDestroy(()=>{this.domPlayer.removeEventListener("finish",t)})}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_convertKeyframesToObject(e){let t=[];return e.forEach(n=>{t.push(Object.fromEntries(n))}),t}_triggerWebAnimation(e,t,n){return e.animate(this._convertKeyframesToObject(t),n)}onStart(e){this._originalOnStartFns.push(e),this._onStartFns.push(e)}onDone(e){this._originalOnDoneFns.push(e),this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(e=>e()),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}_resetDomPlayerState(){this.domPlayer&&this.domPlayer.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}setPosition(e){this.domPlayer===void 0&&this.init(),this.domPlayer.currentTime=e*this.time}getPosition(){return+(this.domPlayer.currentTime??0)/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){let e=new Map;this.hasStarted()&&this._finalKeyframe.forEach((n,r)=>{r!=="offset"&&e.set(r,this._finished?n:RI(this.element,r))}),this.currentSnapshot=e}triggerCallback(e){let t=e==="start"?this._onStartFns:this._onDoneFns;t.forEach(n=>n()),t.length=0}},zb=class{validateStyleProperty(e){return!0}validateAnimatableStyleProperty(e){return!0}containsElement(e,t){return OF(e,t)}getParentElement(e){return DI(e)}query(e,t,n){return RF(e,t,n)}computeStyle(e,t,n){return RI(e,t)}animate(e,t,n,r,o,s=[]){let a=r==0?"both":"forwards",l={duration:n,delay:r,fill:a};o&&(l.easing=o);let c=new Map,d=s.filter(p=>p instanceof Vb);MZ(n,r)&&d.forEach(p=>{p.currentSnapshot.forEach((f,m)=>c.set(m,f))});let u=wZ(t).map(p=>new Map(p));u=EZ(e,u,c);let h=rQ(e,u);return new Vb(e,u,l,h)}};var Ob="@",HF="@.disabled",Ub=class{constructor(e,t,n,r){this.namespaceId=e,this.delegate=t,this.engine=n,this._onDestroy=r,this.\u0275type=0}get data(){return this.delegate.data}destroyNode(e){this.delegate.destroyNode?.(e)}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.engine.afterFlushAnimationsDone(()=>{queueMicrotask(()=>{this.delegate.destroy()})}),this._onDestroy?.()}createElement(e,t){return this.delegate.createElement(e,t)}createComment(e){return this.delegate.createComment(e)}createText(e){return this.delegate.createText(e)}appendChild(e,t){this.delegate.appendChild(e,t),this.engine.onInsert(this.namespaceId,t,e,!1)}insertBefore(e,t,n,r=!0){this.delegate.insertBefore(e,t,n),this.engine.onInsert(this.namespaceId,t,e,r)}removeChild(e,t,n){this.engine.onRemove(this.namespaceId,t,this.delegate)}selectRootElement(e,t){return this.delegate.selectRootElement(e,t)}parentNode(e){return this.delegate.parentNode(e)}nextSibling(e){return this.delegate.nextSibling(e)}setAttribute(e,t,n,r){this.delegate.setAttribute(e,t,n,r)}removeAttribute(e,t,n){this.delegate.removeAttribute(e,t,n)}addClass(e,t){this.delegate.addClass(e,t)}removeClass(e,t){this.delegate.removeClass(e,t)}setStyle(e,t,n,r){this.delegate.setStyle(e,t,n,r)}removeStyle(e,t,n){this.delegate.removeStyle(e,t,n)}setProperty(e,t,n){t.charAt(0)==Ob&&t==HF?this.disableAnimations(e,!!n):this.delegate.setProperty(e,t,n)}setValue(e,t){this.delegate.setValue(e,t)}listen(e,t,n){return this.delegate.listen(e,t,n)}disableAnimations(e,t){this.engine.disableAnimations(e,t)}},EI=class extends Ub{constructor(e,t,n,r,o){super(t,n,r,o),this.factory=e,this.namespaceId=t}setProperty(e,t,n){t.charAt(0)==Ob?t.charAt(1)=="."&&t==HF?(n=n===void 0?!0:!!n,this.disableAnimations(e,n)):this.engine.process(this.namespaceId,e,t.slice(1),n):this.delegate.setProperty(e,t,n)}listen(e,t,n){if(t.charAt(0)==Ob){let r=sQ(e),o=t.slice(1),s="";return o.charAt(0)!=Ob&&([o,s]=aQ(o)),this.engine.listen(this.namespaceId,r,o,s,a=>{let l=a._data||-1;this.factory.scheduleListenerCallback(l,n,a)})}return this.delegate.listen(e,t,n)}};function sQ(i){switch(i){case"body":return document.body;case"document":return document;case"window":return window;default:return i}}function aQ(i){let e=i.indexOf("."),t=i.substring(0,e),n=i.slice(e+1);return[t,n]}var Hb=class{constructor(e,t,n){this.delegate=e,this.engine=t,this._zone=n,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,t.onRemovalComplete=(r,o)=>{let s=o?.parentNode(r);s&&o.removeChild(s,r)}}createRenderer(e,t){let n="",r=this.delegate.createRenderer(e,t);if(!e||!t?.data?.animation){let c=this._rendererCache,d=c.get(r);if(!d){let u=()=>c.delete(r);d=new Ub(n,r,this.engine,u),c.set(r,d)}return d}let o=t.id,s=t.id+"-"+this._currentId;this._currentId++,this.engine.register(s,e);let a=c=>{Array.isArray(c)?c.forEach(a):this.engine.registerTrigger(o,s,e,c.name,c)};return t.data.animation.forEach(a),new EI(this,s,r,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){queueMicrotask(()=>{this._microtaskId++})}scheduleListenerCallback(e,t,n){if(e>=0&&et(n));return}let r=this._animationCallbacksBuffer;r.length==0&&queueMicrotask(()=>{this._zone.run(()=>{r.forEach(o=>{let[s,a]=o;s(a)}),this._animationCallbacksBuffer=[]})}),r.push([t,n])}end(){this._cdRecurDepth--,this._cdRecurDepth==0&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}};var cQ=(()=>{let e=class e extends _h{constructor(n,r,o){super(n,r,o)}ngOnDestroy(){this.flush()}};e.\u0275fac=function(r){return new(r||e)(X(Ye),X(ad),X(ld))},e.\u0275prov=J({token:e,factory:e.\u0275fac});let i=e;return i})();function dQ(){return new Nb}function uQ(i,e,t){return new Hb(i,e,t)}var GF=[{provide:ld,useFactory:dQ},{provide:_h,useClass:cQ},{provide:Il,useFactory:uQ,deps:[lb,_h,Le]}],hQ=[{provide:ad,useFactory:()=>new zb},{provide:Zn,useValue:"BrowserAnimations"},...GF],Z1e=[{provide:ad,useClass:PI},{provide:Zn,useValue:"NoopAnimations"},...GF];function jF(){return Ao("NgEagerAnimations"),[...hQ]}var Ll=function(i){return i[i.MAIN_PANEL=0]="MAIN_PANEL",i[i.POPUP=1]="POPUP",i[i.GRAPH_PANEL=2]="GRAPH_PANEL",i}(Ll||{}),kI=function(i){return i[i.WEBGL=0]="WEBGL",i}(kI||{}),bt=function(i){return i.NODE_LABEL="title",i.INPUT_METADATA="input",i.OUTPUT_METADATA="output",i.ATTRIBUTE="list",i}(bt||{}),Rn=function(i){return i.OP_NODE_ID="Op node id",i.OP_ATTRS="Op node attributes",i.OP_INPUTS="Op node inputs",i.OP_OUTPUTS="Op node outputs",i.LAYER_NODE_CHILDREN_COUNT="Layer node children count",i.LAYER_NODE_DESCENDANTS_COUNT="Layer node descendants count",i.LAYER_NODE_ATTRS="Layer node attributes",i}(Rn||{}),Fl=function(i){return i.TENSOR_SHAPE="Tensor shape",i}(Fl||{}),mn=function(i){return i[i.REGULAR=0]="REGULAR",i[i.MEDIUM=1]="MEDIUM",i[i.BOLD=2]="BOLD",i[i.MONOSPACE_MEDIUM=3]="MONOSPACE_MEDIUM",i[i.ICONS=4]="ICONS",i}(mn||{}),Bl=function(i){return i.OP_NODE_ID="id",i.NUMBER_OF_CHILDREN="#children",i.NUMBER_OF_DESCENDANTS="#descendants",i}(Bl||{}),Ws=function(i){return i.NODE_BG_COLOR="node_bg_color",i.NODE_TEXT_COLOR="node_text_color",i.NODE_BORDER_COLOR="node_border_color",i}(Ws||{}),Gb=function(i){return i.V2="v2",i}(Gb||{}),Fn=function(i){return i.REGEX="regex",i.ATTR_VALUE_RANGE="attr_value_range",i.NODE_TYPE="node_type",i}(Fn||{}),mr=function(i){return i.OP_NODES="op_nodes",i.LAYER_NODES="layer_nodes",i.OP_AND_LAYER_NODES="op_and_layer_nodes",i}(mr||{});function Vi(i){i||(eh(Vi),i=te(Ni));let e=new Mt(t=>i.onDestroy(t.next.bind(t)));return t=>t.pipe(Xe(e))}function jb(i,e){!e?.injector&&eh(jb);let t=e?.injector??te(xt),n=new va(1),r=lt(()=>{let o;try{o=i()}catch(s){Lr(()=>n.error(s));return}Lr(()=>n.next(o))},{injector:t,manualCleanup:!0});return t.get(Ni).onDestroy(()=>{r.destroy(),n.complete()}),n.asObservable()}var Fo=11,Wb=4;var LI=16,FI=200,Im=12,Tm=1e3;var Kt=.001,BI=25,VI=5,$b="me_test",WF=.1,qb="model_explorer_show_on_node_item_types_v2",Yb="model_explorer_show_on_edge_item_types_v2",Na="Node data provider: ",Vl=10,Xb=7.5,ka="__value",Bo="__tensor_tag",zI=20,Zb={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4","indianred ":"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};var $F="model-explorer-export-to-resource",vh=14;var $s=function(i){return i[i.OP_NODE=0]="OP_NODE",i[i.GROUP_NODE=1]="GROUP_NODE",i}($s||{});var hIe=new OffscreenCanvas(300,300);var Dm=typeof navigator<"u"&&/Macintosh/.test(navigator.userAgent);function Et(i){return i?.nodeType===$s.OP_NODE}function yt(i){return i?.nodeType===$s.GROUP_NODE}function UI(i){let e=[];for(let[t,n]of Object.entries(i))switch(t){case Rn.OP_NODE_ID:n.selected&&e.push(Bl.OP_NODE_ID);break;default:break}return e}function HI(i){let e=[];for(let[t,n]of Object.entries(i))switch(t){case Rn.LAYER_NODE_CHILDREN_COUNT:n.selected&&e.push(Bl.NUMBER_OF_CHILDREN);break;case Rn.LAYER_NODE_DESCENDANTS_COUNT:n.selected&&e.push(Bl.NUMBER_OF_DESCENDANTS);break;default:break}return e}function Qb(i,e){if(Et(i))switch(e.toLowerCase()){case Bl.OP_NODE_ID:return i.id;case"namespace":return cd(i);default:break}else if(yt(i))switch(e.toLowerCase()){case"namespace":return cd(i);case Bl.NUMBER_OF_CHILDREN:return String((i.nsChildrenIds||[]).length);case Bl.NUMBER_OF_DESCENDANTS:return String((i.descendantsNodeIds||[]).length);default:break}return""}function cd(i){return i.fullNamespace||i.namespace||""}function Fr(){return Math.random().toString(36).slice(-6)}function Pm(i,e,t,n=!1){let r=[];i==null?r=e.rootNodes.map(o=>o.id):r=i.nsChildrenIds||[];for(let o of r){let s=e.nodesById[o];if(s&&yt(s)&&(n||!n&&s.expanded)){let a=s.nsChildrenIds||[];(n?a.filter(c=>yt(e.nodesById[c])).length===0:a.filter(c=>yt(e.nodesById[c])).every(c=>!e.nodesById[c].expanded))&&t.push(s.id),Pm(s,e,t,n)}}}function bh(i,e,t,n){let r=[];if(i.length===2)r=i;else if(i.length===3&&i[0].x===i[1].x&&i[1].x===i[2].x)r=i;else{let o=!0,s=0;for(let l=0;lc?1:-1;if(s!==0&&s!==u){o=!1;break}s=u}let a=n.Vector3;if(o){let c=e().x(h=>h.x).y(h=>h.y).curve(t)(i).split(/M|C/).filter(h=>h!=="").map(h=>h.split(",").map(p=>Number(p))),d=new a(c[0][0],c[0][1],0),u=new n.CurvePath;for(let h=1;hnew a(d.x,d.y,0));r=new n.CatmullRomCurve3(l,!1,"catmullrom",WF).getPoints(BI)}}return r}function Kb(){let i=qF();return i?i.tagName==="INPUT"||i.tagName==="SELECT"||i.tagName==="TEXTAREA"||i.contentEditable==="true":!1}function qF(i=document){let e=i.activeElement;return e?e.shadowRoot?qF(e.shadowRoot):e:null}function pQ(i,e,t){let n=t[Bo];return n?`Input${i}:${n} (${e.label})`:`Input${i} (${e.label})`}function fQ(i,e,t){let n=`Output${i}`;if(t.label==="GraphInputs"){let r=e.tensor_name;r!=null&&(n=`${n} (${r})`)}else{let r=e[Bo];r&&(n=`Output${i}:${r}`)}return n}function YF(i){let e=((i||{}).shape||"").replace(/ /g,"").replace(/×/g,"x");return e===""&&(e="?"),e}function GI(i,e=""){let t=i.attrs||{},n=[],r=new RegExp(e,"i");for(let o of Object.keys(t)){let s=o,a=t[o],l=[`${s}:${a}`,`${s}=${a}`];if(e.trim()===""||l.some(c=>r.test(c))){let c=a;s===ka?c=a.replace(/\s/gm,""):c=a.replace(/(\r\n|\n|\r)/gm," "),n.push({key:s,value:c})}}return n}function jI(i,e,t=""){let n=e.groupNodeAttributes?.[i.id.replace("___group___","")]||{},r=[],o=new RegExp(t,"i");for(let s of Object.keys(n)){let a=s,l=n[s],c=[`${a}:${l}`,`${a}=${l}`];if(t.trim()===""||c.some(d=>o.test(d))){let d=l.replace(/(\r\n|\n|\r)/gm," ");r.push({key:a,value:d})}}return r}function WI(i,e){let t=i.incomingEdges||[],n=[];for(let r=0;rVl){let r=t.length-Vl;n.push({key:`(${r} more input${r===1?"":"s"} omitted)`,value:"..."})}return n}function $I(i){let e=[],t=i.outputsMetadata||{},n=Object.values(t);for(let r=0;rVl){let r=n.length-Vl;e.push({key:`(${r} more output${r===1?"":"s"} omitted)`,value:"..."})}return e}function qI(i,e,t,n){let r=[],o=Object.keys(t).filter(a=>t[a].selected).filter(a=>a.startsWith(Na)).map(a=>a.replace(Na,"")),s=Object.values(n).filter(a=>o.includes(a.runName));for(let a of s){let l=(a.results||{})?.[e][i.id]?.strValue||"-";r.push({key:a.runName,value:l})}return r}function YI(i,e){let t=i.split("/"),n=e.split("/"),r="";for(let o=Math.min(t.length,n.length);o>0;o--){let s=t.slice(0,o).join("/"),a=n.slice(0,o).join("/");if(s===a){r=a;break}}return r}function XF(i){return new RegExp(/Only `SavedModel`s with \d+ MetaGraph are supported. Instead, it has \d+/).test(i)?`${i}. Try using the "TF adapter (direct)" adapter.`:i}function XI(i,e,t,n){let r=[],o=new Set;if(i.has(bt.NODE_LABEL)&&e.test(t.label)&&(r.push({type:bt.NODE_LABEL}),o.add(bt.NODE_LABEL)),i.has(bt.ATTRIBUTE)){let s=ZF(t,n);for(let a of Object.keys(s)){let l=s[a],c=`${a}:${l}`,d=`${a}=${l}`;(e.test(c)||e.test(d))&&(r.push({type:bt.ATTRIBUTE,matchedAttrId:a}),o.add(bt.ATTRIBUTE))}}if(i.has(bt.INPUT_METADATA)&&Et(t))for(let s of t.incomingEdges||[]){let a=n.nodesById[s.sourceNodeId];e.test(a.label)&&(r.push({type:bt.INPUT_METADATA,matchedText:a.label}),o.add(bt.INPUT_METADATA));let l=t.inputsMetadata||{},c=(l[s.targetNodeInputId]||{})[Bo];c&&e.test(c)&&(r.push({type:bt.INPUT_METADATA,matchedText:c}),o.add(bt.INPUT_METADATA));let d=(a.outputsMetadata||{})[s.sourceNodeOutputId]||{};for(let h of Object.keys(d)){if(h.startsWith("__"))continue;let p=d[h],f=`${h}:${p}`,m=`${h}=${p}`;(e.test(p)||e.test(f)||e.test(m))&&(r.push({type:bt.INPUT_METADATA,matchedText:p}),o.add(bt.INPUT_METADATA))}let u=l[s.targetNodeInputId]||{};for(let h of Object.keys(u)){if(h.startsWith("__"))continue;let p=u[h],f=`${h}:${p}`,m=`${h}=${p}`;(e.test(p)||e.test(f)||e.test(m))&&(r.push({type:bt.INPUT_METADATA,matchedText:p}),o.add(bt.INPUT_METADATA))}}if(i.has(bt.OUTPUT_METADATA)&&Et(t)){let s=t.outputsMetadata||{};for(let a of t.outgoingEdges||[]){let l=n.nodesById[a.targetNodeId];e.test(l.label)&&(r.push({type:bt.OUTPUT_METADATA,matchedText:l.label}),o.add(bt.OUTPUT_METADATA));let c=(s[a.sourceNodeOutputId]||{})[Bo];c&&e.test(c)&&(r.push({type:bt.OUTPUT_METADATA,matchedText:c}),o.add(bt.OUTPUT_METADATA))}for(let a of Object.values(s))for(let l of Object.keys(a)){if(l.startsWith("__"))continue;let c=a[l],d=`${l}:${c}`,u=`${l}=${c}`;(e.test(c)||e.test(d)||e.test(u))&&(r.push({type:bt.OUTPUT_METADATA,matchedText:c}),o.add(bt.OUTPUT_METADATA))}}return{matches:r,matchTypes:o}}function ZF(i,e){let t={};if(Et(i))t=Z({},i.attrs||{}),t.id=i.id;else if(yt(i)){t={"#descendants":`${(i.descendantsNodeIds||[]).length}`,"#children":`${(i.nsChildrenIds||[]).length}`,namespace:i.namespace||i.savedNamespace||""};let n=e.groupNodeAttributes?.[i.id.replace("___group___","")]||{};t=Z(Z({},t),n)}return t}function mQ(i,e,t,n,r){let o=[],a=ZF(n,r)[i];if(a!=null){let l=Number(a);!isNaN(l)&&l>=e&&l<=t&&o.push({type:bt.ATTRIBUTE,matchedAttrId:i})}return o}function yh(i){for(let e of i.filter(t=>t.type!==Fn.NODE_TYPE))switch(e.type){case Fn.REGEX:if(e.queryRegex!=="")return!0;break;case Fn.ATTR_VALUE_RANGE:if(e.attrName!=="")return!0;break;default:break}return!1}function Jb(i){return i.map(e=>({queries:e.queries.map(n=>{switch(n.type){case Fn.REGEX:{let r=new RegExp("","i");try{r=new RegExp(n.queryRegex,"i")}catch(s){console.warn("Failed to create regex",s)}return{type:Fn.REGEX,queryRegex:r,matchTypes:new Set(n.matchTypes)}}case Fn.NODE_TYPE:case Fn.ATTR_VALUE_RANGE:return n;default:return}}),nodeType:e.nodeType,styles:e.styles}))}function Om(i,e,t){let n=!0;for(let r of e)if(r.type===Fn.NODE_TYPE){let o=!0;if((Et(i)&&r.nodeType===mr.LAYER_NODES||yt(i)&&r.nodeType===mr.OP_NODES)&&(o=!1),!o){n=!1;break}}else if(r.type===Fn.REGEX){if(XI(r.matchTypes,r.queryRegex,i,t).matches.length===0){n=!1;break}}else if(r.type===Fn.ATTR_VALUE_RANGE){if(r.attrName!==""&&mQ(r.attrName,r.min??Number.NEGATIVE_INFINITY,r.max??Number.POSITIVE_INFINITY,i,t).length===0){n=!1;break}}else n=!1;return n}function ey(i,e){window.parent.postMessage({cmd:$F,name:i,resource:e},"*")}function dd(){return window.devicePixelRatio===1?1.5:window.devicePixelRatio}function ud(i,e){let t=i.styles[e];return t?typeof t=="string"?t:t.value:""}function hd(i){return i.split(` -`).map(e=>e.trim()).filter(e=>e!=="")}function ZI(i){return(hd(i).length-1)*vh}var Ji=function(i){return i[i.PROCESS_GRAPH_REQ=0]="PROCESS_GRAPH_REQ",i[i.PROCESS_GRAPH_RESP=1]="PROCESS_GRAPH_RESP",i[i.EXPAND_OR_COLLAPSE_GROUP_NODE_REQ=2]="EXPAND_OR_COLLAPSE_GROUP_NODE_REQ",i[i.EXPAND_OR_COLLAPSE_GROUP_NODE_RESP=3]="EXPAND_OR_COLLAPSE_GROUP_NODE_RESP",i[i.RELAYOUT_GRAPH_REQ=4]="RELAYOUT_GRAPH_REQ",i[i.RELAYOUT_GRAPH_RESP=5]="RELAYOUT_GRAPH_RESP",i[i.LOCATE_NODE_REQ=6]="LOCATE_NODE_REQ",i[i.LOCATE_NODE_RESP=7]="LOCATE_NODE_RESP",i[i.UPDATE_PROCESSING_PROGRESS=8]="UPDATE_PROCESSING_PROGRESS",i[i.PREPARE_POPUP_REQ=9]="PREPARE_POPUP_REQ",i[i.PREPARE_POPUP_RESP=10]="PREPARE_POPUP_RESP",i[i.CLEANUP=11]="CLEANUP",i}(Ji||{}),pd=function(i){return i.PROCESSING_NODES_AND_EDGES="Processing nodes and edges",i.PROCESSING_LAYER_NAMESPACES="Processing layer namespaces",i.PROCESSING_LAYOUT_DATA="Processing layout data",i.SPLITTING_LARGE_LAYERS="Splitting large layers (if any)",i.LAYING_OUT_ROOT_LAYER="Laying out root layer",i.FINDING_IDENTICAL_LAYERS="Finding identical layers",i}(pd||{}),QF=[pd.PROCESSING_NODES_AND_EDGES,pd.PROCESSING_LAYER_NAMESPACES,pd.PROCESSING_LAYOUT_DATA,pd.SPLITTING_LARGE_LAYERS,pd.LAYING_OUT_ROOT_LAYER,pd.FINDING_IDENTICAL_LAYERS];var Vo=(()=>{class i{getItem(t){return window.localStorage.getItem(t)}setItem(t,n){window.localStorage.setItem(t,n)}static \u0275fac=function(n){return new(n||i)};static \u0275prov=J({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();var zl=(()=>{class i{curUiState=ut({paneStates:[this.createInitialPaneState()]});setDeepestExpandedGroupNodeIds(t,n){this.curUiState.update(r=>{let o=r.paneStates[n];return o?(o.deepestExpandedGroupNodeIds=t,Z({},r)):r})}setSelectedNodeId(t,n){this.curUiState.update(r=>{let o=r.paneStates[n];return o?(o.selectedNodeId=t,Z({},r)):r})}setSelectedGraphId(t,n,r){this.curUiState.update(o=>{let s=o.paneStates[r];return s?(s.selectedGraphId=t,s.selectedCollectionLabel=n,Z({},o)):o})}setFlattenLayers(t,n){this.curUiState.update(r=>{let o=r.paneStates[n];return o?(o.flattenLayers=t,Z({},r)):r})}addPane(){this.curUiState.update(t=>{t.paneStates.length>1&&(t.paneStates=[t.paneStates[0]]),t.paneStates.push(this.createInitialPaneState());for(let n of t.paneStates)n.widthFraction=.5;return Z({},t)})}removePane(t){this.curUiState.update(n=>(n.paneStates.splice(t,1),n.paneStates.length===1&&(n.paneStates[0].widthFraction=1),Z({},n)))}resizePane(t){this.curUiState.update(n=>(n.paneStates.length===2&&(n.paneStates[0].widthFraction=t,n.paneStates[1].widthFraction=1-t),Z({},n)))}swapPane(){this.curUiState.update(t=>(t.paneStates.length===2&&(t.paneStates=[t.paneStates[1],t.paneStates[0]]),Z({},t)))}selectPane(t){this.curUiState.update(n=>{for(let r=0;r{class i{worker;constructor(){this.worker=new Worker(new URL("worker-ZSB7TK2A.js",import.meta.url),{type:"classic"})}static \u0275fac=function(n){return new(n||i)};static \u0275prov=J({token:i,factory:i.\u0275fac})}return i})();var st=(()=>{class i{localStorageService;uiStateService;workerService;curGraphCollections=ut([]);curToLocateNodeInfo=ut(void 0);curSelectedRenderer=ut(void 0);spaceKeyToZoomFitClicked=new me;searchKeyClicked=new me;addSnapshotClicked=new me;curSnapshotToRestore=new me;expandOrCollapseAllGraphLayersClicked=new me;downloadAsPngClicked=new me;config=ut(void 0);curInitialUiState=ut(void 0);panes=ut([{id:Fr(),widthFraction:1}]);selectedPaneId=ut(this.panes()[0].id);modelGraphProcessed$=new me;remoteNodeDataPaths=ut([]);selectedNode=ut(void 0);hoveredNode=ut(void 0);doubleClickedNode=ut(void 0);testMode=!1;groupNodeChildrenCountThresholdFromUrl=null;paneIdToGraph={};paneIdToCurModelGraphs={};constructor(t,n,r){this.localStorageService=t,this.uiStateService=n,this.workerService=r,this.listenToWorker(),this.init()}addGraphCollections(t){this.curGraphCollections.update(n=>{let r=[...n],o={};for(let s of t){let a={},l={};for(let h of s.graphs){(h.id==null||h.id==="")&&(h.id="unnamed_graph");let p=h.id,f=o[p];f==null?(o[p]=0,f=0):(h.id=`${h.id} (${f+1})`,l[p]=h.id),o[p]=f+1,a[h.id]=h,h.collectionLabel=s.label}for(let h of s.graphs)for(let p of h.nodes)if(p.subgraphIds!=null&&p.subgraphIds.length>0){p.subgraphIds=p.subgraphIds.map(f=>l[f]||f),h.subGraphIds==null&&(h.subGraphIds=[]),h.subGraphIds.push(...p.subgraphIds);for(let f of p.subgraphIds)a[f].parentGraphId=h.id}let c=s.graphs.filter(h=>h.parentGraphId==null),d=[],u=(h,p=0)=>{let f=[];h==null?f=c:f=(h.subGraphIds||[]).map(m=>a[m]),f.sort((m,y)=>y.nodes.length-m.nodes.length);for(let m of f)m.level=p,d.push(m),u(m,p+1)};u(),s.graphs=d}return r.push(...t),r})}selectGraphInPane(t,n,r=!1,o,s=!0){if(n===1&&this.panes().length===1){this.openGraphInSplitPane(t);return}if((this.panes()[n].modelGraph?.id||"")===t.id)return;let l=this.panes()[n];l.searchResults=void 0,l.selectedNodeDataProviderRunId=void 0;let c=l.id;if(this.paneIdToGraph[c]=t,this.uiStateService.setSelectedGraphId(t.id,t.collectionLabel||"",this.getPaneIndexById(c)),l.subgraphBreadcrumbs!=null&&l.subgraphBreadcrumbs.length>0){let d=[...l.subgraphBreadcrumbs];d[d.length-1].graphId=t.id,l.subgraphBreadcrumbs=d}this.processGraph(c,r,o,s)}selectGraphInCurrentPane(t,n=!1,r,o=!0){this.selectGraphInPane(t,this.getPaneIndexById(this.selectedPaneId()),n,r,o)}openGraphInSplitPane(t,n=!1,r=!0){let o=Fr();this.paneIdToGraph[o]=t,this.panes.update(l=>{let c=l[0];return c.widthFraction=.5,l.push({id:o,widthFraction:.5,flattenLayers:n,showOnNodeItemTypes:{[o]:this.getSavedShowOnNodeItemTypes()},showOnEdgeItemTypes:{[o]:this.getSavedShowOnEdgeItemTypes()}}),[...l]}),this.curSelectedRenderer.set({id:o,ownerType:Ll.GRAPH_PANEL});let s=this.getPaneIndexById(o);this.uiStateService.addPane(),this.selectPane(o),this.uiStateService.setSelectedGraphId(t.id,t.collectionLabel||"",s),this.uiStateService.setFlattenLayers(n,s);let a={eventType:Ji.PROCESS_GRAPH_REQ,graph:t,showOnNodeItemTypes:this.getShowOnNodeItemTypes(o,o),nodeDataProviderRuns:{},config:this.config?this.config():void 0,paneId:o,groupNodeChildrenCountThreshold:this.getGroupNodeChildrenCountThreshold(),flattenLayers:n,keepLayersWithASingleChild:this.config()?.keepLayersWithASingleChild,initialLayout:r};this.workerService.worker.postMessage(a)}processGraph(t,n=!1,r,o=!0){if(r!=null){let a=this.getPaneById(t);a&&(a.snapshotToRestore=r)}this.setPaneLoading(t);let s={eventType:Ji.PROCESS_GRAPH_REQ,graph:this.paneIdToGraph[t],showOnNodeItemTypes:this.getShowOnNodeItemTypes(t,t),nodeDataProviderRuns:{},config:this.config?this.config():void 0,paneId:t,groupNodeChildrenCountThreshold:this.getGroupNodeChildrenCountThreshold(),flattenLayers:n,keepLayersWithASingleChild:this.config()?.keepLayersWithASingleChild,initialLayout:o};this.workerService.worker.postMessage(s)}setFlattenLayersInCurrentPane(t){let n=this.getSelectedPane();if(!n)return;this.panes.update(o=>(n.flattenLayers=t,n.searchResults=void 0,[...o]));let r=this.getPaneIndexById(n.id);this.uiStateService.setFlattenLayers(t,r),this.uiStateService.setDeepestExpandedGroupNodeIds([],r)}toggleFlattenLayers(t){let n=this.getPaneById(t);if(!n)return;let r=n.flattenLayers===!0;this.panes.update(s=>(n.flattenLayers=!r,n.searchResults=void 0,[...s]));let o=this.getPaneIndexById(t);this.uiStateService.setFlattenLayers(!r,o),this.uiStateService.setDeepestExpandedGroupNodeIds([],o)}getFlattenLayers(t){return this.getPaneById(t)?.flattenLayers===!0}selectPane(t){this.selectedPaneId.set(t),this.uiStateService.selectPane(this.getPaneIndexById(t))}selectPaneByIndex(t){let n=this.panes()[t];n&&this.selectPane(n.id)}selectNode(t,n){this.panes.update(o=>{let s=this.getPaneById(t);return s?(s.selectedNodeInfo=n,[...o]):o}),this.uiStateService.setSelectedNodeId(n?.nodeId||"",this.getPaneIndexById(t));let r=this.getPaneById(t)?.modelGraph;if(r){let o=n?.nodeId||"",s=r.nodesById[o];if(s&&Et(s)&&window.parent){let a=s.outputsMetadata||{},l=[];for(let c of Object.keys(a)){let u=a[c].tensor_name;u&&l.push(u)}window.parent.postMessage({cmd:"model-explorer-node-selected",nodeId:o,outputTensorNames:l},"*")}}if(r){let o=n?.nodeId||"";this.updateSelectedNode(o,r.id,r.collectionLabel,r.nodesById[o])}}getModelGraphFromSelectedPane(){return this.getPaneById(this.selectedPaneId())?.modelGraph}getModelGraphFromPane(t){return this.getPaneById(t)?.modelGraph}getModelGraphFromPaneIndex(t){return this.panes()[t]?.modelGraph}getSelectedNodeInfoFromSelectedPane(){return this.getPaneById(this.selectedPaneId())?.selectedNodeInfo}getSelectedPane(){return this.getPaneById(this.selectedPaneId())}setPaneWidthFraction(t){this.panes.update(n=>n.length!==2?n:(n[0].widthFraction=t,n[1].widthFraction=1-t,[...n])),this.uiStateService.resizePane(t)}setSelectedNodeDataProviderRunId(t,n){this.panes.update(r=>{let o=this.getPaneById(t);return o?(o.selectedNodeDataProviderRunId=n,[...r]):r})}getSelectedNodeDataProviderRunId(t){return this.getPaneById(t)?.selectedNodeDataProviderRunId}setPaneHasArtificialLayers(t,n){this.panes.update(r=>{let o=this.getPaneById(t);return o?(o.hasArtificialLayers=n,[...r]):r})}setNodeToReveal(t,n){this.panes.update(r=>{let o=this.getPaneById(t);return o?(o.nodeIdToReveal=n,[...r]):r})}closePane(t){delete this.paneIdToGraph[t],delete this.paneIdToCurModelGraphs[t],this.panes.update(n=>{let r=n.findIndex(o=>o.id===t);return r>=0&&(n.splice(r,1),this.uiStateService.removePane(r)),n[0].widthFraction=1,[...n]}),this.selectPane(this.panes()[0].id)}swapPane(){this.panes.update(t=>t.length!==2?t:[t[1],t[0]]),this.uiStateService.swapPane()}getPaneById(t){return this.panes().find(n=>n.id===t)}getPaneIndexById(t){return this.panes().findIndex(n=>n.id===t)}addSnapshot(t,n,r){this.panes.update(o=>{let s=this.getPaneById(r);return s&&(s.snapshots==null&&(s.snapshots={}),s.snapshots[n]==null&&(s.snapshots[n]=[]),s.snapshots[n].push(t)),[...o]})}deleteSnapshot(t,n,r){this.panes.update(o=>{let s=this.getPaneById(r);return s&&s.snapshots&&s.snapshots[n]&&s.snapshots[n].splice(t,1),[...o]})}getGraphById(t){for(let n of this.curGraphCollections())for(let r of n.graphs)if(r.id===t)return r}addSubgraphBreadcrumbItem(t,n,r,o){this.panes.update(s=>{let a=this.getPaneById(t);if(!a)return s;let l=[...a.subgraphBreadcrumbs||[]];return l.length===0?l.push({graphId:n,snapshot:o}):l[l.length-1]={graphId:n,snapshot:o},l.push({graphId:r}),a.subgraphBreadcrumbs=l,[...s]})}setCurrentSubgraphBreadcrumb(t,n){this.panes.update(r=>{let o=this.getPaneById(t);if(!o)return r;let s=[...o.subgraphBreadcrumbs||[]];return s.splice(n+1),s.length===1&&(s=[]),o.subgraphBreadcrumbs=s,[...r]})}setSearchResults(t,n){this.panes.update(r=>{let o=this.getPaneById(t);return o?(o.searchResults=n,[...r]):r})}clearSearchResults(t){this.panes.update(n=>{let r=this.getPaneById(t);return r?(r.searchResults={results:{}},[...n]):n})}toggleShowOnNode(t,n,r,o){this.panes.update(s=>{let a=this.getPaneById(t);if(!a)return s;a.showOnNodeItemTypes||(a.showOnNodeItemTypes={}),a.showOnNodeItemTypes[n]==null&&(a.showOnNodeItemTypes[n]={}),a.showOnNodeItemTypes[n][r]==null&&(a.showOnNodeItemTypes[n][r]={selected:!1});let l=a.showOnNodeItemTypes[n][r].selected;return a.showOnNodeItemTypes[n]=Z({},a.showOnNodeItemTypes[n]),a.showOnNodeItemTypes[n][r].selected=o??!l,a.showOnNodeItemTypes=Z({},a.showOnNodeItemTypes),[...s]})}toggleShowOnEdge(t,n,r,o){this.panes.update(s=>{let a=this.getPaneById(t);if(!a)return s;a.showOnEdgeItemTypes||(a.showOnEdgeItemTypes={}),a.showOnEdgeItemTypes[n]==null&&(a.showOnEdgeItemTypes[n]={}),a.showOnEdgeItemTypes[n][r]==null&&(a.showOnEdgeItemTypes[n][r]={selected:!1});let l=a.showOnEdgeItemTypes[n][r].selected;return a.showOnEdgeItemTypes[n]=Z({},a.showOnEdgeItemTypes[n]),a.showOnEdgeItemTypes[n][r].selected=o??!l,a.showOnEdgeItemTypes=Z({},a.showOnEdgeItemTypes),[...s]})}setShowOnNodeFilter(t,n,r,o){this.panes.update(s=>{let a=this.getPaneById(t);return a?(a.showOnNodeItemTypes||(a.showOnNodeItemTypes={}),a.showOnNodeItemTypes[n]==null&&(a.showOnNodeItemTypes[n]={}),a.showOnNodeItemTypes[n][r]==null&&(a.showOnNodeItemTypes[n][r]={selected:!1}),a.showOnNodeItemTypes[n][r].filterRegex=o,a.showOnNodeItemTypes=Z({},a.showOnNodeItemTypes),[...s]):s})}setShowOnNode(t,n,r){this.panes.update(o=>{let s=this.getPaneById(t);return s?(s.showOnNodeItemTypes||(s.showOnNodeItemTypes={}),s.showOnNodeItemTypes=Z({},s.showOnNodeItemTypes),s.showOnNodeItemTypes[n]=r,[...o]):o})}setShowOnEdge(t,n,r){this.panes.update(o=>{let s=this.getPaneById(t);return s?(s.showOnEdgeItemTypes||(s.showOnEdgeItemTypes={}),s.showOnEdgeItemTypes=Z({},s.showOnEdgeItemTypes),s.showOnEdgeItemTypes[n]=r,[...o]):o})}deleteShowOnNodeItemType(t){this.panes.update(n=>{for(let r of n){r.showOnNodeItemTypes=Z({},r.showOnNodeItemTypes);for(let o of Object.keys(r.showOnNodeItemTypes))for(let s of t){let a=r.showOnNodeItemTypes[o][s];a&&(a.selected=!1)}}return[...n]})}getShowOnNodeItemTypes(t,n){let r=this.getPaneById(t);return r?JSON.parse(JSON.stringify((r.showOnNodeItemTypes||{})[n]||{})):{}}getSavedShowOnNodeItemTypes(){let t={};if(!this.testMode){let n=this.localStorageService.getItem(qb);n&&(t=JSON.parse(n))}return t}getSavedShowOnEdgeItemTypes(){let t={};if(!this.testMode){let n=this.localStorageService.getItem(Yb);n&&(t=JSON.parse(n))}return t}getShowOnEdgeItemTypes(t,n){let r=this.getPaneById(t);return r?JSON.parse(JSON.stringify((r.showOnEdgeItemTypes||{})[n]||{})):{}}getGraphByPaneId(t){return this.paneIdToGraph[t]}updateCurrentModelGraph(t,n){this.paneIdToCurModelGraphs[t]=n}getCurrentModelGraphFromPane(t){return this.paneIdToCurModelGraphs[t]}updateSelectedNode(t,n,r,o){let s=this.selectedNode();(s?.nodeId!==t||s?.graphId!==n||s?.collectionLabel!==r)&&this.selectedNode.set({nodeId:t,graphId:n,collectionLabel:r,node:o})}updateHoveredNode(t,n,r,o){let s=this.hoveredNode();(s?.nodeId!==t||s?.graphId!==n||s?.collectionLabel!==r)&&this.hoveredNode.set({nodeId:t,graphId:n,collectionLabel:r,node:o})}updateDoubleClickedNode(t,n,r,o){let s=this.doubleClickedNode();(s?.nodeId!==t||s?.graphId!==n||s?.collectionLabel!==r)&&this.doubleClickedNode.set({nodeId:t,graphId:n,collectionLabel:r,node:o})}reset(){this.workerService.worker.postMessage({eventType:Ji.CLEANUP}),this.curGraphCollections.set([]),this.curToLocateNodeInfo.set(void 0),this.curSelectedRenderer.set(void 0),this.config.set(void 0),this.curInitialUiState.set(void 0),this.panes.set([{id:Fr(),widthFraction:1}]),this.selectedPaneId.set(this.panes()[0].id),this.remoteNodeDataPaths.set([]),this.groupNodeChildrenCountThresholdFromUrl=null,this.paneIdToGraph={},this.paneIdToCurModelGraphs={},this.init()}listenToWorker(){this.workerService.worker.addEventListener("message",t=>{let n=t.data;switch(n.eventType){case Ji.PROCESS_GRAPH_RESP:this.handleGraphProcessed(n.modelGraph,n.paneId);break;default:break}})}init(){this.curSelectedRenderer.set({id:this.panes()[0].id,ownerType:Ll.GRAPH_PANEL});let t=new URLSearchParams(document.location.search);this.testMode=t.get("test_mode")==="1",this.groupNodeChildrenCountThresholdFromUrl=t.get("groupNodeChildrenCountThreshold");let n=this.panes()[0];n.showOnNodeItemTypes={[n.id]:this.getSavedShowOnNodeItemTypes()},n.showOnEdgeItemTypes={[n.id]:this.getSavedShowOnEdgeItemTypes()}}handleGraphProcessed(t,n){this.panes.update(r=>{for(let o of r)if(o.id===n){o.modelGraph=t;break}return[...r]}),this.modelGraphProcessed$.next({paneIndex:this.getPaneIndexById(n),modelGraph:t})}setPaneLoading(t){this.panes.update(n=>{for(let r of n)if(r.id===t){r.modelGraph=void 0;break}return[...n]})}getGroupNodeChildrenCountThreshold(){let t=Tm;return this.config&&(t=this.config()?.artificialLayerNodeCountThreshold||Tm),this.groupNodeChildrenCountThresholdFromUrl!=null&&(t=Number(this.groupNodeChildrenCountThresholdFromUrl)),t}static \u0275fac=function(n){return new(n||i)(X(Vo),X(zl),X(Ul))};static \u0275prov=J({token:i,factory:i.\u0275fac})}return i})();var i3=(()=>{let e=class e{constructor(n,r){this._renderer=n,this._elementRef=r,this.onChange=o=>{},this.onTouched=()=>{}}setProperty(n,r){this._renderer.setProperty(this._elementRef.nativeElement,n,r)}registerOnTouched(n){this.onTouched=n}registerOnChange(n){this.onChange=n}setDisabledState(n){this.setProperty("disabled",n)}};e.\u0275fac=function(r){return new(r||e)(M(Xc),M(Re))},e.\u0275dir=ze({type:e});let i=e;return i})(),r3=(()=>{let e=class e extends i3{};e.\u0275fac=(()=>{let n;return function(o){return(n||(n=Ai(e)))(o||e)}})(),e.\u0275dir=ze({type:e,features:[nn]});let i=e;return i})(),La=new ge(""),gQ={provide:La,useExisting:Zr(()=>Fm),multi:!0},Fm=(()=>{let e=class e extends r3{writeValue(n){this.setProperty("checked",n)}};e.\u0275fac=(()=>{let n;return function(o){return(n||(n=Ai(e)))(o||e)}})(),e.\u0275dir=ze({type:e,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(r,o){r&1&&H("change",function(a){return o.onChange(a.target.checked)})("blur",function(){return o.onTouched()})},features:[Bt([gQ]),nn]});let i=e;return i})(),_Q={provide:La,useExisting:Zr(()=>qs),multi:!0};function vQ(){let i=Da()?Da().getUserAgent():"";return/android (\d+)/.test(i.toLowerCase())}var bQ=new ge(""),qs=(()=>{let e=class e extends i3{constructor(n,r,o){super(n,r),this._compositionMode=o,this._composing=!1,this._compositionMode==null&&(this._compositionMode=!vQ())}writeValue(n){let r=n??"";this.setProperty("value",r)}_handleInput(n){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(n)}_compositionStart(){this._composing=!0}_compositionEnd(n){this._composing=!1,this._compositionMode&&this.onChange(n)}};e.\u0275fac=function(r){return new(r||e)(M(Xc),M(Re),M(bQ,8))},e.\u0275dir=ze({type:e,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(r,o){r&1&&H("input",function(a){return o._handleInput(a.target.value)})("blur",function(){return o.onTouched()})("compositionstart",function(){return o._compositionStart()})("compositionend",function(a){return o._compositionEnd(a.target.value)})},features:[Bt([_Q]),nn]});let i=e;return i})();function Hl(i){return i==null||(typeof i=="string"||Array.isArray(i))&&i.length===0}function o3(i){return i!=null&&typeof i.length=="number"}var md=new ge(""),iT=new ge(""),yQ=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,ny=class{static min(e){return xQ(e)}static max(e){return wQ(e)}static required(e){return CQ(e)}static requiredTrue(e){return SQ(e)}static email(e){return MQ(e)}static minLength(e){return EQ(e)}static maxLength(e){return IQ(e)}static pattern(e){return TQ(e)}static nullValidator(e){return s3(e)}static compose(e){return h3(e)}static composeAsync(e){return p3(e)}};function xQ(i){return e=>{if(Hl(e.value)||Hl(i))return null;let t=parseFloat(e.value);return!isNaN(t)&&t{if(Hl(e.value)||Hl(i))return null;let t=parseFloat(e.value);return!isNaN(t)&&t>i?{max:{max:i,actual:e.value}}:null}}function CQ(i){return Hl(i.value)?{required:!0}:null}function SQ(i){return i.value===!0?null:{required:!0}}function MQ(i){return Hl(i.value)||yQ.test(i.value)?null:{email:!0}}function EQ(i){return e=>Hl(e.value)||!o3(e.value)?null:e.value.lengtho3(e.value)&&e.value.length>i?{maxlength:{requiredLength:i,actualLength:e.value.length}}:null}function TQ(i){if(!i)return s3;let e,t;return typeof i=="string"?(t="",i.charAt(0)!=="^"&&(t+="^"),t+=i,i.charAt(i.length-1)!=="$"&&(t+="$"),e=new RegExp(t)):(t=i.toString(),e=i),n=>{if(Hl(n.value))return null;let r=n.value;return e.test(r)?null:{pattern:{requiredPattern:t,actualValue:r}}}}function s3(i){return null}function a3(i){return i!=null}function l3(i){return Qc(i)?Kn(i):i}function c3(i){let e={};return i.forEach(t=>{e=t!=null?Z(Z({},e),t):e}),Object.keys(e).length===0?null:e}function d3(i,e){return e.map(t=>t(i))}function DQ(i){return!i.validate}function u3(i){return i.map(e=>DQ(e)?e:t=>e.validate(t))}function h3(i){if(!i)return null;let e=i.filter(a3);return e.length==0?null:function(t){return c3(d3(t,e))}}function rT(i){return i!=null?h3(u3(i)):null}function p3(i){if(!i)return null;let e=i.filter(a3);return e.length==0?null:function(t){let n=d3(t,e).map(l3);return Ef(n).pipe(Je(c3))}}function oT(i){return i!=null?p3(u3(i)):null}function KF(i,e){return i===null?[e]:Array.isArray(i)?[...i,e]:[i,e]}function f3(i){return i._rawValidators}function m3(i){return i._rawAsyncValidators}function JI(i){return i?Array.isArray(i)?i:[i]:[]}function iy(i,e){return Array.isArray(i)?i.includes(e):i===e}function JF(i,e){let t=JI(e);return JI(i).forEach(r=>{iy(t,r)||t.push(r)}),t}function e3(i,e){return JI(e).filter(t=>!iy(i,t))}var ry=class{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(e){this._rawValidators=e||[],this._composedValidatorFn=rT(this._rawValidators)}_setAsyncValidators(e){this._rawAsyncValidators=e||[],this._composedAsyncValidatorFn=oT(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(e){this._onDestroyCallbacks.push(e)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(e=>e()),this._onDestroyCallbacks=[]}reset(e=void 0){this.control&&this.control.reset(e)}hasError(e,t){return this.control?this.control.hasError(e,t):!1}getError(e,t){return this.control?this.control.getError(e,t):null}},Sh=class extends ry{get formDirective(){return null}get path(){return null}},fd=class extends ry{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}},eT=class{constructor(e){this._cd=e}get isTouched(){return this._cd?.control?._touched?.(),!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return this._cd?.control?._pristine?.(),!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return this._cd?.control?._status?.(),!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return this._cd?._submitted?.(),!!this._cd?.submitted}},PQ={"[class.ng-untouched]":"isUntouched","[class.ng-touched]":"isTouched","[class.ng-pristine]":"isPristine","[class.ng-dirty]":"isDirty","[class.ng-valid]":"isValid","[class.ng-invalid]":"isInvalid","[class.ng-pending]":"isPending"},HIe=wt(Z({},PQ),{"[class.ng-submitted]":"isSubmitted"}),zo=(()=>{let e=class e extends eT{constructor(n){super(n)}};e.\u0275fac=function(r){return new(r||e)(M(fd,2))},e.\u0275dir=ze({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(r,o){r&2&&se("ng-untouched",o.isUntouched)("ng-touched",o.isTouched)("ng-pristine",o.isPristine)("ng-dirty",o.isDirty)("ng-valid",o.isValid)("ng-invalid",o.isInvalid)("ng-pending",o.isPending)},features:[nn]});let i=e;return i})();var Rm="VALID",ty="INVALID",wh="PENDING",Am="DISABLED",Gl=class{},oy=class extends Gl{constructor(e,t){super(),this.value=e,this.source=t}},km=class extends Gl{constructor(e,t){super(),this.pristine=e,this.source=t}},Lm=class extends Gl{constructor(e,t){super(),this.touched=e,this.source=t}},Ch=class extends Gl{constructor(e,t){super(),this.status=e,this.source=t}},tT=class extends Gl{constructor(e){super(),this.source=e}},nT=class extends Gl{constructor(e){super(),this.source=e}};function g3(i){return(hy(i)?i.validators:i)||null}function OQ(i){return Array.isArray(i)?rT(i):i||null}function _3(i,e){return(hy(e)?e.asyncValidators:i)||null}function RQ(i){return Array.isArray(i)?oT(i):i||null}function hy(i){return i!=null&&!Array.isArray(i)&&typeof i=="object"}function AQ(i,e,t){let n=i.controls;if(!(e?Object.keys(n):n).length)throw new Oe(1e3,"");if(!n[t])throw new Oe(1001,"")}function NQ(i,e,t){i._forEachChild((n,r)=>{if(t[r]===void 0)throw new Oe(1002,"")})}var sy=class{constructor(e,t){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=null,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this._status=Xt(()=>this.statusReactive()),this.statusReactive=ut(void 0),this._pristine=Xt(()=>this.pristineReactive()),this.pristineReactive=ut(!0),this._touched=Xt(()=>this.touchedReactive()),this.touchedReactive=ut(!1),this._events=new me,this.events=this._events.asObservable(),this._onDisabledChange=[],this._assignValidators(e),this._assignAsyncValidators(t)}get validator(){return this._composedValidatorFn}set validator(e){this._rawValidators=this._composedValidatorFn=e}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(e){this._rawAsyncValidators=this._composedAsyncValidatorFn=e}get parent(){return this._parent}get status(){return Lr(this.statusReactive)}set status(e){Lr(()=>this.statusReactive.set(e))}get valid(){return this.status===Rm}get invalid(){return this.status===ty}get pending(){return this.status==wh}get disabled(){return this.status===Am}get enabled(){return this.status!==Am}get pristine(){return Lr(this.pristineReactive)}set pristine(e){Lr(()=>this.pristineReactive.set(e))}get dirty(){return!this.pristine}get touched(){return Lr(this.touchedReactive)}set touched(e){Lr(()=>this.touchedReactive.set(e))}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(e){this._assignValidators(e)}setAsyncValidators(e){this._assignAsyncValidators(e)}addValidators(e){this.setValidators(JF(e,this._rawValidators))}addAsyncValidators(e){this.setAsyncValidators(JF(e,this._rawAsyncValidators))}removeValidators(e){this.setValidators(e3(e,this._rawValidators))}removeAsyncValidators(e){this.setAsyncValidators(e3(e,this._rawAsyncValidators))}hasValidator(e){return iy(this._rawValidators,e)}hasAsyncValidator(e){return iy(this._rawAsyncValidators,e)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(e={}){let t=this.touched===!1;this.touched=!0;let n=e.sourceControl??this;this._parent&&!e.onlySelf&&this._parent.markAsTouched(wt(Z({},e),{sourceControl:n})),t&&e.emitEvent!==!1&&this._events.next(new Lm(!0,n))}markAllAsTouched(e={}){this.markAsTouched({onlySelf:!0,emitEvent:e.emitEvent,sourceControl:this}),this._forEachChild(t=>t.markAllAsTouched(e))}markAsUntouched(e={}){let t=this.touched===!0;this.touched=!1,this._pendingTouched=!1;let n=e.sourceControl??this;this._forEachChild(r=>{r.markAsUntouched({onlySelf:!0,emitEvent:e.emitEvent,sourceControl:n})}),this._parent&&!e.onlySelf&&this._parent._updateTouched(e,n),t&&e.emitEvent!==!1&&this._events.next(new Lm(!1,n))}markAsDirty(e={}){let t=this.pristine===!0;this.pristine=!1;let n=e.sourceControl??this;this._parent&&!e.onlySelf&&this._parent.markAsDirty(wt(Z({},e),{sourceControl:n})),t&&e.emitEvent!==!1&&this._events.next(new km(!1,n))}markAsPristine(e={}){let t=this.pristine===!1;this.pristine=!0,this._pendingDirty=!1;let n=e.sourceControl??this;this._forEachChild(r=>{r.markAsPristine({onlySelf:!0,emitEvent:e.emitEvent})}),this._parent&&!e.onlySelf&&this._parent._updatePristine(e,n),t&&e.emitEvent!==!1&&this._events.next(new km(!0,n))}markAsPending(e={}){this.status=wh;let t=e.sourceControl??this;e.emitEvent!==!1&&(this._events.next(new Ch(this.status,t)),this.statusChanges.emit(this.status)),this._parent&&!e.onlySelf&&this._parent.markAsPending(wt(Z({},e),{sourceControl:t}))}disable(e={}){let t=this._parentMarkedDirty(e.onlySelf);this.status=Am,this.errors=null,this._forEachChild(r=>{r.disable(wt(Z({},e),{onlySelf:!0}))}),this._updateValue();let n=e.sourceControl??this;e.emitEvent!==!1&&(this._events.next(new oy(this.value,n)),this._events.next(new Ch(this.status,n)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(wt(Z({},e),{skipPristineCheck:t}),this),this._onDisabledChange.forEach(r=>r(!0))}enable(e={}){let t=this._parentMarkedDirty(e.onlySelf);this.status=Rm,this._forEachChild(n=>{n.enable(wt(Z({},e),{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:e.emitEvent}),this._updateAncestors(wt(Z({},e),{skipPristineCheck:t}),this),this._onDisabledChange.forEach(n=>n(!1))}_updateAncestors(e,t){this._parent&&!e.onlySelf&&(this._parent.updateValueAndValidity(e),e.skipPristineCheck||this._parent._updatePristine({},t),this._parent._updateTouched({},t))}setParent(e){this._parent=e}getRawValue(){return this.value}updateValueAndValidity(e={}){if(this._setInitialStatus(),this._updateValue(),this.enabled){let n=this._cancelExistingSubscription();this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Rm||this.status===wh)&&this._runAsyncValidator(n,e.emitEvent)}let t=e.sourceControl??this;e.emitEvent!==!1&&(this._events.next(new oy(this.value,t)),this._events.next(new Ch(this.status,t)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!e.onlySelf&&this._parent.updateValueAndValidity(wt(Z({},e),{sourceControl:t}))}_updateTreeValidity(e={emitEvent:!0}){this._forEachChild(t=>t._updateTreeValidity(e)),this.updateValueAndValidity({onlySelf:!0,emitEvent:e.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Am:Rm}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(e,t){if(this.asyncValidator){this.status=wh,this._hasOwnPendingAsyncValidator={emitEvent:t!==!1};let n=l3(this.asyncValidator(this));this._asyncValidationSubscription=n.subscribe(r=>{this._hasOwnPendingAsyncValidator=null,this.setErrors(r,{emitEvent:t,shouldHaveEmitted:e})})}}_cancelExistingSubscription(){if(this._asyncValidationSubscription){this._asyncValidationSubscription.unsubscribe();let e=this._hasOwnPendingAsyncValidator?.emitEvent??!1;return this._hasOwnPendingAsyncValidator=null,e}return!1}setErrors(e,t={}){this.errors=e,this._updateControlsErrors(t.emitEvent!==!1,this,t.shouldHaveEmitted)}get(e){let t=e;return t==null||(Array.isArray(t)||(t=t.split(".")),t.length===0)?null:t.reduce((n,r)=>n&&n._find(r),this)}getError(e,t){let n=t?this.get(t):this;return n&&n.errors?n.errors[e]:null}hasError(e,t){return!!this.getError(e,t)}get root(){let e=this;for(;e._parent;)e=e._parent;return e}_updateControlsErrors(e,t,n){this.status=this._calculateStatus(),e&&this.statusChanges.emit(this.status),(e||n)&&this._events.next(new Ch(this.status,t)),this._parent&&this._parent._updateControlsErrors(e,t,n)}_initObservables(){this.valueChanges=new Ie,this.statusChanges=new Ie}_calculateStatus(){return this._allControlsDisabled()?Am:this.errors?ty:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(wh)?wh:this._anyControlsHaveStatus(ty)?ty:Rm}_anyControlsHaveStatus(e){return this._anyControls(t=>t.status===e)}_anyControlsDirty(){return this._anyControls(e=>e.dirty)}_anyControlsTouched(){return this._anyControls(e=>e.touched)}_updatePristine(e,t){let n=!this._anyControlsDirty(),r=this.pristine!==n;this.pristine=n,this._parent&&!e.onlySelf&&this._parent._updatePristine(e,t),r&&this._events.next(new km(this.pristine,t))}_updateTouched(e={},t){this.touched=this._anyControlsTouched(),this._events.next(new Lm(this.touched,t)),this._parent&&!e.onlySelf&&this._parent._updateTouched(e,t)}_registerOnCollectionChange(e){this._onCollectionChange=e}_setUpdateStrategy(e){hy(e)&&e.updateOn!=null&&(this._updateOn=e.updateOn)}_parentMarkedDirty(e){let t=this._parent&&this._parent.dirty;return!e&&!!t&&!this._parent._anyControlsDirty()}_find(e){return null}_assignValidators(e){this._rawValidators=Array.isArray(e)?e.slice():e,this._composedValidatorFn=OQ(this._rawValidators)}_assignAsyncValidators(e){this._rawAsyncValidators=Array.isArray(e)?e.slice():e,this._composedAsyncValidatorFn=RQ(this._rawAsyncValidators)}},ay=class extends sy{constructor(e,t,n){super(g3(t),_3(n,t)),this.controls=e,this._initObservables(),this._setUpdateStrategy(t),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(e,t){return this.controls[e]?this.controls[e]:(this.controls[e]=t,t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange),t)}addControl(e,t,n={}){this.registerControl(e,t),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}removeControl(e,t={}){this.controls[e]&&this.controls[e]._registerOnCollectionChange(()=>{}),delete this.controls[e],this.updateValueAndValidity({emitEvent:t.emitEvent}),this._onCollectionChange()}setControl(e,t,n={}){this.controls[e]&&this.controls[e]._registerOnCollectionChange(()=>{}),delete this.controls[e],t&&this.registerControl(e,t),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}contains(e){return this.controls.hasOwnProperty(e)&&this.controls[e].enabled}setValue(e,t={}){NQ(this,!0,e),Object.keys(e).forEach(n=>{AQ(this,!0,n),this.controls[n].setValue(e[n],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)}patchValue(e,t={}){e!=null&&(Object.keys(e).forEach(n=>{let r=this.controls[n];r&&r.patchValue(e[n],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t))}reset(e={},t={}){this._forEachChild((n,r)=>{n.reset(e?e[r]:null,{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t,this),this._updateTouched(t,this),this.updateValueAndValidity(t)}getRawValue(){return this._reduceChildren({},(e,t,n)=>(e[n]=t.getRawValue(),e))}_syncPendingControls(){let e=this._reduceChildren(!1,(t,n)=>n._syncPendingControls()?!0:t);return e&&this.updateValueAndValidity({onlySelf:!0}),e}_forEachChild(e){Object.keys(this.controls).forEach(t=>{let n=this.controls[t];n&&e(n,t)})}_setUpControls(){this._forEachChild(e=>{e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(e){for(let[t,n]of Object.entries(this.controls))if(this.contains(t)&&e(n))return!0;return!1}_reduceValue(){let e={};return this._reduceChildren(e,(t,n,r)=>((n.enabled||this.disabled)&&(t[r]=n.value),t))}_reduceChildren(e,t){let n=e;return this._forEachChild((r,o)=>{n=t(n,r,o)}),n}_allControlsDisabled(){for(let e of Object.keys(this.controls))if(this.controls[e].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(e){return this.controls.hasOwnProperty(e)?this.controls[e]:null}};var py=new ge("CallSetDisabledState",{providedIn:"root",factory:()=>sT}),sT="always";function ly(i,e,t=sT){aT(i,e),e.valueAccessor.writeValue(i.value),(i.disabled||t==="always")&&e.valueAccessor.setDisabledState?.(i.disabled),LQ(i,e),BQ(i,e),FQ(i,e),kQ(i,e)}function cy(i,e,t=!0){let n=()=>{};e.valueAccessor&&(e.valueAccessor.registerOnChange(n),e.valueAccessor.registerOnTouched(n)),uy(i,e),i&&(e._invokeOnDestroyCallbacks(),i._registerOnCollectionChange(()=>{}))}function dy(i,e){i.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(e)})}function kQ(i,e){if(e.valueAccessor.setDisabledState){let t=n=>{e.valueAccessor.setDisabledState(n)};i.registerOnDisabledChange(t),e._registerOnDestroy(()=>{i._unregisterOnDisabledChange(t)})}}function aT(i,e){let t=f3(i);e.validator!==null?i.setValidators(KF(t,e.validator)):typeof t=="function"&&i.setValidators([t]);let n=m3(i);e.asyncValidator!==null?i.setAsyncValidators(KF(n,e.asyncValidator)):typeof n=="function"&&i.setAsyncValidators([n]);let r=()=>i.updateValueAndValidity();dy(e._rawValidators,r),dy(e._rawAsyncValidators,r)}function uy(i,e){let t=!1;if(i!==null){if(e.validator!==null){let r=f3(i);if(Array.isArray(r)&&r.length>0){let o=r.filter(s=>s!==e.validator);o.length!==r.length&&(t=!0,i.setValidators(o))}}if(e.asyncValidator!==null){let r=m3(i);if(Array.isArray(r)&&r.length>0){let o=r.filter(s=>s!==e.asyncValidator);o.length!==r.length&&(t=!0,i.setAsyncValidators(o))}}}let n=()=>{};return dy(e._rawValidators,n),dy(e._rawAsyncValidators,n),t}function LQ(i,e){e.valueAccessor.registerOnChange(t=>{i._pendingValue=t,i._pendingChange=!0,i._pendingDirty=!0,i.updateOn==="change"&&v3(i,e)})}function FQ(i,e){e.valueAccessor.registerOnTouched(()=>{i._pendingTouched=!0,i.updateOn==="blur"&&i._pendingChange&&v3(i,e),i.updateOn!=="submit"&&i.markAsTouched()})}function v3(i,e){i._pendingDirty&&i.markAsDirty(),i.setValue(i._pendingValue,{emitModelToViewChange:!1}),e.viewToModelUpdate(i._pendingValue),i._pendingChange=!1}function BQ(i,e){let t=(n,r)=>{e.valueAccessor.writeValue(n),r&&e.viewToModelUpdate(n)};i.registerOnChange(t),e._registerOnDestroy(()=>{i._unregisterOnChange(t)})}function b3(i,e){i==null,aT(i,e)}function VQ(i,e){return uy(i,e)}function zQ(i,e){if(!i.hasOwnProperty("model"))return!1;let t=i.model;return t.isFirstChange()?!0:!Object.is(e,t.currentValue)}function UQ(i){return Object.getPrototypeOf(i.constructor)===r3}function y3(i,e){i._syncPendingControls(),e.forEach(t=>{let n=t.control;n.updateOn==="submit"&&n._pendingChange&&(t.viewToModelUpdate(n._pendingValue),n._pendingChange=!1)})}function HQ(i,e){if(!e)return null;Array.isArray(e);let t,n,r;return e.forEach(o=>{o.constructor===qs?t=o:UQ(o)?n=o:r=o}),r||n||t||null}function GQ(i,e){let t=i.indexOf(e);t>-1&&i.splice(t,1)}var jQ={provide:Sh,useExisting:Zr(()=>lT)},Nm=Promise.resolve(),lT=(()=>{let e=class e extends Sh{get submitted(){return Lr(this.submittedReactive)}constructor(n,r,o){super(),this.callSetDisabledState=o,this._submitted=Xt(()=>this.submittedReactive()),this.submittedReactive=ut(!1),this._directives=new Set,this.ngSubmit=new Ie,this.form=new ay({},rT(n),oT(r))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(n){Nm.then(()=>{let r=this._findContainer(n.path);n.control=r.registerControl(n.name,n.control),ly(n.control,n,this.callSetDisabledState),n.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(n)})}getControl(n){return this.form.get(n.path)}removeControl(n){Nm.then(()=>{let r=this._findContainer(n.path);r&&r.removeControl(n.name),this._directives.delete(n)})}addFormGroup(n){Nm.then(()=>{let r=this._findContainer(n.path),o=new ay({});b3(o,n),r.registerControl(n.name,o),o.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(n){Nm.then(()=>{let r=this._findContainer(n.path);r&&r.removeControl(n.name)})}getFormGroup(n){return this.form.get(n.path)}updateModel(n,r){Nm.then(()=>{this.form.get(n.path).setValue(r)})}setValue(n){this.control.setValue(n)}onSubmit(n){return this.submittedReactive.set(!0),y3(this.form,this._directives),this.ngSubmit.emit(n),n?.target?.method==="dialog"}onReset(){this.resetForm()}resetForm(n=void 0){this.form.reset(n),this.submittedReactive.set(!1)}_setUpdateStrategy(){this.options&&this.options.updateOn!=null&&(this.form._updateOn=this.options.updateOn)}_findContainer(n){return n.pop(),n.length?this.form.get(n):this.form}};e.\u0275fac=function(r){return new(r||e)(M(md,10),M(iT,10),M(py,8))},e.\u0275dir=ze({type:e,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(r,o){r&1&&H("submit",function(a){return o.onSubmit(a)})("reset",function(){return o.onReset()})},inputs:{options:[0,"ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[Bt([jQ]),nn]});let i=e;return i})();function t3(i,e){let t=i.indexOf(e);t>-1&&i.splice(t,1)}function n3(i){return typeof i=="object"&&i!==null&&Object.keys(i).length===2&&"value"in i&&"disabled"in i}var gr=class extends sy{constructor(e=null,t,n){super(g3(t),_3(n,t)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(e),this._setUpdateStrategy(t),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),hy(t)&&(t.nonNullable||t.initialValueIsDefault)&&(n3(e)?this.defaultValue=e.value:this.defaultValue=e)}setValue(e,t={}){this.value=this._pendingValue=e,this._onChange.length&&t.emitModelToViewChange!==!1&&this._onChange.forEach(n=>n(this.value,t.emitViewToModelChange!==!1)),this.updateValueAndValidity(t)}patchValue(e,t={}){this.setValue(e,t)}reset(e=this.defaultValue,t={}){this._applyFormState(e),this.markAsPristine(t),this.markAsUntouched(t),this.setValue(this.value,t),this._pendingChange=!1}_updateValue(){}_anyControls(e){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(e){this._onChange.push(e)}_unregisterOnChange(e){t3(this._onChange,e)}registerOnDisabledChange(e){this._onDisabledChange.push(e)}_unregisterOnDisabledChange(e){t3(this._onDisabledChange,e)}_forEachChild(e){}_syncPendingControls(){return this.updateOn==="submit"&&(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),this._pendingChange)?(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),!0):!1}_applyFormState(e){n3(e)?(this.value=this._pendingValue=e.value,e.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=e}};var WQ=i=>i instanceof gr;var x3=new ge(""),$Q={provide:fd,useExisting:Zr(()=>po)},po=(()=>{let e=class e extends fd{set isDisabled(n){}constructor(n,r,o,s,a){super(),this._ngModelWarningConfig=s,this.callSetDisabledState=a,this.update=new Ie,this._ngModelWarningSent=!1,this._setValidators(n),this._setAsyncValidators(r),this.valueAccessor=HQ(this,o)}ngOnChanges(n){if(this._isControlChanged(n)){let r=n.form.previousValue;r&&cy(r,this,!1),ly(this.form,this,this.callSetDisabledState),this.form.updateValueAndValidity({emitEvent:!1})}zQ(n,this.viewModel)&&(this.form.setValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.form&&cy(this.form,this,!1)}get path(){return[]}get control(){return this.form}viewToModelUpdate(n){this.viewModel=n,this.update.emit(n)}_isControlChanged(n){return n.hasOwnProperty("form")}};e._ngModelWarningSentOnce=!1,e.\u0275fac=function(r){return new(r||e)(M(md,10),M(iT,10),M(La,10),M(x3,8),M(py,8))},e.\u0275dir=ze({type:e,selectors:[["","formControl",""]],inputs:{form:[0,"formControl","form"],isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"]},outputs:{update:"ngModelChange"},exportAs:["ngForm"],features:[Bt([$Q]),nn,dn]});let i=e;return i})(),qQ={provide:Sh,useExisting:Zr(()=>cT)},cT=(()=>{let e=class e extends Sh{get submitted(){return Lr(this._submittedReactive)}set submitted(n){this._submittedReactive.set(n)}constructor(n,r,o){super(),this.callSetDisabledState=o,this._submitted=Xt(()=>this._submittedReactive()),this._submittedReactive=ut(!1),this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new Ie,this._setValidators(n),this._setAsyncValidators(r)}ngOnChanges(n){this._checkFormPresent(),n.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(uy(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(n){let r=this.form.get(n.path);return ly(r,n,this.callSetDisabledState),r.updateValueAndValidity({emitEvent:!1}),this.directives.push(n),r}getControl(n){return this.form.get(n.path)}removeControl(n){cy(n.control||null,n,!1),GQ(this.directives,n)}addFormGroup(n){this._setUpFormContainer(n)}removeFormGroup(n){this._cleanUpFormContainer(n)}getFormGroup(n){return this.form.get(n.path)}addFormArray(n){this._setUpFormContainer(n)}removeFormArray(n){this._cleanUpFormContainer(n)}getFormArray(n){return this.form.get(n.path)}updateModel(n,r){this.form.get(n.path).setValue(r)}onSubmit(n){return this._submittedReactive.set(!0),y3(this.form,this.directives),this.ngSubmit.emit(n),this.form._events.next(new tT(this.control)),n?.target?.method==="dialog"}onReset(){this.resetForm()}resetForm(n=void 0){this.form.reset(n),this._submittedReactive.set(!1),this.form._events.next(new nT(this.form))}_updateDomValue(){this.directives.forEach(n=>{let r=n.control,o=this.form.get(n.path);r!==o&&(cy(r||null,n),WQ(o)&&(ly(o,n,this.callSetDisabledState),n.control=o))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(n){let r=this.form.get(n.path);b3(r,n),r.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(n){if(this.form){let r=this.form.get(n.path);r&&VQ(r,n)&&r.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){aT(this.form,this),this._oldForm&&uy(this._oldForm,this)}_checkFormPresent(){this.form}};e.\u0275fac=function(r){return new(r||e)(M(md,10),M(iT,10),M(py,8))},e.\u0275dir=ze({type:e,selectors:[["","formGroup",""]],hostBindings:function(r,o){r&1&&H("submit",function(a){return o.onSubmit(a)})("reset",function(){return o.onReset()})},inputs:{form:[0,"formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[Bt([qQ]),nn,dn]});let i=e;return i})();var YQ=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=ot({type:e}),e.\u0275inj=rt({});let i=e;return i})();var _r=(()=>{let e=class e{static withConfig(n){return{ngModule:e,providers:[{provide:x3,useValue:n.warnOnNgModelWithFormControl??"always"},{provide:py,useValue:n.callSetDisabledState??sT}]}}};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=ot({type:e}),e.\u0275inj=rt({imports:[YQ]});let i=e;return i})();var uT;try{uT=typeof Intl<"u"&&Intl.v8BreakIterator}catch{uT=!1}var gn=(()=>{let e=class e{constructor(n){this._platformId=n,this.isBrowser=this._platformId?pL(this._platformId):typeof document=="object"&&!!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||uT)&&typeof CSS<"u"&&!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}};e.\u0275fac=function(r){return new(r||e)(X(Ia))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();var Bm;function XQ(){if(Bm==null&&typeof window<"u")try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>Bm=!0}))}finally{Bm=Bm||!1}return Bm}function Br(i){return XQ()?i:!!i.capture}var fs=function(i){return i[i.NORMAL=0]="NORMAL",i[i.NEGATED=1]="NEGATED",i[i.INVERTED=2]="INVERTED",i}(fs||{}),fy,_d;function my(){if(_d==null){if(typeof document!="object"||!document||typeof Element!="function"||!Element)return _d=!1,_d;if("scrollBehavior"in document.documentElement.style)_d=!0;else{let i=Element.prototype.scrollTo;i?_d=!/\{\s*\[native code\]\s*\}/.test(i.toString()):_d=!1}}return _d}function Mh(){if(typeof document!="object"||!document)return fs.NORMAL;if(fy==null){let i=document.createElement("div"),e=i.style;i.dir="rtl",e.width="1px",e.overflow="auto",e.visibility="hidden",e.pointerEvents="none",e.position="absolute";let t=document.createElement("div"),n=t.style;n.width="2px",n.height="1px",i.appendChild(t),document.body.appendChild(i),fy=fs.NORMAL,i.scrollLeft===0&&(i.scrollLeft=1,fy=i.scrollLeft===0?fs.NEGATED:fs.INVERTED),i.remove()}return fy}var dT;function ZQ(){if(dT==null){let i=typeof document<"u"?document.head:null;dT=!!(i&&(i.createShadowRoot||i.attachShadow))}return dT}function Eh(i){if(ZQ()){let e=i.getRootNode?i.getRootNode():null;if(typeof ShadowRoot<"u"&&ShadowRoot&&e instanceof ShadowRoot)return e}return null}function Vm(){let i=typeof document<"u"&&document?document.activeElement:null;for(;i&&i.shadowRoot;){let e=i.shadowRoot.activeElement;if(e===i)break;i=e}return i}function Mi(i){return i.composedPath?i.composedPath()[0]:i.target}function zm(){return typeof __karma__<"u"&&!!__karma__||typeof jasmine<"u"&&!!jasmine||typeof jest<"u"&&!!jest||typeof Mocha<"u"&&!!Mocha}function gi(i,...e){return e.length?e.some(t=>i[t]):i.altKey||i.shiftKey||i.ctrlKey||i.metaKey}function Ih(i){return i!=null&&`${i}`!="false"}function Xs(i,e=0){return QQ(i)?Number(i):e}function QQ(i){return!isNaN(parseFloat(i))&&!isNaN(Number(i))}function vd(i){return Array.isArray(i)?i:[i]}function _i(i){return i==null?"":typeof i=="string"?i:`${i}px`}function er(i){return i instanceof Re?i.nativeElement:i}var KQ=(()=>{let e=class e{create(n){return typeof MutationObserver>"u"?null:new MutationObserver(n)}};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();var gy=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=ot({type:e}),e.\u0275inj=rt({providers:[KQ]});let i=e;return i})();var w3=new Set,bd,JQ=(()=>{let e=class e{constructor(n,r){this._platform=n,this._nonce=r,this._matchMedia=this._platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):tK}matchMedia(n){return(this._platform.WEBKIT||this._platform.BLINK)&&eK(n,this._nonce),this._matchMedia(n)}};e.\u0275fac=function(r){return new(r||e)(X(gn),X(jf,8))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();function eK(i,e){if(!w3.has(i))try{bd||(bd=document.createElement("style"),e&&bd.setAttribute("nonce",e),bd.setAttribute("type","text/css"),document.head.appendChild(bd)),bd.sheet&&(bd.sheet.insertRule(`@media ${i} {body{ }}`,0),w3.add(i))}catch(t){console.error(t)}}function tK(i){return{matches:i==="all"||i==="",media:i,addListener:()=>{},removeListener:()=>{}}}var Th=(()=>{let e=class e{constructor(n,r){this._mediaMatcher=n,this._zone=r,this._queries=new Map,this._destroySubject=new me}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(n){return C3(vd(n)).some(o=>this._registerQuery(o).mql.matches)}observe(n){let o=C3(vd(n)).map(a=>this._registerQuery(a).observable),s=Xr(o);return s=Ts(s.pipe(_n(1)),s.pipe(Pf(1),To(0))),s.pipe(Je(a=>{let l={matches:!1,breakpoints:{}};return a.forEach(({matches:c,query:d})=>{l.matches=l.matches||c,l.breakpoints[d]=c}),l}))}_registerQuery(n){if(this._queries.has(n))return this._queries.get(n);let r=this._mediaMatcher.matchMedia(n),s={observable:new Mt(a=>{let l=c=>this._zone.run(()=>a.next(c));return r.addListener(l),()=>{r.removeListener(l)}}).pipe(fi(r),Je(({matches:a})=>({query:n,matches:a})),Xe(this._destroySubject)),mql:r};return this._queries.set(n,s),s}};e.\u0275fac=function(r){return new(r||e)(X(JQ),X(Le))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();function C3(i){return i.map(e=>e.split(",")).reduce((e,t)=>e.concat(t)).map(e=>e.trim())}var _y={XSmall:"(max-width: 599.98px)",Small:"(min-width: 600px) and (max-width: 959.98px)",Medium:"(min-width: 960px) and (max-width: 1279.98px)",Large:"(min-width: 1280px) and (max-width: 1919.98px)",XLarge:"(min-width: 1920px)",Handset:"(max-width: 599.98px) and (orientation: portrait), (max-width: 959.98px) and (orientation: landscape)",Tablet:"(min-width: 600px) and (max-width: 839.98px) and (orientation: portrait), (min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape)",Web:"(min-width: 840px) and (orientation: portrait), (min-width: 1280px) and (orientation: landscape)",HandsetPortrait:"(max-width: 599.98px) and (orientation: portrait)",TabletPortrait:"(min-width: 600px) and (max-width: 839.98px) and (orientation: portrait)",WebPortrait:"(min-width: 840px) and (orientation: portrait)",HandsetLandscape:"(max-width: 959.98px) and (orientation: landscape)",TabletLandscape:"(min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape)",WebLandscape:"(min-width: 1280px) and (orientation: landscape)"};var T3=" ";function Ah(i,e,t){let n=xy(i,e);t=t.trim(),!n.some(r=>r.trim()===t)&&(n.push(t),i.setAttribute(e,n.join(T3)))}function Wl(i,e,t){let n=xy(i,e);t=t.trim();let r=n.filter(o=>o!==t);r.length?i.setAttribute(e,r.join(T3)):i.removeAttribute(e)}function xy(i,e){return i.getAttribute(e)?.match(/\S+/g)??[]}var D3="cdk-describedby-message",vy="cdk-describedby-host",fT=0,P3=(()=>{let e=class e{constructor(n,r){this._platform=r,this._messageRegistry=new Map,this._messagesContainer=null,this._id=`${fT++}`,this._document=n,this._id=te(Gf)+"-"+fT++}describe(n,r,o){if(!this._canBeDescribed(n,r))return;let s=hT(r,o);typeof r!="string"?(S3(r,this._id),this._messageRegistry.set(s,{messageElement:r,referenceCount:0})):this._messageRegistry.has(s)||this._createMessageElement(r,o),this._isElementDescribedByMessage(n,s)||this._addMessageReference(n,s)}removeDescription(n,r,o){if(!r||!this._isElementNode(n))return;let s=hT(r,o);if(this._isElementDescribedByMessage(n,s)&&this._removeMessageReference(n,s),typeof r=="string"){let a=this._messageRegistry.get(s);a&&a.referenceCount===0&&this._deleteMessageElement(s)}this._messagesContainer?.childNodes.length===0&&(this._messagesContainer.remove(),this._messagesContainer=null)}ngOnDestroy(){let n=this._document.querySelectorAll(`[${vy}="${this._id}"]`);for(let r=0;ro.indexOf(D3)!=0);n.setAttribute("aria-describedby",r.join(" "))}_addMessageReference(n,r){let o=this._messageRegistry.get(r);Ah(n,"aria-describedby",o.messageElement.id),n.setAttribute(vy,this._id),o.referenceCount++}_removeMessageReference(n,r){let o=this._messageRegistry.get(r);o.referenceCount--,Wl(n,"aria-describedby",o.messageElement.id),n.removeAttribute(vy)}_isElementDescribedByMessage(n,r){let o=xy(n,"aria-describedby"),s=this._messageRegistry.get(r),a=s&&s.messageElement.id;return!!a&&o.indexOf(a)!=-1}_canBeDescribed(n,r){if(!this._isElementNode(n))return!1;if(r&&typeof r=="object")return!0;let o=r==null?"":`${r}`.trim(),s=n.getAttribute("aria-label");return o?!s||s.trim()!==o:!1}_isElementNode(n){return n.nodeType===this._document.ELEMENT_NODE}};e.\u0275fac=function(r){return new(r||e)(X(Ye),X(gn))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();function hT(i,e){return typeof i=="string"?`${e||""}/${i}`:i}function S3(i,e){i.id||(i.id=`${D3}-${e}-${fT++}`)}var wy=class{constructor(e,t){this._items=e,this._activeItemIndex=-1,this._activeItem=null,this._wrap=!1,this._letterKeyStream=new me,this._typeaheadSubscription=Ct.EMPTY,this._vertical=!0,this._allowedModifierKeys=[],this._homeAndEnd=!1,this._pageUpAndDown={enabled:!1,delta:10},this._skipPredicateFn=n=>n.disabled,this._pressedLetters=[],this.tabOut=new me,this.change=new me,e instanceof Yi?this._itemChangesSubscription=e.changes.subscribe(n=>this._itemsChanged(n.toArray())):$E(e)&&(this._effectRef=lt(()=>this._itemsChanged(e()),{injector:t}))}skipPredicate(e){return this._skipPredicateFn=e,this}withWrap(e=!0){return this._wrap=e,this}withVerticalOrientation(e=!0){return this._vertical=e,this}withHorizontalOrientation(e){return this._horizontal=e,this}withAllowedModifierKeys(e){return this._allowedModifierKeys=e,this}withTypeAhead(e=200){return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe(Sn(t=>this._pressedLetters.push(t)),To(e),jt(()=>this._pressedLetters.length>0),Je(()=>this._pressedLetters.join(""))).subscribe(t=>{let n=this._getItemsArray();for(let r=1;r!e[o]||this._allowedModifierKeys.indexOf(o)>-1);switch(t){case 9:this.tabOut.next();return;case 40:if(this._vertical&&r){this.setNextItemActive();break}else return;case 38:if(this._vertical&&r){this.setPreviousItemActive();break}else return;case 39:if(this._horizontal&&r){this._horizontal==="rtl"?this.setPreviousItemActive():this.setNextItemActive();break}else return;case 37:if(this._horizontal&&r){this._horizontal==="rtl"?this.setNextItemActive():this.setPreviousItemActive();break}else return;case 36:if(this._homeAndEnd&&r){this.setFirstItemActive();break}else return;case 35:if(this._homeAndEnd&&r){this.setLastItemActive();break}else return;case 33:if(this._pageUpAndDown.enabled&&r){let o=this._activeItemIndex-this._pageUpAndDown.delta;this._setActiveItemByIndex(o>0?o:0,1);break}else return;case 34:if(this._pageUpAndDown.enabled&&r){let o=this._activeItemIndex+this._pageUpAndDown.delta,s=this._getItemsArray().length;this._setActiveItemByIndex(o=65&&t<=90||t>=48&&t<=57)&&this._letterKeyStream.next(String.fromCharCode(t)));return}this._pressedLetters=[],e.preventDefault()}get activeItemIndex(){return this._activeItemIndex}get activeItem(){return this._activeItem}isTyping(){return this._pressedLetters.length>0}setFirstItemActive(){this._setActiveItemByIndex(0,1)}setLastItemActive(){this._setActiveItemByIndex(this._getItemsArray().length-1,-1)}setNextItemActive(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)}setPreviousItemActive(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)}updateActiveItem(e){let t=this._getItemsArray(),n=typeof e=="number"?e:t.indexOf(e),r=t[n];this._activeItem=r??null,this._activeItemIndex=n}destroy(){this._typeaheadSubscription.unsubscribe(),this._itemChangesSubscription?.unsubscribe(),this._effectRef?.destroy(),this._letterKeyStream.complete(),this.tabOut.complete(),this.change.complete(),this._pressedLetters=[]}_setActiveItemByDelta(e){this._wrap?this._setActiveInWrapMode(e):this._setActiveInDefaultMode(e)}_setActiveInWrapMode(e){let t=this._getItemsArray();for(let n=1;n<=t.length;n++){let r=(this._activeItemIndex+e*n+t.length)%t.length,o=t[r];if(!this._skipPredicateFn(o)){this.setActiveItem(r);return}}}_setActiveInDefaultMode(e){this._setActiveItemByIndex(this._activeItemIndex+e,e)}_setActiveItemByIndex(e,t){let n=this._getItemsArray();if(n[e]){for(;this._skipPredicateFn(n[e]);)if(e+=t,!n[e])return;this.setActiveItem(e)}}_getItemsArray(){return $E(this._items)?this._items():this._items instanceof Yi?this._items.toArray():this._items}_itemsChanged(e){if(this._activeItem){let t=e.indexOf(this._activeItem);t>-1&&t!==this._activeItemIndex&&(this._activeItemIndex=t)}}},Ph=class extends wy{setActiveItem(e){this.activeItem&&this.activeItem.setInactiveStyles(),super.setActiveItem(e),this.activeItem&&this.activeItem.setActiveStyles()}},Cy=class extends wy{constructor(){super(...arguments),this._origin="program"}setFocusOrigin(e){return this._origin=e,this}setActiveItem(e){super.setActiveItem(e),this.activeItem&&this.activeItem.focus(this._origin)}};var Nh=(()=>{let e=class e{constructor(n){this._platform=n}isDisabled(n){return n.hasAttribute("disabled")}isVisible(n){return gK(n)&&getComputedStyle(n).visibility==="visible"}isTabbable(n){if(!this._platform.isBrowser)return!1;let r=mK(SK(n));if(r&&(M3(r)===-1||!this.isVisible(r)))return!1;let o=n.nodeName.toLowerCase(),s=M3(n);return n.hasAttribute("contenteditable")?s!==-1:o==="iframe"||o==="object"||this._platform.WEBKIT&&this._platform.IOS&&!wK(n)?!1:o==="audio"?n.hasAttribute("controls")?s!==-1:!1:o==="video"?s===-1?!1:s!==null?!0:this._platform.FIREFOX||n.hasAttribute("controls"):n.tabIndex>=0}isFocusable(n,r){return CK(n)&&!this.isDisabled(n)&&(r?.ignoreVisibility||this.isVisible(n))}};e.\u0275fac=function(r){return new(r||e)(X(gn))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();function mK(i){try{return i.frameElement}catch{return null}}function gK(i){return!!(i.offsetWidth||i.offsetHeight||typeof i.getClientRects=="function"&&i.getClientRects().length)}function _K(i){let e=i.nodeName.toLowerCase();return e==="input"||e==="select"||e==="button"||e==="textarea"}function vK(i){return yK(i)&&i.type=="hidden"}function bK(i){return xK(i)&&i.hasAttribute("href")}function yK(i){return i.nodeName.toLowerCase()=="input"}function xK(i){return i.nodeName.toLowerCase()=="a"}function O3(i){if(!i.hasAttribute("tabindex")||i.tabIndex===void 0)return!1;let e=i.getAttribute("tabindex");return!!(e&&!isNaN(parseInt(e,10)))}function M3(i){if(!O3(i))return null;let e=parseInt(i.getAttribute("tabindex")||"",10);return isNaN(e)?-1:e}function wK(i){let e=i.nodeName.toLowerCase(),t=e==="input"&&i.type;return t==="text"||t==="password"||e==="select"||e==="textarea"}function CK(i){return vK(i)?!1:_K(i)||bK(i)||i.hasAttribute("contenteditable")||O3(i)}function SK(i){return i.ownerDocument&&i.ownerDocument.defaultView||window}var Sy=class{get enabled(){return this._enabled}set enabled(e){this._enabled=e,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(e,this._startAnchor),this._toggleAnchorTabIndex(e,this._endAnchor))}constructor(e,t,n,r,o=!1,s){this._element=e,this._checker=t,this._ngZone=n,this._document=r,this._injector=s,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,o||this.attachAnchors()}destroy(){let e=this._startAnchor,t=this._endAnchor;e&&(e.removeEventListener("focus",this.startAnchorListener),e.remove()),t&&(t.removeEventListener("focus",this.endAnchorListener),t.remove()),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return this._hasAttached?!0:(this._ngZone.runOutsideAngular(()=>{this._startAnchor||(this._startAnchor=this._createAnchor(),this._startAnchor.addEventListener("focus",this.startAnchorListener)),this._endAnchor||(this._endAnchor=this._createAnchor(),this._endAnchor.addEventListener("focus",this.endAnchorListener))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)}focusInitialElementWhenReady(e){return new Promise(t=>{this._executeOnStable(()=>t(this.focusInitialElement(e)))})}focusFirstTabbableElementWhenReady(e){return new Promise(t=>{this._executeOnStable(()=>t(this.focusFirstTabbableElement(e)))})}focusLastTabbableElementWhenReady(e){return new Promise(t=>{this._executeOnStable(()=>t(this.focusLastTabbableElement(e)))})}_getRegionBoundary(e){let t=this._element.querySelectorAll(`[cdk-focus-region-${e}], [cdkFocusRegion${e}], [cdk-focus-${e}]`);return e=="start"?t.length?t[0]:this._getFirstTabbableElement(this._element):t.length?t[t.length-1]:this._getLastTabbableElement(this._element)}focusInitialElement(e){let t=this._element.querySelector("[cdk-focus-initial], [cdkFocusInitial]");if(t){if(!this._checker.isFocusable(t)){let n=this._getFirstTabbableElement(t);return n?.focus(e),!!n}return t.focus(e),!0}return this.focusFirstTabbableElement(e)}focusFirstTabbableElement(e){let t=this._getRegionBoundary("start");return t&&t.focus(e),!!t}focusLastTabbableElement(e){let t=this._getRegionBoundary("end");return t&&t.focus(e),!!t}hasAttached(){return this._hasAttached}_getFirstTabbableElement(e){if(this._checker.isFocusable(e)&&this._checker.isTabbable(e))return e;let t=e.children;for(let n=0;n=0;n--){let r=t[n].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(t[n]):null;if(r)return r}return null}_createAnchor(){let e=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,e),e.classList.add("cdk-visually-hidden"),e.classList.add("cdk-focus-trap-anchor"),e.setAttribute("aria-hidden","true"),e}_toggleAnchorTabIndex(e,t){e?t.setAttribute("tabindex","0"):t.removeAttribute("tabindex")}toggleAnchors(e){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(e,this._startAnchor),this._toggleAnchorTabIndex(e,this._endAnchor))}_executeOnStable(e){this._injector?fr(e,{injector:this._injector}):setTimeout(e)}},My=(()=>{let e=class e{constructor(n,r,o){this._checker=n,this._ngZone=r,this._injector=te(xt),this._document=o}create(n,r=!1){return new Sy(n,this._checker,this._ngZone,this._document,r,this._injector)}};e.\u0275fac=function(r){return new(r||e)(X(Nh),X(Le),X(Ye))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();var mT=class extends Sy{get enabled(){return this._enabled}set enabled(e){this._enabled=e,this._enabled?this._focusTrapManager.register(this):this._focusTrapManager.deregister(this)}constructor(e,t,n,r,o,s,a,l){super(e,t,n,r,a.defer,l),this._focusTrapManager=o,this._inertStrategy=s,this._focusTrapManager.register(this)}destroy(){this._focusTrapManager.deregister(this),super.destroy()}_enable(){this._inertStrategy.preventFocus(this),this.toggleAnchors(!0)}_disable(){this._inertStrategy.allowFocus(this),this.toggleAnchors(!1)}},gT=class{constructor(){this._listener=null}preventFocus(e){this._listener&&e._document.removeEventListener("focus",this._listener,!0),this._listener=t=>this._trapFocus(e,t),e._ngZone.runOutsideAngular(()=>{e._document.addEventListener("focus",this._listener,!0)})}allowFocus(e){this._listener&&(e._document.removeEventListener("focus",this._listener,!0),this._listener=null)}_trapFocus(e,t){let n=t.target,r=e._element;n&&!r.contains(n)&&!n.closest?.("div.cdk-overlay-pane")&&setTimeout(()=>{e.enabled&&!r.contains(e._document.activeElement)&&e.focusFirstTabbableElement()})}},MK=new ge("FOCUS_TRAP_INERT_STRATEGY"),EK=(()=>{let e=class e{constructor(){this._focusTrapStack=[]}register(n){this._focusTrapStack=this._focusTrapStack.filter(o=>o!==n);let r=this._focusTrapStack;r.length&&r[r.length-1]._disable(),r.push(n),n._enable()}deregister(n){n._disable();let r=this._focusTrapStack,o=r.indexOf(n);o!==-1&&(r.splice(o,1),r.length&&r[r.length-1]._enable())}};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})(),kh=(()=>{let e=class e{constructor(n,r,o,s,a){this._checker=n,this._ngZone=r,this._focusTrapManager=o,this._injector=te(xt),this._document=s,this._inertStrategy=a||new gT}create(n,r={defer:!1}){let o;return typeof r=="boolean"?o={defer:r}:o=r,new mT(n,this._checker,this._ngZone,this._document,this._focusTrapManager,this._inertStrategy,o,this._injector)}};e.\u0275fac=function(r){return new(r||e)(X(Nh),X(Le),X(EK),X(Ye),X(MK,8))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();function xd(i){return i.buttons===0||i.detail===0}function wd(i){let e=i.touches&&i.touches[0]||i.changedTouches&&i.changedTouches[0];return!!e&&e.identifier===-1&&(e.radiusX==null||e.radiusX===1)&&(e.radiusY==null||e.radiusY===1)}var IK=new ge("cdk-input-modality-detector-options"),TK={ignoreKeys:[18,17,224,91,16]},R3=650,Dh=Br({passive:!0,capture:!0}),DK=(()=>{let e=class e{get mostRecentModality(){return this._modality.value}constructor(n,r,o,s){this._platform=n,this._mostRecentTarget=null,this._modality=new Dn(null),this._lastTouchMs=0,this._onKeydown=a=>{this._options?.ignoreKeys?.some(l=>l===a.keyCode)||(this._modality.next("keyboard"),this._mostRecentTarget=Mi(a))},this._onMousedown=a=>{Date.now()-this._lastTouchMs{if(wd(a)){this._modality.next("keyboard");return}this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=Mi(a)},this._options=Z(Z({},TK),s),this.modalityDetected=this._modality.pipe(Pf(1)),this.modalityChanged=this.modalityDetected.pipe(vl()),n.isBrowser&&r.runOutsideAngular(()=>{o.addEventListener("keydown",this._onKeydown,Dh),o.addEventListener("mousedown",this._onMousedown,Dh),o.addEventListener("touchstart",this._onTouchstart,Dh)})}ngOnDestroy(){this._modality.complete(),this._platform.isBrowser&&(document.removeEventListener("keydown",this._onKeydown,Dh),document.removeEventListener("mousedown",this._onMousedown,Dh),document.removeEventListener("touchstart",this._onTouchstart,Dh))}};e.\u0275fac=function(r){return new(r||e)(X(gn),X(Le),X(Ye),X(IK,8))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})(),PK=new ge("liveAnnouncerElement",{providedIn:"root",factory:OK});function OK(){return null}var RK=new ge("LIVE_ANNOUNCER_DEFAULT_OPTIONS"),AK=0,Ey=(()=>{let e=class e{constructor(n,r,o,s){this._ngZone=r,this._defaultOptions=s,this._document=o,this._liveElement=n||this._createLiveElement()}announce(n,...r){let o=this._defaultOptions,s,a;return r.length===1&&typeof r[0]=="number"?a=r[0]:[s,a]=r,this.clear(),clearTimeout(this._previousTimeout),s||(s=o&&o.politeness?o.politeness:"polite"),a==null&&o&&(a=o.duration),this._liveElement.setAttribute("aria-live",s),this._liveElement.id&&this._exposeAnnouncerToModals(this._liveElement.id),this._ngZone.runOutsideAngular(()=>(this._currentPromise||(this._currentPromise=new Promise(l=>this._currentResolve=l)),clearTimeout(this._previousTimeout),this._previousTimeout=setTimeout(()=>{this._liveElement.textContent=n,typeof a=="number"&&(this._previousTimeout=setTimeout(()=>this.clear(),a)),this._currentResolve?.(),this._currentPromise=this._currentResolve=void 0},100),this._currentPromise))}clear(){this._liveElement&&(this._liveElement.textContent="")}ngOnDestroy(){clearTimeout(this._previousTimeout),this._liveElement?.remove(),this._liveElement=null,this._currentResolve?.(),this._currentPromise=this._currentResolve=void 0}_createLiveElement(){let n="cdk-live-announcer-element",r=this._document.getElementsByClassName(n),o=this._document.createElement("div");for(let s=0;s .cdk-overlay-container [aria-modal="true"]');for(let o=0;o{let e=class e{constructor(n,r,o,s,a){this._ngZone=n,this._platform=r,this._inputModalityDetector=o,this._origin=null,this._windowFocused=!1,this._originFromTouchInteraction=!1,this._elementInfo=new Map,this._monitoredElementCount=0,this._rootNodeFocusListenerCount=new Map,this._windowFocusListener=()=>{this._windowFocused=!0,this._windowFocusTimeoutId=window.setTimeout(()=>this._windowFocused=!1)},this._stopInputModalityDetector=new me,this._rootNodeFocusAndBlurListener=l=>{let c=Mi(l);for(let d=c;d;d=d.parentElement)l.type==="focus"?this._onFocus(l,d):this._onBlur(l,d)},this._document=s,this._detectionMode=a?.detectionMode||yy.IMMEDIATE}monitor(n,r=!1){let o=er(n);if(!this._platform.isBrowser||o.nodeType!==1)return Ke();let s=Eh(o)||this._getDocument(),a=this._elementInfo.get(o);if(a)return r&&(a.checkChildren=!0),a.subject;let l={checkChildren:r,subject:new me,rootNode:s};return this._elementInfo.set(o,l),this._registerGlobalListeners(l),l.subject}stopMonitoring(n){let r=er(n),o=this._elementInfo.get(r);o&&(o.subject.complete(),this._setClasses(r),this._elementInfo.delete(r),this._removeGlobalListeners(o))}focusVia(n,r,o){let s=er(n),a=this._getDocument().activeElement;s===a?this._getClosestElementsInfo(s).forEach(([l,c])=>this._originChanged(l,r,c)):(this._setOrigin(r),typeof s.focus=="function"&&s.focus(o))}ngOnDestroy(){this._elementInfo.forEach((n,r)=>this.stopMonitoring(r))}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_getFocusOrigin(n){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(n)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:n&&this._isLastInteractionFromInputLabel(n)?"mouse":"program"}_shouldBeAttributedToTouch(n){return this._detectionMode===yy.EVENTUAL||!!n?.contains(this._inputModalityDetector._mostRecentTarget)}_setClasses(n,r){n.classList.toggle("cdk-focused",!!r),n.classList.toggle("cdk-touch-focused",r==="touch"),n.classList.toggle("cdk-keyboard-focused",r==="keyboard"),n.classList.toggle("cdk-mouse-focused",r==="mouse"),n.classList.toggle("cdk-program-focused",r==="program")}_setOrigin(n,r=!1){this._ngZone.runOutsideAngular(()=>{if(this._origin=n,this._originFromTouchInteraction=n==="touch"&&r,this._detectionMode===yy.IMMEDIATE){clearTimeout(this._originTimeoutId);let o=this._originFromTouchInteraction?R3:1;this._originTimeoutId=setTimeout(()=>this._origin=null,o)}})}_onFocus(n,r){let o=this._elementInfo.get(r),s=Mi(n);!o||!o.checkChildren&&r!==s||this._originChanged(r,this._getFocusOrigin(s),o)}_onBlur(n,r){let o=this._elementInfo.get(r);!o||o.checkChildren&&n.relatedTarget instanceof Node&&r.contains(n.relatedTarget)||(this._setClasses(r),this._emitOrigin(o,null))}_emitOrigin(n,r){n.subject.observers.length&&this._ngZone.run(()=>n.subject.next(r))}_registerGlobalListeners(n){if(!this._platform.isBrowser)return;let r=n.rootNode,o=this._rootNodeFocusListenerCount.get(r)||0;o||this._ngZone.runOutsideAngular(()=>{r.addEventListener("focus",this._rootNodeFocusAndBlurListener,by),r.addEventListener("blur",this._rootNodeFocusAndBlurListener,by)}),this._rootNodeFocusListenerCount.set(r,o+1),++this._monitoredElementCount===1&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(Xe(this._stopInputModalityDetector)).subscribe(s=>{this._setOrigin(s,!0)}))}_removeGlobalListeners(n){let r=n.rootNode;if(this._rootNodeFocusListenerCount.has(r)){let o=this._rootNodeFocusListenerCount.get(r);o>1?this._rootNodeFocusListenerCount.set(r,o-1):(r.removeEventListener("focus",this._rootNodeFocusAndBlurListener,by),r.removeEventListener("blur",this._rootNodeFocusAndBlurListener,by),this._rootNodeFocusListenerCount.delete(r))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(n,r,o){this._setClasses(n,r),this._emitOrigin(o,r),this._lastFocusOrigin=r}_getClosestElementsInfo(n){let r=[];return this._elementInfo.forEach((o,s)=>{(s===n||o.checkChildren&&s.contains(n))&&r.push([s,o])}),r}_isLastInteractionFromInputLabel(n){let{_mostRecentTarget:r,mostRecentModality:o}=this._inputModalityDetector;if(o!=="mouse"||!r||r===n||n.nodeName!=="INPUT"&&n.nodeName!=="TEXTAREA"||n.disabled)return!1;let s=n.labels;if(s){for(let a=0;a{let e=class e{constructor(n,r){this._platform=n,this._document=r,this._breakpointSubscription=te(Th).observe("(forced-colors: active)").subscribe(()=>{this._hasCheckedHighContrastMode&&(this._hasCheckedHighContrastMode=!1,this._applyBodyHighContrastModeCssClasses())})}getHighContrastMode(){if(!this._platform.isBrowser)return yd.NONE;let n=this._document.createElement("div");n.style.backgroundColor="rgb(1,2,3)",n.style.position="absolute",this._document.body.appendChild(n);let r=this._document.defaultView||window,o=r&&r.getComputedStyle?r.getComputedStyle(n):null,s=(o&&o.backgroundColor||"").replace(/ /g,"");switch(n.remove(),s){case"rgb(0,0,0)":case"rgb(45,50,54)":case"rgb(32,32,32)":return yd.WHITE_ON_BLACK;case"rgb(255,255,255)":case"rgb(255,250,239)":return yd.BLACK_ON_WHITE}return yd.NONE}ngOnDestroy(){this._breakpointSubscription.unsubscribe()}_applyBodyHighContrastModeCssClasses(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){let n=this._document.body.classList;n.remove(pT,E3,I3),this._hasCheckedHighContrastMode=!0;let r=this.getHighContrastMode();r===yd.BLACK_ON_WHITE?n.add(pT,E3):r===yd.WHITE_ON_BLACK&&n.add(pT,I3)}}};e.\u0275fac=function(r){return new(r||e)(X(gn),X(Ye))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})(),Iy=(()=>{let e=class e{constructor(n){n._applyBodyHighContrastModeCssClasses()}};e.\u0275fac=function(r){return new(r||e)(X(bT))},e.\u0275mod=ot({type:e}),e.\u0275inj=rt({imports:[gy]});let i=e;return i})();var kK=new ge("cdk-dir-doc",{providedIn:"root",factory:LK});function LK(){return te(Ye)}var FK=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;function BK(i){let e=i?.toLowerCase()||"";return e==="auto"&&typeof navigator<"u"&&navigator?.language?FK.test(navigator.language)?"rtl":"ltr":e==="rtl"?"rtl":"ltr"}var li=(()=>{let e=class e{constructor(n){if(this.value="ltr",this.change=new Ie,n){let r=n.body?n.body.dir:null,o=n.documentElement?n.documentElement.dir:null;this.value=BK(r||o||"ltr")}}ngOnDestroy(){this.change.complete()}};e.\u0275fac=function(r){return new(r||e)(X(kK,8))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();var $l=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=ot({type:e}),e.\u0275inj=rt({});let i=e;return i})();var VK=["*",[["mat-option"],["ng-container"]]],zK=["*","mat-option, ng-container"],UK=["text"],HK=[[["mat-icon"]],"*"],GK=["mat-icon","*"];function jK(i,e){if(i&1&&ee(0,"mat-pseudo-checkbox",1),i&2){let t=I();N("disabled",t.disabled)("state",t.selected?"checked":"unchecked")}}function WK(i,e){if(i&1&&ee(0,"mat-pseudo-checkbox",3),i&2){let t=I();N("disabled",t.disabled)}}function $K(i,e){if(i&1&&(v(0,"span",4),S(1),b()),i&2){let t=I();w(),Me("(",t.group.label,")")}}var qK=["mat-internal-form-field",""],YK=["*"];var MT=(()=>{let e=class e{};e.STANDARD_CURVE="cubic-bezier(0.4,0.0,0.2,1)",e.DECELERATION_CURVE="cubic-bezier(0.0,0.0,0.2,1)",e.ACCELERATION_CURVE="cubic-bezier(0.4,0.0,1,1)",e.SHARP_CURVE="cubic-bezier(0.4,0.0,0.6,1)";let i=e;return i})();function XK(){return!0}var ZK=new ge("mat-sanity-checks",{providedIn:"root",factory:XK}),qt=(()=>{let e=class e{constructor(n,r,o){this._sanityChecks=r,this._document=o,this._hasDoneGlobalChecks=!1,n._applyBodyHighContrastModeCssClasses(),this._hasDoneGlobalChecks||(this._hasDoneGlobalChecks=!0)}_checkIsEnabled(n){return zm()?!1:typeof this._sanityChecks=="boolean"?this._sanityChecks:!!this._sanityChecks[n]}};e.\u0275fac=function(r){return new(r||e)(X(bT),X(ZK,8),X(Ye))},e.\u0275mod=ot({type:e}),e.\u0275inj=rt({imports:[$l,$l]});let i=e;return i})();var Dy=class{constructor(e,t,n,r,o){this._defaultMatcher=e,this.ngControl=t,this._parentFormGroup=n,this._parentForm=r,this._stateChanges=o,this.errorState=!1}updateErrorState(){let e=this.errorState,t=this._parentFormGroup||this._parentForm,n=this.matcher||this._defaultMatcher,r=this.ngControl?this.ngControl.control:null,o=n?.isErrorState(r,t)??!1;o!==e&&(this.errorState=o,this._stateChanges.next())}};var U3=(()=>{let e=class e{isErrorState(n,r){return!!(n&&n.invalid&&(n.touched||r&&r.submitted))}};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();var Uo=function(i){return i[i.FADING_IN=0]="FADING_IN",i[i.VISIBLE=1]="VISIBLE",i[i.FADING_OUT=2]="FADING_OUT",i[i.HIDDEN=3]="HIDDEN",i}(Uo||{}),wT=class{constructor(e,t,n,r=!1){this._renderer=e,this.element=t,this.config=n,this._animationForciblyDisabledThroughCss=r,this.state=Uo.HIDDEN}fadeOut(){this._renderer.fadeOutRipple(this)}},A3=Br({passive:!0,capture:!0}),CT=class{constructor(){this._events=new Map,this._delegateEventHandler=e=>{let t=Mi(e);t&&this._events.get(e.type)?.forEach((n,r)=>{(r===t||r.contains(t))&&n.forEach(o=>o.handleEvent(e))})}}addHandler(e,t,n,r){let o=this._events.get(t);if(o){let s=o.get(n);s?s.add(r):o.set(n,new Set([r]))}else this._events.set(t,new Map([[n,new Set([r])]])),e.runOutsideAngular(()=>{document.addEventListener(t,this._delegateEventHandler,A3)})}removeHandler(e,t,n){let r=this._events.get(e);if(!r)return;let o=r.get(t);o&&(o.delete(n),o.size===0&&r.delete(t),r.size===0&&(this._events.delete(e),document.removeEventListener(e,this._delegateEventHandler,A3)))}},N3={enterDuration:225,exitDuration:150},QK=800,k3=Br({passive:!0,capture:!0}),L3=["mousedown","touchstart"],F3=["mouseup","mouseleave","touchend","touchcancel"],Um=class Um{constructor(e,t,n,r){this._target=e,this._ngZone=t,this._platform=r,this._isPointerDown=!1,this._activeRipples=new Map,this._pointerUpEventsRegistered=!1,r.isBrowser&&(this._containerElement=er(n))}fadeInRipple(e,t,n={}){let r=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),o=Z(Z({},N3),n.animation);n.centered&&(e=r.left+r.width/2,t=r.top+r.height/2);let s=n.radius||KK(e,t,r),a=e-r.left,l=t-r.top,c=o.enterDuration,d=document.createElement("div");d.classList.add("mat-ripple-element"),d.style.left=`${a-s}px`,d.style.top=`${l-s}px`,d.style.height=`${s*2}px`,d.style.width=`${s*2}px`,n.color!=null&&(d.style.backgroundColor=n.color),d.style.transitionDuration=`${c}ms`,this._containerElement.appendChild(d);let u=window.getComputedStyle(d),h=u.transitionProperty,p=u.transitionDuration,f=h==="none"||p==="0s"||p==="0s, 0s"||r.width===0&&r.height===0,m=new wT(this,d,n,f);d.style.transform="scale3d(1, 1, 1)",m.state=Uo.FADING_IN,n.persistent||(this._mostRecentTransientRipple=m);let y=null;return!f&&(c||o.exitDuration)&&this._ngZone.runOutsideAngular(()=>{let g=()=>{y&&(y.fallbackTimer=null),clearTimeout(x),this._finishRippleTransition(m)},_=()=>this._destroyRipple(m),x=setTimeout(_,c+100);d.addEventListener("transitionend",g),d.addEventListener("transitioncancel",_),y={onTransitionEnd:g,onTransitionCancel:_,fallbackTimer:x}}),this._activeRipples.set(m,y),(f||!c)&&this._finishRippleTransition(m),m}fadeOutRipple(e){if(e.state===Uo.FADING_OUT||e.state===Uo.HIDDEN)return;let t=e.element,n=Z(Z({},N3),e.config.animation);t.style.transitionDuration=`${n.exitDuration}ms`,t.style.opacity="0",e.state=Uo.FADING_OUT,(e._animationForciblyDisabledThroughCss||!n.exitDuration)&&this._finishRippleTransition(e)}fadeOutAll(){this._getActiveRipples().forEach(e=>e.fadeOut())}fadeOutAllNonPersistent(){this._getActiveRipples().forEach(e=>{e.config.persistent||e.fadeOut()})}setupTriggerEvents(e){let t=er(e);!this._platform.isBrowser||!t||t===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=t,L3.forEach(n=>{Um._eventManager.addHandler(this._ngZone,n,t,this)}))}handleEvent(e){e.type==="mousedown"?this._onMousedown(e):e.type==="touchstart"?this._onTouchStart(e):this._onPointerUp(),this._pointerUpEventsRegistered||(this._ngZone.runOutsideAngular(()=>{F3.forEach(t=>{this._triggerElement.addEventListener(t,this,k3)})}),this._pointerUpEventsRegistered=!0)}_finishRippleTransition(e){e.state===Uo.FADING_IN?this._startFadeOutTransition(e):e.state===Uo.FADING_OUT&&this._destroyRipple(e)}_startFadeOutTransition(e){let t=e===this._mostRecentTransientRipple,{persistent:n}=e.config;e.state=Uo.VISIBLE,!n&&(!t||!this._isPointerDown)&&e.fadeOut()}_destroyRipple(e){let t=this._activeRipples.get(e)??null;this._activeRipples.delete(e),this._activeRipples.size||(this._containerRect=null),e===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),e.state=Uo.HIDDEN,t!==null&&(e.element.removeEventListener("transitionend",t.onTransitionEnd),e.element.removeEventListener("transitioncancel",t.onTransitionCancel),t.fallbackTimer!==null&&clearTimeout(t.fallbackTimer)),e.element.remove()}_onMousedown(e){let t=xd(e),n=this._lastTouchStartEvent&&Date.now(){let t=e.state===Uo.VISIBLE||e.config.terminateOnPointerUp&&e.state===Uo.FADING_IN;!e.config.persistent&&t&&e.fadeOut()}))}_getActiveRipples(){return Array.from(this._activeRipples.keys())}_removeTriggerEvents(){let e=this._triggerElement;e&&(L3.forEach(t=>Um._eventManager.removeHandler(t,e,this)),this._pointerUpEventsRegistered&&(F3.forEach(t=>e.removeEventListener(t,this,k3)),this._pointerUpEventsRegistered=!1))}};Um._eventManager=new CT;var ST=Um;function KK(i,e,t){let n=Math.max(Math.abs(i-t.left),Math.abs(i-t.right)),r=Math.max(Math.abs(e-t.top),Math.abs(e-t.bottom));return Math.sqrt(n*n+r*r)}var H3=new ge("mat-ripple-global-options"),za=(()=>{let e=class e{get disabled(){return this._disabled}set disabled(n){n&&this.fadeOutAllNonPersistent(),this._disabled=n,this._setupTriggerEventsIfEnabled()}get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(n){this._trigger=n,this._setupTriggerEventsIfEnabled()}constructor(n,r,o,s,a){this._elementRef=n,this._animationMode=a,this.radius=0,this._disabled=!1,this._isInitialized=!1,this._globalOptions=s||{},this._rippleRenderer=new ST(this,r,n,o)}ngOnInit(){this._isInitialized=!0,this._setupTriggerEventsIfEnabled()}ngOnDestroy(){this._rippleRenderer._removeTriggerEvents()}fadeOutAll(){this._rippleRenderer.fadeOutAll()}fadeOutAllNonPersistent(){this._rippleRenderer.fadeOutAllNonPersistent()}get rippleConfig(){return{centered:this.centered,radius:this.radius,color:this.color,animation:Z(Z(Z({},this._globalOptions.animation),this._animationMode==="NoopAnimations"?{enterDuration:0,exitDuration:0}:{}),this.animation),terminateOnPointerUp:this._globalOptions.terminateOnPointerUp}}get rippleDisabled(){return this.disabled||!!this._globalOptions.disabled}_setupTriggerEventsIfEnabled(){!this.disabled&&this._isInitialized&&this._rippleRenderer.setupTriggerEvents(this.trigger)}launch(n,r=0,o){return typeof n=="number"?this._rippleRenderer.fadeInRipple(n,r,Z(Z({},this.rippleConfig),o)):this._rippleRenderer.fadeInRipple(0,0,Z(Z({},this.rippleConfig),n))}};e.\u0275fac=function(r){return new(r||e)(M(Re),M(Le),M(gn),M(H3,8),M(Zn,8))},e.\u0275dir=ze({type:e,selectors:[["","mat-ripple",""],["","matRipple",""]],hostAttrs:[1,"mat-ripple"],hostVars:2,hostBindings:function(r,o){r&2&&se("mat-ripple-unbounded",o.unbounded)},inputs:{color:[0,"matRippleColor","color"],unbounded:[0,"matRippleUnbounded","unbounded"],centered:[0,"matRippleCentered","centered"],radius:[0,"matRippleRadius","radius"],animation:[0,"matRippleAnimation","animation"],disabled:[0,"matRippleDisabled","disabled"],trigger:[0,"matRippleTrigger","trigger"]},exportAs:["matRipple"],standalone:!0});let i=e;return i})(),Gm=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=ot({type:e}),e.\u0275inj=rt({imports:[qt,qt]});let i=e;return i})(),JK=(()=>{let e=class e{constructor(n){this._animationMode=n,this.state="unchecked",this.disabled=!1,this.appearance="full"}};e.\u0275fac=function(r){return new(r||e)(M(Zn,8))},e.\u0275cmp=le({type:e,selectors:[["mat-pseudo-checkbox"]],hostAttrs:[1,"mat-pseudo-checkbox"],hostVars:12,hostBindings:function(r,o){r&2&&se("mat-pseudo-checkbox-indeterminate",o.state==="indeterminate")("mat-pseudo-checkbox-checked",o.state==="checked")("mat-pseudo-checkbox-disabled",o.disabled)("mat-pseudo-checkbox-minimal",o.appearance==="minimal")("mat-pseudo-checkbox-full",o.appearance==="full")("_mat-animation-noopable",o._animationMode==="NoopAnimations")},inputs:{state:"state",disabled:"disabled",appearance:"appearance"},standalone:!0,features:[ce],decls:0,vars:0,template:function(r,o){},styles:['.mat-pseudo-checkbox{border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1),background-color 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:"";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox._mat-animation-noopable{transition:none !important;animation:none !important}.mat-pseudo-checkbox._mat-animation-noopable::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{left:1px;opacity:1;border-radius:2px}.mat-pseudo-checkbox-checked::after{left:1px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-checked::after,.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-indeterminate::after{color:var(--mat-minimal-pseudo-checkbox-selected-checkmark-color)}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled::after,.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled::after{color:var(--mat-minimal-pseudo-checkbox-disabled-selected-checkmark-color)}.mat-pseudo-checkbox-full{border-color:var(--mat-full-pseudo-checkbox-unselected-icon-color);border-width:2px;border-style:solid}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-disabled{border-color:var(--mat-full-pseudo-checkbox-disabled-unselected-icon-color)}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate{background-color:var(--mat-full-pseudo-checkbox-selected-icon-color);border-color:rgba(0,0,0,0)}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked::after,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate::after{color:var(--mat-full-pseudo-checkbox-selected-checkmark-color)}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background-color:var(--mat-full-pseudo-checkbox-disabled-selected-icon-color)}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled::after,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled::after{color:var(--mat-full-pseudo-checkbox-disabled-selected-checkmark-color)}.mat-pseudo-checkbox{width:18px;height:18px}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-checked::after{width:14px;height:6px;transform-origin:center;top:-4.2426406871px;left:0;bottom:0;right:0;margin:auto}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-indeterminate::after{top:8px;width:16px}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked::after{width:10px;height:4px;transform-origin:center;top:-2.8284271247px;left:0;bottom:0;right:0;margin:auto}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate::after{top:6px;width:12px}'],encapsulation:2,changeDetection:0});let i=e;return i})(),eJ=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=ot({type:e}),e.\u0275inj=rt({imports:[qt]});let i=e;return i})(),Lh=new ge("MAT_OPTION_PARENT_COMPONENT"),tJ=0,Fh=new ge("MatOptgroup"),G3=(()=>{let e=class e{constructor(n){this.disabled=!1,this._labelId=`mat-optgroup-label-${tJ++}`,this._inert=n?.inertGroups??!1}};e.\u0275fac=function(r){return new(r||e)(M(Lh,8))},e.\u0275cmp=le({type:e,selectors:[["mat-optgroup"]],hostAttrs:[1,"mat-mdc-optgroup"],hostVars:3,hostBindings:function(r,o){r&2&&Ze("role",o._inert?null:"group")("aria-disabled",o._inert?null:o.disabled.toString())("aria-labelledby",o._inert?null:o._labelId)},inputs:{label:"label",disabled:[2,"disabled","disabled",at]},exportAs:["matOptgroup"],standalone:!0,features:[Bt([{provide:Fh,useExisting:e}]),an,ce],ngContentSelectors:zK,decls:5,vars:4,consts:[["role","presentation",1,"mat-mdc-optgroup-label",3,"id"],[1,"mdc-list-item__primary-text"]],template:function(r,o){r&1&&(Ln(VK),v(0,"span",0)(1,"span",1),S(2),$t(3),b()(),$t(4,1)),r&2&&(se("mdc-list-item--disabled",o.disabled),N("id",o._labelId),w(2),Me("",o.label," "))},styles:[".mat-mdc-optgroup{color:var(--mat-optgroup-label-text-color);font-family:var(--mat-optgroup-label-text-font);line-height:var(--mat-optgroup-label-text-line-height);font-size:var(--mat-optgroup-label-text-size);letter-spacing:var(--mat-optgroup-label-text-tracking);font-weight:var(--mat-optgroup-label-text-weight)}.mat-mdc-optgroup-label{display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;min-height:48px;padding:0 16px;outline:none}.mat-mdc-optgroup-label.mdc-list-item--disabled{opacity:.38}.mat-mdc-optgroup-label .mdc-list-item__primary-text{font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;font-family:inherit;text-decoration:inherit;text-transform:inherit;white-space:normal}"],encapsulation:2,changeDetection:0});let i=e;return i})(),nJ=0,Hm=class{constructor(e,t=!1){this.source=e,this.isUserInput=t}},ql=(()=>{let e=class e{get multiple(){return this._parent&&this._parent.multiple}get selected(){return this._selected}get disabled(){return this.group&&this.group.disabled||this._disabled}set disabled(n){this._disabled=n}get disableRipple(){return!!(this._parent&&this._parent.disableRipple)}get hideSingleSelectionIndicator(){return!!(this._parent&&this._parent.hideSingleSelectionIndicator)}constructor(n,r,o,s){this._element=n,this._changeDetectorRef=r,this._parent=o,this.group=s,this._selected=!1,this._active=!1,this._disabled=!1,this._mostRecentViewValue="",this.id=`mat-option-${nJ++}`,this.onSelectionChange=new Ie,this._stateChanges=new me}get active(){return this._active}get viewValue(){return(this._text?.nativeElement.textContent||"").trim()}select(n=!0){this._selected||(this._selected=!0,this._changeDetectorRef.markForCheck(),n&&this._emitSelectionChangeEvent())}deselect(n=!0){this._selected&&(this._selected=!1,this._changeDetectorRef.markForCheck(),n&&this._emitSelectionChangeEvent())}focus(n,r){let o=this._getHostElement();typeof o.focus=="function"&&o.focus(r)}setActiveStyles(){this._active||(this._active=!0,this._changeDetectorRef.markForCheck())}setInactiveStyles(){this._active&&(this._active=!1,this._changeDetectorRef.markForCheck())}getLabel(){return this.viewValue}_handleKeydown(n){(n.keyCode===13||n.keyCode===32)&&!gi(n)&&(this._selectViaInteraction(),n.preventDefault())}_selectViaInteraction(){this.disabled||(this._selected=this.multiple?!this._selected:!0,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent(!0))}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._element.nativeElement}ngAfterViewChecked(){if(this._selected){let n=this.viewValue;n!==this._mostRecentViewValue&&(this._mostRecentViewValue&&this._stateChanges.next(),this._mostRecentViewValue=n)}}ngOnDestroy(){this._stateChanges.complete()}_emitSelectionChangeEvent(n=!1){this.onSelectionChange.emit(new Hm(this,n))}};e.\u0275fac=function(r){return new(r||e)(M(Re),M(Fe),M(Lh,8),M(Fh,8))},e.\u0275cmp=le({type:e,selectors:[["mat-option"]],viewQuery:function(r,o){if(r&1&&Te(UK,7),r&2){let s;be(s=ye())&&(o._text=s.first)}},hostAttrs:["role","option",1,"mat-mdc-option","mdc-list-item"],hostVars:11,hostBindings:function(r,o){r&1&&H("click",function(){return o._selectViaInteraction()})("keydown",function(a){return o._handleKeydown(a)}),r&2&&(No("id",o.id),Ze("aria-selected",o.selected)("aria-disabled",o.disabled.toString()),se("mdc-list-item--selected",o.selected)("mat-mdc-option-multiple",o.multiple)("mat-mdc-option-active",o.active)("mdc-list-item--disabled",o.disabled))},inputs:{value:"value",id:"id",disabled:[2,"disabled","disabled",at]},outputs:{onSelectionChange:"onSelectionChange"},exportAs:["matOption"],standalone:!0,features:[an,ce],ngContentSelectors:GK,decls:8,vars:5,consts:[["text",""],["aria-hidden","true",1,"mat-mdc-option-pseudo-checkbox",3,"disabled","state"],[1,"mdc-list-item__primary-text"],["state","checked","aria-hidden","true","appearance","minimal",1,"mat-mdc-option-pseudo-checkbox",3,"disabled"],[1,"cdk-visually-hidden"],["aria-hidden","true","mat-ripple","",1,"mat-mdc-option-ripple","mat-mdc-focus-indicator",3,"matRippleTrigger","matRippleDisabled"]],template:function(r,o){r&1&&(Ln(HK),W(0,jK,1,2,"mat-pseudo-checkbox",1),$t(1),v(2,"span",2,0),$t(4,1),b(),W(5,WK,1,1,"mat-pseudo-checkbox",3)(6,$K,2,1,"span",4),ee(7,"div",5)),r&2&&(ae(o.multiple?0:-1),w(5),ae(!o.multiple&&o.selected&&!o.hideSingleSelectionIndicator?5:-1),w(),ae(o.group&&o.group._inert?6:-1),w(),N("matRippleTrigger",o._getHostElement())("matRippleDisabled",o.disabled||o.disableRipple))},dependencies:[JK,za],styles:['.mat-mdc-option{-webkit-user-select:none;user-select:none;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;min-height:48px;padding:0 16px;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0);color:var(--mat-option-label-text-color);font-family:var(--mat-option-label-text-font);line-height:var(--mat-option-label-text-line-height);font-size:var(--mat-option-label-text-size);letter-spacing:var(--mat-option-label-text-tracking);font-weight:var(--mat-option-label-text-weight)}.mat-mdc-option:hover:not(.mdc-list-item--disabled){background-color:var(--mat-option-hover-state-layer-color)}.mat-mdc-option:focus.mdc-list-item,.mat-mdc-option.mat-mdc-option-active.mdc-list-item{background-color:var(--mat-option-focus-state-layer-color);outline:0}.mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled) .mdc-list-item__primary-text{color:var(--mat-option-selected-state-label-text-color)}.mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled):not(.mat-mdc-option-multiple){background-color:var(--mat-option-selected-state-layer-color)}.mat-mdc-option.mdc-list-item{align-items:center;background:rgba(0,0,0,0)}.mat-mdc-option.mdc-list-item--disabled{cursor:default;pointer-events:none}.mat-mdc-option.mdc-list-item--disabled .mat-mdc-option-pseudo-checkbox,.mat-mdc-option.mdc-list-item--disabled .mdc-list-item__primary-text,.mat-mdc-option.mdc-list-item--disabled>mat-icon{opacity:.38}.mat-mdc-optgroup .mat-mdc-option:not(.mat-mdc-option-multiple){padding-left:32px}[dir=rtl] .mat-mdc-optgroup .mat-mdc-option:not(.mat-mdc-option-multiple){padding-left:16px;padding-right:32px}.mat-mdc-option .mat-icon,.mat-mdc-option .mat-pseudo-checkbox-full{margin-right:16px;flex-shrink:0}[dir=rtl] .mat-mdc-option .mat-icon,[dir=rtl] .mat-mdc-option .mat-pseudo-checkbox-full{margin-right:0;margin-left:16px}.mat-mdc-option .mat-pseudo-checkbox-minimal{margin-left:16px;flex-shrink:0}[dir=rtl] .mat-mdc-option .mat-pseudo-checkbox-minimal{margin-right:16px;margin-left:0}.mat-mdc-option .mat-mdc-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-mdc-option .mdc-list-item__primary-text{white-space:normal;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;font-family:inherit;text-decoration:inherit;text-transform:inherit;margin-right:auto}[dir=rtl] .mat-mdc-option .mdc-list-item__primary-text{margin-right:0;margin-left:auto}.cdk-high-contrast-active .mat-mdc-option.mdc-list-item--selected:not(.mat-mdc-option-multiple)::after{content:"";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}[dir=rtl] .cdk-high-contrast-active .mat-mdc-option.mdc-list-item--selected:not(.mat-mdc-option-multiple)::after{right:auto;left:16px}.mat-mdc-option-multiple{--mdc-list-list-item-selected-container-color:var(--mdc-list-list-item-container-color, transparent)}.mat-mdc-option-active .mat-mdc-focus-indicator::before{content:""}'],encapsulation:2,changeDetection:0});let i=e;return i})();function Py(i,e,t){if(t.length){let n=e.toArray(),r=t.toArray(),o=0;for(let s=0;st+n?Math.max(0,i-n+e):t}var Bh=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=ot({type:e}),e.\u0275inj=rt({imports:[Gm,qt,eJ]});let i=e;return i})(),B3={capture:!0},V3=["focus","mousedown","mouseenter","touchstart"],yT="mat-ripple-loader-uninitialized",xT="mat-ripple-loader-class-name",z3="mat-ripple-loader-centered",Ty="mat-ripple-loader-disabled",j3=(()=>{let e=class e{constructor(){this._document=te(Ye,{optional:!0}),this._animationMode=te(Zn,{optional:!0}),this._globalRippleOptions=te(H3,{optional:!0}),this._platform=te(gn),this._ngZone=te(Le),this._hosts=new Map,this._onInteraction=n=>{let r=Mi(n);if(r instanceof HTMLElement){let o=r.closest(`[${yT}="${this._globalRippleOptions?.namespace??""}"]`);o&&this._createRipple(o)}},this._ngZone.runOutsideAngular(()=>{for(let n of V3)this._document?.addEventListener(n,this._onInteraction,B3)})}ngOnDestroy(){let n=this._hosts.keys();for(let r of n)this.destroyRipple(r);for(let r of V3)this._document?.removeEventListener(r,this._onInteraction,B3)}configureRipple(n,r){n.setAttribute(yT,this._globalRippleOptions?.namespace??""),(r.className||!n.hasAttribute(xT))&&n.setAttribute(xT,r.className||""),r.centered&&n.setAttribute(z3,""),r.disabled&&n.setAttribute(Ty,"")}getRipple(n){return this._hosts.get(n)||this._createRipple(n)}setDisabled(n,r){let o=this._hosts.get(n);if(o){o.disabled=r;return}r?n.setAttribute(Ty,""):n.removeAttribute(Ty)}_createRipple(n){if(!this._document)return;let r=this._hosts.get(n);if(r)return r;n.querySelector(".mat-ripple")?.remove();let o=this._document.createElement("span");o.classList.add("mat-ripple",n.getAttribute(xT)),n.append(o);let s=new za(new Re(o),this._ngZone,this._platform,this._globalRippleOptions?this._globalRippleOptions:void 0,this._animationMode?this._animationMode:void 0);return s._isInitialized=!0,s.trigger=n,s.centered=n.hasAttribute(z3),s.disabled=n.hasAttribute(Ty),this.attachRipple(n,s),s}attachRipple(n,r){n.removeAttribute(yT),this._hosts.set(n,r)}destroyRipple(n){let r=this._hosts.get(n);r&&(r.ngOnDestroy(),this._hosts.delete(n))}};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})(),Ry=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275cmp=le({type:e,selectors:[["div","mat-internal-form-field",""]],hostAttrs:[1,"mdc-form-field","mat-internal-form-field"],hostVars:2,hostBindings:function(r,o){r&2&&se("mdc-form-field--align-end",o.labelPosition==="before")},inputs:{labelPosition:"labelPosition"},standalone:!0,features:[ce],attrs:qK,ngContentSelectors:YK,decls:1,vars:0,template:function(r,o){r&1&&(Ln(),$t(0))},styles:[".mat-internal-form-field{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-flex;align-items:center;vertical-align:middle}.mat-internal-form-field>label{margin-left:0;margin-right:auto;padding-left:4px;padding-right:0;order:0}[dir=rtl] .mat-internal-form-field>label{margin-left:auto;margin-right:0;padding-left:0;padding-right:4px}.mdc-form-field--align-end>label{margin-left:auto;margin-right:0;padding-left:0;padding-right:4px;order:-1}[dir=rtl] .mdc-form-field--align-end .mdc-form-field--align-end label{margin-left:0;margin-right:auto;padding-left:4px;padding-right:0}"],encapsulation:2,changeDetection:0});let i=e;return i})();var iJ=["mat-button",""],rJ=[[["",8,"material-icons",3,"iconPositionEnd",""],["mat-icon",3,"iconPositionEnd",""],["","matButtonIcon","",3,"iconPositionEnd",""]],"*",[["","iconPositionEnd","",8,"material-icons"],["mat-icon","iconPositionEnd",""],["","matButtonIcon","","iconPositionEnd",""]]],oJ=[".material-icons:not([iconPositionEnd]), mat-icon:not([iconPositionEnd]), [matButtonIcon]:not([iconPositionEnd])","*",".material-icons[iconPositionEnd], mat-icon[iconPositionEnd], [matButtonIcon][iconPositionEnd]"];var sJ=".cdk-high-contrast-active .mat-mdc-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-unelevated-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-raised-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-outlined-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-icon-button{outline:solid 1px}";var aJ=["mat-icon-button",""],lJ=["*"];var cJ=new ge("MAT_BUTTON_CONFIG");var dJ=[{attribute:"mat-button",mdcClasses:["mdc-button","mat-mdc-button"]},{attribute:"mat-flat-button",mdcClasses:["mdc-button","mdc-button--unelevated","mat-mdc-unelevated-button"]},{attribute:"mat-raised-button",mdcClasses:["mdc-button","mdc-button--raised","mat-mdc-raised-button"]},{attribute:"mat-stroked-button",mdcClasses:["mdc-button","mdc-button--outlined","mat-mdc-outlined-button"]},{attribute:"mat-fab",mdcClasses:["mdc-fab","mat-mdc-fab-base","mat-mdc-fab"]},{attribute:"mat-mini-fab",mdcClasses:["mdc-fab","mat-mdc-fab-base","mdc-fab--mini","mat-mdc-mini-fab"]},{attribute:"mat-icon-button",mdcClasses:["mdc-icon-button","mat-mdc-icon-button"]}],W3=(()=>{let e=class e{get ripple(){return this._rippleLoader?.getRipple(this._elementRef.nativeElement)}set ripple(n){this._rippleLoader?.attachRipple(this._elementRef.nativeElement,n)}get disableRipple(){return this._disableRipple}set disableRipple(n){this._disableRipple=n,this._updateRippleDisabled()}get disabled(){return this._disabled}set disabled(n){this._disabled=n,this._updateRippleDisabled()}constructor(n,r,o,s){this._elementRef=n,this._platform=r,this._ngZone=o,this._animationMode=s,this._focusMonitor=te(fo),this._rippleLoader=te(j3),this._isFab=!1,this._disableRipple=!1,this._disabled=!1;let a=te(cJ,{optional:!0}),l=n.nativeElement,c=l.classList;this.disabledInteractive=a?.disabledInteractive??!1,this.color=a?.color??null,this._rippleLoader?.configureRipple(l,{className:"mat-mdc-button-ripple"});for(let{attribute:d,mdcClasses:u}of dJ)l.hasAttribute(d)&&c.add(...u)}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0)}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._rippleLoader?.destroyRipple(this._elementRef.nativeElement)}focus(n="program",r){n?this._focusMonitor.focusVia(this._elementRef.nativeElement,n,r):this._elementRef.nativeElement.focus(r)}_getAriaDisabled(){return this.ariaDisabled!=null?this.ariaDisabled:this.disabled&&this.disabledInteractive?!0:null}_getDisabledAttribute(){return this.disabledInteractive||!this.disabled?null:!0}_updateRippleDisabled(){this._rippleLoader?.setDisabled(this._elementRef.nativeElement,this.disableRipple||this.disabled)}};e.\u0275fac=function(r){PE()},e.\u0275dir=ze({type:e,inputs:{color:"color",disableRipple:[2,"disableRipple","disableRipple",at],disabled:[2,"disabled","disabled",at],ariaDisabled:[2,"aria-disabled","ariaDisabled",at],disabledInteractive:[2,"disabledInteractive","disabledInteractive",at]},features:[an]});let i=e;return i})();var zi=(()=>{let e=class e extends W3{constructor(n,r,o,s){super(n,r,o,s)}};e.\u0275fac=function(r){return new(r||e)(M(Re),M(gn),M(Le),M(Zn,8))},e.\u0275cmp=le({type:e,selectors:[["button","mat-button",""],["button","mat-raised-button",""],["button","mat-flat-button",""],["button","mat-stroked-button",""]],hostVars:14,hostBindings:function(r,o){r&2&&(Ze("disabled",o._getDisabledAttribute())("aria-disabled",o._getAriaDisabled()),kr(o.color?"mat-"+o.color:""),se("mat-mdc-button-disabled",o.disabled)("mat-mdc-button-disabled-interactive",o.disabledInteractive)("_mat-animation-noopable",o._animationMode==="NoopAnimations")("mat-unthemed",!o.color)("mat-mdc-button-base",!0))},exportAs:["matButton"],standalone:!0,features:[nn,ce],attrs:iJ,ngContentSelectors:oJ,decls:7,vars:4,consts:[[1,"mat-mdc-button-persistent-ripple"],[1,"mdc-button__label"],[1,"mat-mdc-focus-indicator"],[1,"mat-mdc-button-touch-target"]],template:function(r,o){r&1&&(Ln(rJ),ee(0,"span",0),$t(1),v(2,"span",1),$t(3,1),b(),$t(4,2),ee(5,"span",2)(6,"span",3)),r&2&&se("mdc-button__ripple",!o._isFab)("mdc-fab__ripple",o._isFab)},styles:['.mat-mdc-button-base{text-decoration:none}.mdc-button{-webkit-user-select:none;user-select:none;position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:64px;border:none;outline:none;line-height:inherit;-webkit-appearance:none;overflow:visible;vertical-align:middle;background:rgba(0,0,0,0);padding:0 8px}.mdc-button::-moz-focus-inner{padding:0;border:0}.mdc-button:active{outline:none}.mdc-button:hover{cursor:pointer}.mdc-button:disabled{cursor:default;pointer-events:none}.mdc-button[hidden]{display:none}.mdc-button .mdc-button__label{position:relative}.mat-mdc-button{padding:0 var(--mat-text-button-horizontal-padding, 8px);height:var(--mdc-text-button-container-height);font-family:var(--mdc-text-button-label-text-font);font-size:var(--mdc-text-button-label-text-size);letter-spacing:var(--mdc-text-button-label-text-tracking);text-transform:var(--mdc-text-button-label-text-transform);font-weight:var(--mdc-text-button-label-text-weight)}.mat-mdc-button:has(.material-icons,mat-icon,[matButtonIcon]){padding:0 var(--mat-text-button-with-icon-horizontal-padding, 8px)}.mat-mdc-button>.mat-icon{margin-right:var(--mat-text-button-icon-spacing, 8px);margin-left:var(--mat-text-button-icon-offset, 0)}[dir=rtl] .mat-mdc-button>.mat-icon{margin-right:var(--mat-text-button-icon-offset, 0);margin-left:var(--mat-text-button-icon-spacing, 8px)}.mat-mdc-button .mdc-button__label+.mat-icon{margin-right:var(--mat-text-button-icon-offset, 0);margin-left:var(--mat-text-button-icon-spacing, 8px)}[dir=rtl] .mat-mdc-button .mdc-button__label+.mat-icon{margin-right:var(--mat-text-button-icon-spacing, 8px);margin-left:var(--mat-text-button-icon-offset, 0)}.mat-mdc-button .mat-ripple-element{background-color:var(--mat-text-button-ripple-color)}.mat-mdc-button .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-text-button-state-layer-color)}.mat-mdc-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-text-button-disabled-state-layer-color)}.mat-mdc-button:hover .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-text-button-hover-state-layer-opacity)}.mat-mdc-button.cdk-program-focused .mat-mdc-button-persistent-ripple::before,.mat-mdc-button.cdk-keyboard-focused .mat-mdc-button-persistent-ripple::before,.mat-mdc-button.mat-mdc-button-disabled-interactive:focus .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-text-button-focus-state-layer-opacity)}.mat-mdc-button:active .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-text-button-pressed-state-layer-opacity)}.mat-mdc-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%);display:var(--mat-text-button-touch-target-display)}.mat-mdc-button,.mat-mdc-button .mdc-button__ripple{border-radius:var(--mdc-text-button-container-shape)}.mat-mdc-button:not(:disabled){color:var(--mdc-text-button-label-text-color)}.mat-mdc-button[disabled],.mat-mdc-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mdc-text-button-disabled-label-text-color)}.mat-mdc-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-unelevated-button{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);padding:0 var(--mat-filled-button-horizontal-padding, 16px);height:var(--mdc-filled-button-container-height);font-family:var(--mdc-filled-button-label-text-font);font-size:var(--mdc-filled-button-label-text-size);letter-spacing:var(--mdc-filled-button-label-text-tracking);text-transform:var(--mdc-filled-button-label-text-transform);font-weight:var(--mdc-filled-button-label-text-weight)}.mat-mdc-unelevated-button>.mat-icon{margin-right:var(--mat-filled-button-icon-spacing, 8px);margin-left:var(--mat-filled-button-icon-offset, -4px)}[dir=rtl] .mat-mdc-unelevated-button>.mat-icon{margin-right:var(--mat-filled-button-icon-offset, -4px);margin-left:var(--mat-filled-button-icon-spacing, 8px)}.mat-mdc-unelevated-button .mdc-button__label+.mat-icon{margin-right:var(--mat-filled-button-icon-offset, -4px);margin-left:var(--mat-filled-button-icon-spacing, 8px)}[dir=rtl] .mat-mdc-unelevated-button .mdc-button__label+.mat-icon{margin-right:var(--mat-filled-button-icon-spacing, 8px);margin-left:var(--mat-filled-button-icon-offset, -4px)}.mat-mdc-unelevated-button .mat-ripple-element{background-color:var(--mat-filled-button-ripple-color)}.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-filled-button-state-layer-color)}.mat-mdc-unelevated-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-filled-button-disabled-state-layer-color)}.mat-mdc-unelevated-button:hover .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-filled-button-hover-state-layer-opacity)}.mat-mdc-unelevated-button.cdk-program-focused .mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button.cdk-keyboard-focused .mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button.mat-mdc-button-disabled-interactive:focus .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-filled-button-focus-state-layer-opacity)}.mat-mdc-unelevated-button:active .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-filled-button-pressed-state-layer-opacity)}.mat-mdc-unelevated-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%);display:var(--mat-filled-button-touch-target-display)}.mat-mdc-unelevated-button:not(:disabled){color:var(--mdc-filled-button-label-text-color);background-color:var(--mdc-filled-button-container-color)}.mat-mdc-unelevated-button,.mat-mdc-unelevated-button .mdc-button__ripple{border-radius:var(--mdc-filled-button-container-shape)}.mat-mdc-unelevated-button[disabled],.mat-mdc-unelevated-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mdc-filled-button-disabled-label-text-color);background-color:var(--mdc-filled-button-disabled-container-color)}.mat-mdc-unelevated-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-raised-button{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);padding:0 var(--mat-protected-button-horizontal-padding, 16px);box-shadow:var(--mdc-protected-button-container-elevation-shadow);height:var(--mdc-protected-button-container-height);font-family:var(--mdc-protected-button-label-text-font);font-size:var(--mdc-protected-button-label-text-size);letter-spacing:var(--mdc-protected-button-label-text-tracking);text-transform:var(--mdc-protected-button-label-text-transform);font-weight:var(--mdc-protected-button-label-text-weight)}.mat-mdc-raised-button>.mat-icon{margin-right:var(--mat-protected-button-icon-spacing, 8px);margin-left:var(--mat-protected-button-icon-offset, -4px)}[dir=rtl] .mat-mdc-raised-button>.mat-icon{margin-right:var(--mat-protected-button-icon-offset, -4px);margin-left:var(--mat-protected-button-icon-spacing, 8px)}.mat-mdc-raised-button .mdc-button__label+.mat-icon{margin-right:var(--mat-protected-button-icon-offset, -4px);margin-left:var(--mat-protected-button-icon-spacing, 8px)}[dir=rtl] .mat-mdc-raised-button .mdc-button__label+.mat-icon{margin-right:var(--mat-protected-button-icon-spacing, 8px);margin-left:var(--mat-protected-button-icon-offset, -4px)}.mat-mdc-raised-button .mat-ripple-element{background-color:var(--mat-protected-button-ripple-color)}.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-protected-button-state-layer-color)}.mat-mdc-raised-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-protected-button-disabled-state-layer-color)}.mat-mdc-raised-button:hover .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-protected-button-hover-state-layer-opacity)}.mat-mdc-raised-button.cdk-program-focused .mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button.cdk-keyboard-focused .mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button.mat-mdc-button-disabled-interactive:focus .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-protected-button-focus-state-layer-opacity)}.mat-mdc-raised-button:active .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-protected-button-pressed-state-layer-opacity)}.mat-mdc-raised-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%);display:var(--mat-protected-button-touch-target-display)}.mat-mdc-raised-button:not(:disabled){color:var(--mdc-protected-button-label-text-color);background-color:var(--mdc-protected-button-container-color)}.mat-mdc-raised-button,.mat-mdc-raised-button .mdc-button__ripple{border-radius:var(--mdc-protected-button-container-shape)}.mat-mdc-raised-button:hover{box-shadow:var(--mdc-protected-button-hover-container-elevation-shadow)}.mat-mdc-raised-button:focus{box-shadow:var(--mdc-protected-button-focus-container-elevation-shadow)}.mat-mdc-raised-button:active,.mat-mdc-raised-button:focus:active{box-shadow:var(--mdc-protected-button-pressed-container-elevation-shadow)}.mat-mdc-raised-button[disabled],.mat-mdc-raised-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mdc-protected-button-disabled-label-text-color);background-color:var(--mdc-protected-button-disabled-container-color)}.mat-mdc-raised-button[disabled].mat-mdc-button-disabled,.mat-mdc-raised-button.mat-mdc-button-disabled.mat-mdc-button-disabled{box-shadow:var(--mdc-protected-button-disabled-container-elevation-shadow)}.mat-mdc-raised-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-outlined-button{border-style:solid;transition:border 280ms cubic-bezier(0.4, 0, 0.2, 1);padding:0 var(--mat-outlined-button-horizontal-padding, 15px);height:var(--mdc-outlined-button-container-height);font-family:var(--mdc-outlined-button-label-text-font);font-size:var(--mdc-outlined-button-label-text-size);letter-spacing:var(--mdc-outlined-button-label-text-tracking);text-transform:var(--mdc-outlined-button-label-text-transform);font-weight:var(--mdc-outlined-button-label-text-weight);border-radius:var(--mdc-outlined-button-container-shape);border-width:var(--mdc-outlined-button-outline-width)}.mat-mdc-outlined-button>.mat-icon{margin-right:var(--mat-outlined-button-icon-spacing, 8px);margin-left:var(--mat-outlined-button-icon-offset, -4px)}[dir=rtl] .mat-mdc-outlined-button>.mat-icon{margin-right:var(--mat-outlined-button-icon-offset, -4px);margin-left:var(--mat-outlined-button-icon-spacing, 8px)}.mat-mdc-outlined-button .mdc-button__label+.mat-icon{margin-right:var(--mat-outlined-button-icon-offset, -4px);margin-left:var(--mat-outlined-button-icon-spacing, 8px)}[dir=rtl] .mat-mdc-outlined-button .mdc-button__label+.mat-icon{margin-right:var(--mat-outlined-button-icon-spacing, 8px);margin-left:var(--mat-outlined-button-icon-offset, -4px)}.mat-mdc-outlined-button .mat-ripple-element{background-color:var(--mat-outlined-button-ripple-color)}.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-outlined-button-state-layer-color)}.mat-mdc-outlined-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-outlined-button-disabled-state-layer-color)}.mat-mdc-outlined-button:hover .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-outlined-button-hover-state-layer-opacity)}.mat-mdc-outlined-button.cdk-program-focused .mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button.cdk-keyboard-focused .mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button.mat-mdc-button-disabled-interactive:focus .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-outlined-button-focus-state-layer-opacity)}.mat-mdc-outlined-button:active .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-outlined-button-pressed-state-layer-opacity)}.mat-mdc-outlined-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%);display:var(--mat-outlined-button-touch-target-display)}.mat-mdc-outlined-button:not(:disabled){color:var(--mdc-outlined-button-label-text-color);border-color:var(--mdc-outlined-button-outline-color)}.mat-mdc-outlined-button[disabled],.mat-mdc-outlined-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mdc-outlined-button-disabled-label-text-color);border-color:var(--mdc-outlined-button-disabled-outline-color)}.mat-mdc-outlined-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-outlined-button .mdc-button__ripple{border-width:var(--mdc-outlined-button-outline-width);border-style:solid;border-color:rgba(0,0,0,0)}.mat-mdc-button,.mat-mdc-unelevated-button,.mat-mdc-raised-button,.mat-mdc-outlined-button{-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-button .mat-mdc-button-ripple,.mat-mdc-button .mat-mdc-button-persistent-ripple,.mat-mdc-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button .mat-mdc-button-ripple,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button .mat-mdc-button-ripple,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-button .mat-mdc-button-ripple,.mat-mdc-unelevated-button .mat-mdc-button-ripple,.mat-mdc-raised-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mat-mdc-button-ripple{overflow:hidden}.mat-mdc-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before{content:"";opacity:0}.mat-mdc-button .mdc-button__label,.mat-mdc-button .mat-icon,.mat-mdc-unelevated-button .mdc-button__label,.mat-mdc-unelevated-button .mat-icon,.mat-mdc-raised-button .mdc-button__label,.mat-mdc-raised-button .mat-icon,.mat-mdc-outlined-button .mdc-button__label,.mat-mdc-outlined-button .mat-icon{z-index:1;position:relative}.mat-mdc-button .mat-mdc-focus-indicator,.mat-mdc-unelevated-button .mat-mdc-focus-indicator,.mat-mdc-raised-button .mat-mdc-focus-indicator,.mat-mdc-outlined-button .mat-mdc-focus-indicator{top:0;left:0;right:0;bottom:0;position:absolute}.mat-mdc-button:focus .mat-mdc-focus-indicator::before,.mat-mdc-unelevated-button:focus .mat-mdc-focus-indicator::before,.mat-mdc-raised-button:focus .mat-mdc-focus-indicator::before,.mat-mdc-outlined-button:focus .mat-mdc-focus-indicator::before{content:""}.mat-mdc-button._mat-animation-noopable,.mat-mdc-unelevated-button._mat-animation-noopable,.mat-mdc-raised-button._mat-animation-noopable,.mat-mdc-outlined-button._mat-animation-noopable{transition:none !important;animation:none !important}.mat-mdc-button>.mat-icon,.mat-mdc-unelevated-button>.mat-icon,.mat-mdc-raised-button>.mat-icon,.mat-mdc-outlined-button>.mat-icon{display:inline-block;position:relative;vertical-align:top;font-size:1.125rem;height:1.125rem;width:1.125rem}.mat-mdc-outlined-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px}.mat-mdc-unelevated-button .mat-mdc-focus-indicator::before,.mat-mdc-raised-button .mat-mdc-focus-indicator::before{margin:calc(calc(var(--mat-mdc-focus-indicator-border-width, 3px) + 2px)*-1)}.mat-mdc-outlined-button .mat-mdc-focus-indicator::before{margin:calc(calc(var(--mat-mdc-focus-indicator-border-width, 3px) + 3px)*-1)}',".cdk-high-contrast-active .mat-mdc-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-unelevated-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-raised-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-outlined-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-icon-button{outline:solid 1px}"],encapsulation:2,changeDetection:0});let i=e;return i})();var Ho=(()=>{let e=class e extends W3{constructor(n,r,o,s){super(n,r,o,s),this._rippleLoader.configureRipple(this._elementRef.nativeElement,{centered:!0})}};e.\u0275fac=function(r){return new(r||e)(M(Re),M(gn),M(Le),M(Zn,8))},e.\u0275cmp=le({type:e,selectors:[["button","mat-icon-button",""]],hostVars:14,hostBindings:function(r,o){r&2&&(Ze("disabled",o._getDisabledAttribute())("aria-disabled",o._getAriaDisabled()),kr(o.color?"mat-"+o.color:""),se("mat-mdc-button-disabled",o.disabled)("mat-mdc-button-disabled-interactive",o.disabledInteractive)("_mat-animation-noopable",o._animationMode==="NoopAnimations")("mat-unthemed",!o.color)("mat-mdc-button-base",!0))},exportAs:["matButton"],standalone:!0,features:[nn,ce],attrs:aJ,ngContentSelectors:lJ,decls:4,vars:0,consts:[[1,"mat-mdc-button-persistent-ripple","mdc-icon-button__ripple"],[1,"mat-mdc-focus-indicator"],[1,"mat-mdc-button-touch-target"]],template:function(r,o){r&1&&(Ln(),ee(0,"span",0),$t(1),ee(2,"span",1)(3,"span",2))},styles:['.mat-mdc-icon-button{-webkit-user-select:none;user-select:none;display:inline-block;position:relative;box-sizing:border-box;border:none;outline:none;background-color:rgba(0,0,0,0);fill:currentColor;color:inherit;text-decoration:none;cursor:pointer;z-index:0;overflow:visible;border-radius:50%;flex-shrink:0;text-align:center;width:var(--mdc-icon-button-state-layer-size, 48px);height:var(--mdc-icon-button-state-layer-size, 48px);padding:calc(calc(var(--mdc-icon-button-state-layer-size, 48px) - var(--mdc-icon-button-icon-size, 24px)) / 2);font-size:var(--mdc-icon-button-icon-size);color:var(--mdc-icon-button-icon-color);-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-icon-button[disabled],.mat-mdc-icon-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mdc-icon-button-disabled-icon-color)}.mat-mdc-icon-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-icon-button img,.mat-mdc-icon-button svg{width:var(--mdc-icon-button-icon-size);height:var(--mdc-icon-button-icon-size);vertical-align:baseline}.mat-mdc-icon-button .mat-mdc-button-ripple,.mat-mdc-icon-button .mat-mdc-button-persistent-ripple,.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-icon-button .mat-mdc-button-ripple{overflow:hidden}.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before{content:"";opacity:0}.mat-mdc-icon-button .mdc-button__label,.mat-mdc-icon-button .mat-icon{z-index:1;position:relative}.mat-mdc-icon-button .mat-mdc-focus-indicator{top:0;left:0;right:0;bottom:0;position:absolute}.mat-mdc-icon-button:focus .mat-mdc-focus-indicator::before{content:""}.mat-mdc-icon-button .mat-ripple-element{background-color:var(--mat-icon-button-ripple-color)}.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-icon-button-state-layer-color)}.mat-mdc-icon-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-icon-button-disabled-state-layer-color)}.mat-mdc-icon-button:hover .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-icon-button-hover-state-layer-opacity)}.mat-mdc-icon-button.cdk-program-focused .mat-mdc-button-persistent-ripple::before,.mat-mdc-icon-button.cdk-keyboard-focused .mat-mdc-button-persistent-ripple::before,.mat-mdc-icon-button.mat-mdc-button-disabled-interactive:focus .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-icon-button-focus-state-layer-opacity)}.mat-mdc-icon-button:active .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-icon-button-pressed-state-layer-opacity)}.mat-mdc-icon-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:50%;width:48px;transform:translate(-50%, -50%);display:var(--mat-icon-button-touch-target-display)}.mat-mdc-icon-button._mat-animation-noopable{transition:none !important;animation:none !important}.mat-mdc-icon-button .mat-mdc-button-persistent-ripple{border-radius:50%}.mat-mdc-icon-button[hidden]{display:none}.mat-mdc-icon-button.mat-unthemed:not(.mdc-ripple-upgraded):focus::before,.mat-mdc-icon-button.mat-primary:not(.mdc-ripple-upgraded):focus::before,.mat-mdc-icon-button.mat-accent:not(.mdc-ripple-upgraded):focus::before,.mat-mdc-icon-button.mat-warn:not(.mdc-ripple-upgraded):focus::before{background:rgba(0,0,0,0);opacity:1}',sJ],encapsulation:2,changeDetection:0});let i=e;return i})();var In=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=ot({type:e}),e.\u0275inj=rt({imports:[qt,Gm,qt]});let i=e;return i})();function Zs(i,e){return ie?1:i>=e?0:NaN}function Ay(i){return i.length===1&&(i=uJ(i)),{left:function(e,t,n,r){for(n==null&&(n=0),r==null&&(r=e.length);n>>1;i(e[o],t)<0?n=o+1:r=o}return n},right:function(e,t,n,r){for(n==null&&(n=0),r==null&&(r=e.length);n>>1;i(e[o],t)>0?r=o:n=o+1}return n}}}function uJ(i){return function(e,t){return Zs(i(e),t)}}var $3=Ay(Zs),hJ=$3.right,pJ=$3.left;var q3=Array.prototype,mJ=q3.slice,gJ=q3.map;var ADe=Math.sqrt(50),NDe=Math.sqrt(10),kDe=Math.sqrt(2);var wJ=Array.prototype.slice;var CJ={value:function(){}};function K3(){for(var i=0,e=arguments.length,t={},n;i=0&&(n=t.slice(r+1),t=t.slice(0,r)),t&&!e.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:n}})}ky.prototype=K3.prototype={constructor:ky,on:function(i,e){var t=this._,n=SJ(i+"",t),r,o=-1,s=n.length;if(arguments.length<2){for(;++o0)for(var t=new Array(r),n=0,r,o;n=0&&(e=i.slice(0,t))!=="xmlns"&&(i=i.slice(t+1)),TT.hasOwnProperty(e)?{space:TT[e],local:i}:i}function EJ(i){return function(){var e=this.ownerDocument,t=this.namespaceURI;return t===Ly&&e.documentElement.namespaceURI===Ly?e.createElement(i):e.createElementNS(t,i)}}function IJ(i){return function(){return this.ownerDocument.createElementNS(i.space,i.local)}}function Fy(i){var e=Ua(i);return(e.local?IJ:EJ)(e)}function TJ(){}function Sd(i){return i==null?TJ:function(){return this.querySelector(i)}}function J3(i){typeof i!="function"&&(i=Sd(i));for(var e=this._groups,t=e.length,n=new Array(t),r=0;r=x&&(x=_+1);!(T=y[x])&&++x=0;)(s=n[r])&&(o&&s.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(s,o),o=s);return this}function dB(i){i||(i=RJ);function e(u,h){return u&&h?i(u.__data__,h.__data__):!u-!h}for(var t=this._groups,n=t.length,r=new Array(n),o=0;oe?1:i>=e?0:NaN}function uB(){var i=arguments[0];return arguments[0]=this,i.apply(null,arguments),this}function hB(){var i=new Array(this.size()),e=-1;return this.each(function(){i[++e]=this}),i}function pB(){for(var i=this._groups,e=0,t=i.length;e1?this.each((e==null?VJ:typeof e=="function"?UJ:zJ)(i,e,t??"")):Yl(this.node(),i)}function Yl(i,e){return i.style.getPropertyValue(e)||Vy(i).getComputedStyle(i,null).getPropertyValue(e)}function HJ(i){return function(){delete this[i]}}function GJ(i,e){return function(){this[i]=e}}function jJ(i,e){return function(){var t=e.apply(this,arguments);t==null?delete this[i]:this[i]=t}}function bB(i,e){return arguments.length>1?this.each((e==null?HJ:typeof e=="function"?jJ:GJ)(i,e)):this.node()[i]}function yB(i){return i.trim().split(/^|\s+/)}function DT(i){return i.classList||new xB(i)}function xB(i){this._node=i,this._names=yB(i.getAttribute("class")||"")}xB.prototype={add:function(i){var e=this._names.indexOf(i);e<0&&(this._names.push(i),this._node.setAttribute("class",this._names.join(" ")))},remove:function(i){var e=this._names.indexOf(i);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(i){return this._names.indexOf(i)>=0}};function wB(i,e){for(var t=DT(i),n=-1,r=e.length;++n=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}})}function lee(i){return function(){var e=this.__on;if(e){for(var t=0,n=-1,r=e.length,o;t>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):t===8?Wy(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):t===4?Wy(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=pee.exec(i))?new go(e[1],e[2],e[3],1):(e=fee.exec(i))?new go(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=mee.exec(i))?Wy(e[1],e[2],e[3],e[4]):(e=gee.exec(i))?Wy(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=_ee.exec(i))?qB(e[1],e[2]/100,e[3]/100,1):(e=vee.exec(i))?qB(e[1],e[2]/100,e[3]/100,e[4]):UB.hasOwnProperty(i)?jB(UB[i]):i==="transparent"?new go(NaN,NaN,NaN,0):null}function jB(i){return new go(i>>16&255,i>>8&255,i&255,1)}function Wy(i,e,t,n){return n<=0&&(i=e=t=NaN),new go(i,e,t,n)}function yee(i){return i instanceof Km||(i=gs(i)),i?(i=i.rgb(),new go(i.r,i.g,i.b,i.opacity)):new go}function Hh(i,e,t,n){return arguments.length===1?yee(i):new go(i,e,t,n??1)}function go(i,e,t,n){this.r=+i,this.g=+e,this.b=+t,this.opacity=+n}jy(go,Hh,NT(Km,{brighter:function(i){return i=i==null?$y:Math.pow($y,i),new go(this.r*i,this.g*i,this.b*i,this.opacity)},darker:function(i){return i=i==null?Zm:Math.pow(Zm,i),new go(this.r*i,this.g*i,this.b*i,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:WB,formatHex:WB,formatRgb:$B,toString:$B}));function WB(){return"#"+kT(this.r)+kT(this.g)+kT(this.b)}function $B(){var i=this.opacity;return i=isNaN(i)?1:Math.max(0,Math.min(1,i)),(i===1?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(i===1?")":", "+i+")")}function kT(i){return i=Math.max(0,Math.min(255,Math.round(i)||0)),(i<16?"0":"")+i.toString(16)}function qB(i,e,t,n){return n<=0?i=e=t=NaN:t<=0||t>=1?i=e=NaN:e<=0&&(i=NaN),new Qs(i,e,t,n)}function YB(i){if(i instanceof Qs)return new Qs(i.h,i.s,i.l,i.opacity);if(i instanceof Km||(i=gs(i)),!i)return new Qs;if(i instanceof Qs)return i;i=i.rgb();var e=i.r/255,t=i.g/255,n=i.b/255,r=Math.min(e,t,n),o=Math.max(e,t,n),s=NaN,a=o-r,l=(o+r)/2;return a?(e===o?s=(t-n)/a+(t0&&l<1?0:s,new Qs(s,a,l,i.opacity)}function XB(i,e,t,n){return arguments.length===1?YB(i):new Qs(i,e,t,n??1)}function Qs(i,e,t,n){this.h=+i,this.s=+e,this.l=+t,this.opacity=+n}jy(Qs,XB,NT(Km,{brighter:function(i){return i=i==null?$y:Math.pow($y,i),new Qs(this.h,this.s,this.l*i,this.opacity)},darker:function(i){return i=i==null?Zm:Math.pow(Zm,i),new Qs(this.h,this.s,this.l*i,this.opacity)},rgb:function(){var i=this.h%360+(this.h<0)*360,e=isNaN(i)||isNaN(this.s)?0:this.s,t=this.l,n=t+(t<.5?t:1-t)*e,r=2*t-n;return new go(LT(i>=240?i-240:i+120,r,n),LT(i,r,n),LT(i<120?i+240:i-120,r,n),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var i=this.opacity;return i=isNaN(i)?1:Math.max(0,Math.min(1,i)),(i===1?"hsl(":"hsla(")+(this.h||0)+", "+(this.s||0)*100+"%, "+(this.l||0)*100+"%"+(i===1?")":", "+i+")")}}));function LT(i,e,t){return(i<60?e+(t-e)*i/60:i<180?t:i<240?e+(t-e)*(240-i)/60:e)*255}function FT(i,e,t,n,r){var o=i*i,s=o*i;return((1-3*i+3*o-s)*e+(4-6*o+3*s)*t+(1+3*i+3*o-3*s)*n+s*r)/6}function ZB(i){var e=i.length-1;return function(t){var n=t<=0?t=0:t>=1?(t=1,e-1):Math.floor(t*e),r=i[n],o=i[n+1],s=n>0?i[n-1]:2*r-o,a=nt&&(o=e.slice(t,o),a[s]?a[s]+=o:a[++s]=o),(n=n[0])===(r=r[0])?a[s]?a[s]+=r:a[++s]=r:(a[++s]=null,l.push({i:s,x:Vr(n,r)})),t=BT.lastIndex;return t180?d+=360:d-c>180&&(c+=360),h.push({i:u.push(r(u)+"rotate(",null,n)-2,x:Vr(c,d)})):d&&u.push(r(u)+"rotate("+d+n)}function a(c,d,u,h){c!==d?h.push({i:u.push(r(u)+"skewX(",null,n)-2,x:Vr(c,d)}):d&&u.push(r(u)+"skewX("+d+n)}function l(c,d,u,h,p,f){if(c!==u||d!==h){var m=p.push(r(p)+"scale(",null,",",null,")");f.push({i:m-4,x:Vr(c,u)},{i:m-2,x:Vr(d,h)})}else(u!==1||h!==1)&&p.push(r(p)+"scale("+u+","+h+")")}return function(c,d){var u=[],h=[];return c=i(c),d=i(d),o(c.translateX,c.translateY,d.translateX,d.translateY,u,h),s(c.rotate,d.rotate,u,h),a(c.skewX,d.skewX,u,h),l(c.scaleX,c.scaleY,d.scaleX,d.scaleY,u,h),c=d=null,function(p){for(var f=-1,m=h.length,y;++f=0&&i._call.call(null,e),i=i._next;--Gh}function hV(){Id=(Qy=sg.now())+Ky,Gh=rg=0;try{mV()}finally{Gh=0,Ree(),Id=0}}function Oee(){var i=sg.now(),e=i-Qy;e>pV&&(Ky-=e,Qy=i)}function Ree(){for(var i,e=Zy,t,n=1/0;e;)e._call?(n>e._time&&(n=e._time),i=e,e=e._next):(t=e._next,e._next=null,e=i?i._next=t:Zy=t);og=i,$T(n)}function $T(i){if(!Gh){rg&&(rg=clearTimeout(rg));var e=i-Id;e>24?(i<1/0&&(rg=setTimeout(hV,i-sg.now()-Ky)),ig&&(ig=clearInterval(ig))):(ig||(Qy=sg.now(),ig=setInterval(Oee,pV)),Gh=1,fV(hV))}}function ex(i,e,t){var n=new ag;return e=e==null?0:+e,n.restart(function(r){n.stop(),i(r+e)},e,t),n}var Aee=$m("start","end","cancel","interrupt"),Nee=[],_V=0,qT=1,nx=2,tx=3,gV=4,ix=5,lg=6;function Xl(i,e,t,n,r,o){var s=i.__transition;if(!s)i.__transition={};else if(t in s)return;kee(i,t,{name:e,index:n,group:r,on:Aee,tween:Nee,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:_V})}function cg(i,e){var t=Li(i,e);if(t.state>_V)throw new Error("too late; already scheduled");return t}function zr(i,e){var t=Li(i,e);if(t.state>tx)throw new Error("too late; already running");return t}function Li(i,e){var t=i.__transition;if(!t||!(t=t[e]))throw new Error("transition not found");return t}function kee(i,e,t){var n=i.__transition,r;n[e]=t,t.timer=Jy(o,0,t.time);function o(c){t.state=qT,t.timer.restart(s,t.delay,t.time),t.delay<=c&&s(c-t.delay)}function s(c){var d,u,h,p;if(t.state!==qT)return l();for(d in n)if(p=n[d],p.name===t.name){if(p.state===tx)return ex(s);p.state===gV?(p.state=lg,p.timer.stop(),p.on.call("interrupt",i,i.__data__,p.index,p.group),delete n[d]):+dnx&&n.state=0&&(e=e.slice(0,t)),!e||e==="start"})}function ete(i,e,t){var n,r,o=Jee(e)?cg:zr;return function(){var s=o(this,i),a=s.on;a!==n&&(r=(n=a).copy()).on(e,t),s.on=r}}function IV(i,e){var t=this._id;return arguments.length<2?Li(this.node(),t).on.on(i):this.each(ete(t,i,e))}function tte(i){return function(){var e=this.parentNode;for(var t in this.__transition)if(+t!==i)return;e&&e.removeChild(this)}}function TV(){return this.on("end.remove",tte(this._id))}function DV(i){var e=this._name,t=this._id;typeof i!="function"&&(i=Sd(i));for(var n=this._groups,r=n.length,o=new Array(r),s=0;sTd)if(!(Math.abs(d*a-l*c)>Td)||!r)this._+="L"+(this._x1=i)+","+(this._y1=e);else{var h=t-o,p=n-s,f=a*a+l*l,m=h*h+p*p,y=Math.sqrt(f),g=Math.sqrt(u),_=r*Math.tan((KT-Math.acos((f+u-m)/(2*y*g)))/2),x=_/g,C=_/y;Math.abs(x-1)>Td&&(this._+="L"+(i+x*c)+","+(e+x*d)),this._+="A"+r+","+r+",0,0,"+ +(d*h>c*p)+","+(this._x1=i+C*a)+","+(this._y1=e+C*l)}},arc:function(i,e,t,n,r,o){i=+i,e=+e,t=+t,o=!!o;var s=t*Math.cos(n),a=t*Math.sin(n),l=i+s,c=e+a,d=1^o,u=o?n-r:r-n;if(t<0)throw new Error("negative radius: "+t);this._x1===null?this._+="M"+l+","+c:(Math.abs(this._x1-l)>Td||Math.abs(this._y1-c)>Td)&&(this._+="L"+l+","+c),t&&(u<0&&(u=u%JT+JT),u>yte?this._+="A"+t+","+t+",0,1,"+d+","+(i-s)+","+(e-a)+"A"+t+","+t+",0,1,"+d+","+(this._x1=l)+","+(this._y1=c):u>Td&&(this._+="A"+t+","+t+",0,"+ +(u>=KT)+","+d+","+(this._x1=i+t*Math.cos(r))+","+(this._y1=e+t*Math.sin(r))))},rect:function(i,e,t,n){this._+="M"+(this._x0=this._x1=+i)+","+(this._y0=this._y1=+e)+"h"+ +t+"v"+ +n+"h"+-t+"Z"},toString:function(){return this._}};var tD=GV;var _o="$";function ax(){}ax.prototype=jV.prototype={constructor:ax,has:function(i){return _o+i in this},get:function(i){return this[_o+i]},set:function(i,e){return this[_o+i]=e,this},remove:function(i){var e=_o+i;return e in this&&delete this[e]},clear:function(){for(var i in this)i[0]===_o&&delete this[i]},keys:function(){var i=[];for(var e in this)e[0]===_o&&i.push(e.slice(1));return i},values:function(){var i=[];for(var e in this)e[0]===_o&&i.push(this[e]);return i},entries:function(){var i=[];for(var e in this)e[0]===_o&&i.push({key:e.slice(1),value:this[e]});return i},size:function(){var i=0;for(var e in this)e[0]===_o&&++i;return i},empty:function(){for(var i in this)if(i[0]===_o)return!1;return!0},each:function(i){for(var e in this)e[0]===_o&&i(this[e],e.slice(1),this)}};function jV(i,e){var t=new ax;if(i instanceof ax)i.each(function(a,l){t.set(l,a)});else if(Array.isArray(i)){var n=-1,r=i.length,o;if(e==null)for(;++n1);return n+r*a*Math.sqrt(-2*Math.log(s)/s)}}return t.source=i,t}(jo);var Ete=function i(e){function t(){var n=nD.source(e).apply(this,arguments);return function(){return Math.exp(n())}}return t.source=i,t}(jo);var iD=function i(e){function t(n){return function(){for(var r=0,o=0;o0)){if(m/=p,p<0){if(m0){if(m>h)return;m>u&&(u=m)}if(m=n-a,!(!p&&m<0)){if(m/=p,p<0){if(m>h)return;m>u&&(u=m)}else if(p>0){if(m0)){if(m/=f,f<0){if(m0){if(m>h)return;m>u&&(u=m)}if(m=r-l,!(!f&&m<0)){if(m/=f,f<0){if(m>h)return;m>u&&(u=m)}else if(f>0){if(m0)&&!(h<1)||(u>0&&(i[0]=[a+u*p,l+u*f]),h<1&&(i[1]=[a+h*p,l+h*f])),!0}}}}}function Ute(i,e,t,n,r){var o=i[1];if(o)return!0;var s=i[0],a=i.left,l=i.right,c=a[0],d=a[1],u=l[0],h=l[1],p=(c+u)/2,f=(d+h)/2,m,y;if(h===d){if(p=n)return;if(c>u){if(!s)s=[p,t];else if(s[1]>=r)return;o=[p,r]}else{if(!s)s=[p,r];else if(s[1]1)if(c>u){if(!s)s=[(t-y)/m,t];else if(s[1]>=r)return;o=[(r-y)/m,r]}else{if(!s)s=[(r-y)/m,r];else if(s[1]=n)return;o=[n,m*n+y]}else{if(!s)s=[n,m*n+y];else if(s[0]Vn||Math.abs(o[0][1]-o[1][1])>Vn))&&delete Ui[r]}function az(i){return Ur[i.index]={site:i,halfedges:[]}}function Hte(i,e){var t=i.site,n=e.left,r=e.right;return t===r&&(r=n,n=t),r?Math.atan2(r[1]-n[1],r[0]-n[0]):(t===n?(n=e[1],r=e[0]):(n=e[0],r=e[1]),Math.atan2(n[0]-r[0],r[1]-n[1]))}function dD(i,e){return e[+(e.left!==i.site)]}function Gte(i,e){return e[+(e.left===i.site)]}function lz(){for(var i=0,e=Ur.length,t,n,r,o;iVn||Math.abs(y-p)>Vn)&&(c.splice(l,0,Ui.push(Qh(a,f,Math.abs(m-i)Vn?[i,Math.abs(h-i)Vn?[Math.abs(p-n)Vn?[t,Math.abs(h-t)Vn?[Math.abs(p-e)=-uz)){var p=l*l+c*c,f=d*d+u*u,m=(u*p-c*f)/h,y=(l*f-d*p)/h,g=dz.pop()||new jte;g.arc=i,g.site=r,g.x=m+s,g.y=(g.cy=y+a)+Math.sqrt(m*m+y*y),i.circle=g;for(var _=null,x=Kh._;x;)if(g.yVn)a=a.L;else if(s=e-$te(a,t),s>Vn){if(!a.R){n=a;break}a=a.R}else{o>-Vn?(n=a.P,r=a):s>-Vn?(n=a,r=a.N):n=r=a;break}az(i);var l=hz(i);if(Ad.insert(n,l),!(!n&&!r)){if(n===r){Rd(n),r=hz(n.site),Ad.insert(l,r),l.edge=r.edge=Zh(n.site,l.site),Od(n),Od(r);return}if(!r){l.edge=Zh(n.site,l.site);return}Rd(n),Rd(r);var c=n.site,d=c[0],u=c[1],h=i[0]-d,p=i[1]-u,f=r.site,m=f[0]-d,y=f[1]-u,g=2*(h*y-p*m),_=h*h+p*p,x=m*m+y*y,C=[(y*_-p*x)/g+d,(h*x-m*_)/g+u];_g(r.edge,c,f,C),l.edge=Zh(c,i,null,C),r.edge=Zh(i,f,null,C),Od(n),Od(r)}}function gz(i,e){var t=i.site,n=t[0],r=t[1],o=r-e;if(!o)return n;var s=i.P;if(!s)return-1/0;t=s.site;var a=t[0],l=t[1],c=l-e;if(!c)return a;var d=a-n,u=1/o-1/c,h=d/c;return u?(-h+Math.sqrt(h*h-2*u*(d*d/(-2*c)-l+c/2+r-o/2)))/u+n:(n+a)/2}function $te(i,e){var t=i.N;if(t)return gz(t,e);var n=i.site;return n[1]===e?n[0]:1/0}var Vn=1e-6,uz=1e-12,Ad,Ur,Kh,Ui;function qte(i,e,t){return(i[0]-t[0])*(e[1]-i[1])-(i[0]-e[0])*(t[1]-i[1])}function Yte(i,e){return e[1]-i[1]||e[0]-i[0]}function ux(i,e){var t=i.sort(Yte).pop(),n,r,o;for(Ui=[],Ur=new Array(i.length),Ad=new cD,Kh=new cD;;)if(o=dx,t&&(!o||t[1]=s)return null;var l=i-a.site[0],c=e-a.site[1],d=l*l+c*c;do a=n.cells[r=o],o=null,a.halfedges.forEach(function(u){var h=n.edges[u],p=h.left;if(!((p===a.site||!p)&&!(p=h.right))){var f=i-p[0],m=e-p[1],y=f*f+m*m;yn?(n+r)/2:Math.min(0,n)||Math.max(0,r),s>o?(o+s)/2:Math.min(0,o)||Math.max(0,s))}function fD(){var i=Xte,e=Zte,t=Jte,n=Qte,r=Kte,o=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],a=250,l=WT,c=$m("start","zoom","end"),d,u,h=500,p=150,f=0;function m(O){O.property("__zoom",_z).on("wheel.zoom",D).on("mousedown.zoom",E).on("dblclick.zoom",P).filter(r).on("touchstart.zoom",Y).on("touchmove.zoom",$).on("touchend.zoom touchcancel.zoom",U).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}m.transform=function(O,B,j){var q=O.selection?O.selection():O;q.property("__zoom",_z),O!==q?x(O,B,j):q.interrupt().each(function(){C(this,arguments).start().zoom(null,typeof B=="function"?B.apply(this,arguments):B).end()})},m.scaleBy=function(O,B,j){m.scaleTo(O,function(){var q=this.__zoom.k,k=typeof B=="function"?B.apply(this,arguments):B;return q*k},j)},m.scaleTo=function(O,B,j){m.transform(O,function(){var q=e.apply(this,arguments),k=this.__zoom,G=j==null?_(q):typeof j=="function"?j.apply(this,arguments):j,K=k.invert(G),de=typeof B=="function"?B.apply(this,arguments):B;return t(g(y(k,de),G,K),q,s)},j)},m.translateBy=function(O,B,j){m.transform(O,function(){return t(this.__zoom.translate(typeof B=="function"?B.apply(this,arguments):B,typeof j=="function"?j.apply(this,arguments):j),e.apply(this,arguments),s)})},m.translateTo=function(O,B,j,q){m.transform(O,function(){var k=e.apply(this,arguments),G=this.__zoom,K=q==null?_(k):typeof q=="function"?q.apply(this,arguments):q;return t(Nd.translate(K[0],K[1]).scale(G.k).translate(typeof B=="function"?-B.apply(this,arguments):-B,typeof j=="function"?-j.apply(this,arguments):-j),k,s)},q)};function y(O,B){return B=Math.max(o[0],Math.min(o[1],B)),B===O.k?O:new ea(B,O.x,O.y)}function g(O,B,j){var q=B[0]-j[0]*O.k,k=B[1]-j[1]*O.k;return q===O.x&&k===O.y?O:new ea(O.k,q,k)}function _(O){return[(+O[0][0]+ +O[1][0])/2,(+O[0][1]+ +O[1][1])/2]}function x(O,B,j){O.on("start.zoom",function(){C(this,arguments).start()}).on("interrupt.zoom end.zoom",function(){C(this,arguments).end()}).tween("zoom",function(){var q=this,k=arguments,G=C(q,k),K=e.apply(q,k),de=j==null?_(K):typeof j=="function"?j.apply(q,k):j,De=Math.max(K[1][0]-K[0][0],K[1][1]-K[0][1]),Ee=q.__zoom,He=typeof B=="function"?B.apply(q,k):B,he=l(Ee.invert(de).concat(De/Ee.k),He.invert(de).concat(De/He.k));return function(re){if(re===1)re=He;else{var qe=he(re),ue=De/qe[2];re=new ea(ue,de[0]-qe[0]*ue,de[1]-qe[1]*ue)}G.zoom(null,re)}})}function C(O,B,j){return!j&&O.__zooming||new T(O,B)}function T(O,B){this.that=O,this.args=B,this.active=0,this.extent=e.apply(O,B),this.taps=0}T.prototype={start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(O,B){return this.mouse&&O!=="mouse"&&(this.mouse[1]=B.invert(this.mouse[0])),this.touch0&&O!=="touch"&&(this.touch0[1]=B.invert(this.touch0[0])),this.touch1&&O!=="touch"&&(this.touch1[1]=B.invert(this.touch1[0])),this.that.__zoom=B,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(O){PT(new hD(m,O,this.that.__zoom),c.apply,c,[O,this.that,this.args])}};function D(){if(!i.apply(this,arguments))return;var O=C(this,arguments),B=this.__zoom,j=Math.max(o[0],Math.min(o[1],B.k*Math.pow(2,n.apply(this,arguments)))),q=zh(this);if(O.wheel)(O.mouse[0][0]!==q[0]||O.mouse[0][1]!==q[1])&&(O.mouse[1]=B.invert(O.mouse[0]=q)),clearTimeout(O.wheel);else{if(B.k===j)return;O.mouse=[q,B.invert(q)],Zl(this),O.start()}Jh(),O.wheel=setTimeout(k,p),O.zoom("mouse",t(g(y(B,j),O.mouse[0],O.mouse[1]),O.extent,s));function k(){O.wheel=null,O.end()}}function E(){if(u||!i.apply(this,arguments))return;var O=C(this,arguments,!0),B=Go(ht.view).on("mousemove.zoom",G,!0).on("mouseup.zoom",K,!0),j=zh(this),q=ht.clientX,k=ht.clientY;RT(ht.view),hx(),O.mouse=[j,this.__zoom.invert(j)],Zl(this),O.start();function G(){if(Jh(),!O.moved){var de=ht.clientX-q,De=ht.clientY-k;O.moved=de*de+De*De>f}O.zoom("mouse",t(g(O.that.__zoom,O.mouse[0]=zh(O.that),O.mouse[1]),O.extent,s))}function K(){B.on("mousemove.zoom mouseup.zoom",null),AT(ht.view,O.moved),Jh(),O.end()}}function P(){if(i.apply(this,arguments)){var O=this.__zoom,B=zh(this),j=O.invert(B),q=O.k*(ht.shiftKey?.5:2),k=t(g(y(O,q),B,j),e.apply(this,arguments),s);Jh(),a>0?Go(this).transition().duration(a).call(x,k,B):Go(this).call(m.transform,k)}}function Y(){if(i.apply(this,arguments)){var O=ht.touches,B=O.length,j=C(this,arguments,ht.changedTouches.length===B),q,k,G,K;for(hx(),k=0;km4,AddEquation:()=>Gd,AddOperation:()=>u4,AdditiveAnimationBlendMode:()=>XP,AdditiveBlending:()=>KD,AlphaFormat:()=>C4,AlwaysDepth:()=>r4,AlwaysStencilFunc:()=>_H,AmbientLight:()=>A_,AmbientLightProbe:()=>Lw,AnimationClip:()=>cu,AnimationLoader:()=>yP,AnimationMixer:()=>Uw,AnimationObjectGroup:()=>zw,AnimationUtils:()=>Qn,ArcCurve:()=>i_,ArrayCamera:()=>qg,ArrowHelper:()=>zP,Audio:()=>F_,AudioAnalyser:()=>Bw,AudioContext:()=>rO,AudioListener:()=>SP,AudioLoader:()=>Nw,AxesHelper:()=>Xw,AxisHelper:()=>Ble,BackSide:()=>yi,BasicDepthPacking:()=>fH,BasicShadowMap:()=>ine,BinaryTextureLoader:()=>Gle,Bone:()=>Up,BooleanKeyframeTrack:()=>ol,BoundingBoxHelper:()=>Vle,Box2:()=>mc,Box3:()=>Hr,Box3Helper:()=>BP,BoxBufferGeometry:()=>lc,BoxGeometry:()=>lc,BoxHelper:()=>Yw,BufferAttribute:()=>un,BufferGeometry:()=>It,BufferGeometryLoader:()=>Rw,ByteType:()=>_4,Cache:()=>du,Camera:()=>Jd,CameraHelper:()=>FP,CanvasRenderer:()=>Wle,CanvasTexture:()=>vw,CatmullRomCurve3:()=>r_,CineonToneMapping:()=>f4,CircleBufferGeometry:()=>Jg,CircleGeometry:()=>Jg,ClampToEdgeWrapping:()=>ir,Clock:()=>Fw,Color:()=>je,ColorKeyframeTrack:()=>E_,CompressedTexture:()=>Kg,CompressedTextureLoader:()=>xP,ConeBufferGeometry:()=>e_,ConeGeometry:()=>e_,CubeCamera:()=>Op,CubeReflectionMapping:()=>pu,CubeRefractionMapping:()=>fu,CubeTexture:()=>cc,CubeTextureLoader:()=>Mw,CubeUVReflectionMapping:()=>Qp,CubeUVRefractionMapping:()=>V_,CubicBezierCurve:()=>Hp,CubicBezierCurve3:()=>o_,CubicInterpolant:()=>ww,CullFaceBack:()=>QD,CullFaceFront:()=>GU,CullFaceFrontBack:()=>nne,CullFaceNone:()=>HU,Curve:()=>jr,CurvePath:()=>xw,CustomBlending:()=>WU,CustomToneMapping:()=>g4,CylinderBufferGeometry:()=>iu,CylinderGeometry:()=>iu,Cylindrical:()=>OP,DataTexture:()=>Qa,DataTexture2DArray:()=>Np,DataTexture3D:()=>$g,DataTextureLoader:()=>Ew,DataUtils:()=>HP,DecrementStencilOp:()=>fne,DecrementWrapStencilOp:()=>gne,DefaultLoadingManager:()=>BH,DepthFormat:()=>Yd,DepthStencilFormat:()=>Mp,DepthTexture:()=>bw,DirectionalLight:()=>R_,DirectionalLightHelper:()=>LP,DiscreteInterpolant:()=>Cw,DodecahedronBufferGeometry:()=>t_,DodecahedronGeometry:()=>t_,DoubleSide:()=>Qd,DstAlphaFactor:()=>KU,DstColorFactor:()=>e4,DynamicBufferAttribute:()=>Tle,DynamicCopyUsage:()=>Pne,DynamicDrawUsage:()=>Ip,DynamicReadUsage:()=>Ine,EdgesGeometry:()=>n_,EdgesHelper:()=>zle,EllipseCurve:()=>ru,EqualDepth:()=>s4,EqualStencilFunc:()=>yne,EquirectangularReflectionMapping:()=>kg,EquirectangularRefractionMapping:()=>Lg,Euler:()=>Kd,EventDispatcher:()=>ra,ExtrudeBufferGeometry:()=>rl,ExtrudeGeometry:()=>rl,FaceColors:()=>_le,FileLoader:()=>Yo,FlatShading:()=>WP,Float16BufferAttribute:()=>uw,Float32Attribute:()=>Lle,Float32BufferAttribute:()=>tt,Float64Attribute:()=>Fle,Float64BufferAttribute:()=>hw,FloatType:()=>na,Fog:()=>Xg,FogExp2:()=>Yg,Font:()=>Kle,FontLoader:()=>Qle,FrontSide:()=>Zd,Frustum:()=>eu,GLBufferAttribute:()=>jw,GLSL1:()=>Rne,GLSL3:()=>pP,GammaEncoding:()=>Kw,GreaterDepth:()=>l4,GreaterEqualDepth:()=>a4,GreaterEqualStencilFunc:()=>Sne,GreaterStencilFunc:()=>wne,GridHelper:()=>qw,Group:()=>Xa,HalfFloatType:()=>$d,HemisphereLight:()=>T_,HemisphereLightHelper:()=>NP,HemisphereLightProbe:()=>kw,IcosahedronBufferGeometry:()=>c_,IcosahedronGeometry:()=>c_,ImageBitmapLoader:()=>Aw,ImageLoader:()=>uu,ImageUtils:()=>Ja,ImmediateRenderObject:()=>Jle,IncrementStencilOp:()=>pne,IncrementWrapStencilOp:()=>mne,InstancedBufferAttribute:()=>tl,InstancedBufferGeometry:()=>L_,InstancedInterleavedBuffer:()=>Gw,InstancedMesh:()=>Zg,Int16Attribute:()=>Rle,Int16BufferAttribute:()=>cw,Int32Attribute:()=>Nle,Int32BufferAttribute:()=>dw,Int8Attribute:()=>Dle,Int8BufferAttribute:()=>sw,IntType:()=>b4,InterleavedBuffer:()=>el,InterleavedBufferAttribute:()=>hc,Interpolant:()=>Ss,InterpolateDiscrete:()=>zg,InterpolateLinear:()=>Ug,InterpolateSmooth:()=>ew,InvertStencilOp:()=>_ne,JSONLoader:()=>$le,KeepStencilOp:()=>tw,KeyframeTrack:()=>wo,LOD:()=>mw,LatheBufferGeometry:()=>d_,LatheGeometry:()=>d_,Layers:()=>Wg,LensFlare:()=>Yle,LessDepth:()=>o4,LessEqualDepth:()=>nw,LessEqualStencilFunc:()=>xne,LessStencilFunc:()=>bne,Light:()=>Co,LightProbe:()=>hu,Line:()=>Cs,Line3:()=>Ww,LineBasicMaterial:()=>Di,LineCurve:()=>ou,LineCurve3:()=>yw,LineDashedMaterial:()=>S_,LineLoop:()=>Qg,LinePieces:()=>mle,LineSegments:()=>xr,LineStrip:()=>fle,LinearEncoding:()=>sr,LinearFilter:()=>Fi,LinearInterpolant:()=>M_,LinearMipMapLinearFilter:()=>lne,LinearMipMapNearestFilter:()=>ane,LinearMipmapLinearFilter:()=>mu,LinearMipmapNearestFilter:()=>YP,LinearToneMapping:()=>h4,Loader:()=>ar,LoaderUtils:()=>Zp,LoadingManager:()=>I_,LogLuvEncoding:()=>pH,LoopOnce:()=>cH,LoopPingPong:()=>uH,LoopRepeat:()=>dH,LuminanceAlphaFormat:()=>M4,LuminanceFormat:()=>S4,MOUSE:()=>ene,Material:()=>Ti,MaterialLoader:()=>Ow,Math:()=>qne,MathUtils:()=>qne,Matrix3:()=>xi,Matrix4:()=>ct,MaxEquation:()=>nP,Mesh:()=>ui,MeshBasicMaterial:()=>xs,MeshDepthMaterial:()=>kp,MeshDistanceMaterial:()=>Lp,MeshFaceMaterial:()=>ble,MeshLambertMaterial:()=>w_,MeshMatcapMaterial:()=>C_,MeshNormalMaterial:()=>x_,MeshPhongMaterial:()=>b_,MeshPhysicalMaterial:()=>v_,MeshStandardMaterial:()=>Xp,MeshToonMaterial:()=>y_,MinEquation:()=>tP,MirroredRepeatWrapping:()=>Bg,MixOperation:()=>d4,MultiMaterial:()=>yle,MultiplyBlending:()=>eP,MultiplyOperation:()=>B_,NearestFilter:()=>Ii,NearestMipMapLinearFilter:()=>sne,NearestMipMapNearestFilter:()=>one,NearestMipmapLinearFilter:()=>rw,NearestMipmapNearestFilter:()=>iw,NeverDepth:()=>i4,NeverStencilFunc:()=>vne,NoBlending:()=>Za,NoColors:()=>gle,NoToneMapping:()=>oc,NormalAnimationBlendMode:()=>Qw,NormalBlending:()=>wp,NotEqualDepth:()=>c4,NotEqualStencilFunc:()=>Cne,NumberKeyframeTrack:()=>au,Object3D:()=>hn,ObjectLoader:()=>wP,ObjectSpaceNormalMap:()=>gH,OctahedronBufferGeometry:()=>$p,OctahedronGeometry:()=>$p,OneFactor:()=>XU,OneMinusDstAlphaFactor:()=>JU,OneMinusDstColorFactor:()=>t4,OneMinusSrcAlphaFactor:()=>qP,OneMinusSrcColorFactor:()=>QU,OrthographicCamera:()=>tu,PCFShadowMap:()=>jP,PCFSoftShadowMap:()=>jU,PMREMGenerator:()=>pw,ParametricGeometry:()=>Xle,Particle:()=>wle,ParticleBasicMaterial:()=>Mle,ParticleSystem:()=>Cle,ParticleSystemMaterial:()=>Ele,Path:()=>su,PerspectiveCamera:()=>Ei,Plane:()=>$o,PlaneBufferGeometry:()=>Ap,PlaneGeometry:()=>Ap,PlaneHelper:()=>VP,PointCloud:()=>xle,PointCloudMaterial:()=>Sle,PointLight:()=>O_,PointLightHelper:()=>AP,Points:()=>nu,PointsMaterial:()=>nl,PolarGridHelper:()=>kP,PolyhedronBufferGeometry:()=>il,PolyhedronGeometry:()=>il,PositionalAudio:()=>MP,PropertyBinding:()=>jn,PropertyMixer:()=>Vw,QuadraticBezierCurve:()=>Gp,QuadraticBezierCurve3:()=>jp,Quaternion:()=>Bi,QuaternionKeyframeTrack:()=>fc,QuaternionLinearInterpolant:()=>Sw,REVISION:()=>GP,RGBADepthPacking:()=>mH,RGBAFormat:()=>rr,RGBAIntegerFormat:()=>R4,RGBA_ASTC_10x10_Format:()=>W4,RGBA_ASTC_10x5_Format:()=>H4,RGBA_ASTC_10x6_Format:()=>G4,RGBA_ASTC_10x8_Format:()=>j4,RGBA_ASTC_12x10_Format:()=>$4,RGBA_ASTC_12x12_Format:()=>q4,RGBA_ASTC_4x4_Format:()=>N4,RGBA_ASTC_5x4_Format:()=>k4,RGBA_ASTC_5x5_Format:()=>L4,RGBA_ASTC_6x5_Format:()=>F4,RGBA_ASTC_6x6_Format:()=>B4,RGBA_ASTC_8x5_Format:()=>V4,RGBA_ASTC_8x6_Format:()=>z4,RGBA_ASTC_8x8_Format:()=>U4,RGBA_BPTC_Format:()=>Y4,RGBA_ETC2_EAC_Format:()=>hP,RGBA_PVRTC_2BPPV1_Format:()=>dP,RGBA_PVRTC_4BPPV1_Format:()=>cP,RGBA_S3TC_DXT1_Format:()=>rP,RGBA_S3TC_DXT3_Format:()=>oP,RGBA_S3TC_DXT5_Format:()=>sP,RGBDEncoding:()=>KP,RGBEEncoding:()=>Jw,RGBEFormat:()=>E4,RGBFormat:()=>qd,RGBIntegerFormat:()=>O4,RGBM16Encoding:()=>QP,RGBM7Encoding:()=>ZP,RGB_ETC1_Format:()=>A4,RGB_ETC2_Format:()=>uP,RGB_PVRTC_2BPPV1_Format:()=>lP,RGB_PVRTC_4BPPV1_Format:()=>aP,RGB_S3TC_DXT1_Format:()=>iP,RGFormat:()=>D4,RGIntegerFormat:()=>P4,RawShaderMaterial:()=>dc,Ray:()=>sa,Raycaster:()=>TP,RectAreaLight:()=>N_,RedFormat:()=>I4,RedIntegerFormat:()=>T4,ReinhardToneMapping:()=>p4,RepeatWrapping:()=>Fg,ReplaceStencilOp:()=>hne,ReverseSubtractEquation:()=>qU,RingBufferGeometry:()=>u_,RingGeometry:()=>u_,SRGB8_ALPHA8_ASTC_10x10_Format:()=>sH,SRGB8_ALPHA8_ASTC_10x5_Format:()=>iH,SRGB8_ALPHA8_ASTC_10x6_Format:()=>rH,SRGB8_ALPHA8_ASTC_10x8_Format:()=>oH,SRGB8_ALPHA8_ASTC_12x10_Format:()=>aH,SRGB8_ALPHA8_ASTC_12x12_Format:()=>lH,SRGB8_ALPHA8_ASTC_4x4_Format:()=>X4,SRGB8_ALPHA8_ASTC_5x4_Format:()=>Z4,SRGB8_ALPHA8_ASTC_5x5_Format:()=>Q4,SRGB8_ALPHA8_ASTC_6x5_Format:()=>K4,SRGB8_ALPHA8_ASTC_6x6_Format:()=>J4,SRGB8_ALPHA8_ASTC_8x5_Format:()=>eH,SRGB8_ALPHA8_ASTC_8x6_Format:()=>tH,SRGB8_ALPHA8_ASTC_8x8_Format:()=>nH,Scene:()=>Fp,SceneUtils:()=>qle,ShaderChunk:()=>rn,ShaderLib:()=>ys,ShaderMaterial:()=>ws,ShadowMaterial:()=>__,Shape:()=>qo,ShapeBufferGeometry:()=>qp,ShapeGeometry:()=>qp,ShapePath:()=>UP,ShapeUtils:()=>ia,ShortType:()=>v4,Skeleton:()=>gw,SkeletonHelper:()=>$w,SkinnedMesh:()=>zp,SmoothShading:()=>rne,Sphere:()=>oa,SphereBufferGeometry:()=>Yp,SphereGeometry:()=>Yp,Spherical:()=>PP,SphericalHarmonics3:()=>k_,SplineCurve:()=>Wp,SpotLight:()=>P_,SpotLightHelper:()=>RP,Sprite:()=>Vp,SpriteMaterial:()=>Bp,SrcAlphaFactor:()=>$P,SrcAlphaSaturateFactor:()=>n4,SrcColorFactor:()=>ZU,StaticCopyUsage:()=>Dne,StaticDrawUsage:()=>Ep,StaticReadUsage:()=>Ene,StereoCamera:()=>CP,StreamCopyUsage:()=>One,StreamDrawUsage:()=>Mne,StreamReadUsage:()=>Tne,StringKeyframeTrack:()=>sl,SubtractEquation:()=>$U,SubtractiveBlending:()=>JD,TOUCH:()=>tne,TangentSpaceNormalMap:()=>gu,TetrahedronBufferGeometry:()=>h_,TetrahedronGeometry:()=>h_,TextGeometry:()=>Zle,Texture:()=>Gi,TextureLoader:()=>Iw,TorusBufferGeometry:()=>p_,TorusGeometry:()=>p_,TorusKnotBufferGeometry:()=>f_,TorusKnotGeometry:()=>f_,Triangle:()=>or,TriangleFanDrawMode:()=>dne,TriangleStripDrawMode:()=>cne,TrianglesDrawMode:()=>hH,TubeBufferGeometry:()=>m_,TubeGeometry:()=>m_,UVMapping:()=>Zw,Uint16Attribute:()=>Ale,Uint16BufferAttribute:()=>Tp,Uint32Attribute:()=>kle,Uint32BufferAttribute:()=>Dp,Uint8Attribute:()=>Ple,Uint8BufferAttribute:()=>aw,Uint8ClampedAttribute:()=>Ole,Uint8ClampedBufferAttribute:()=>lw,Uniform:()=>Hw,UniformsLib:()=>Ue,UniformsUtils:()=>xH,UnsignedByteType:()=>Ka,UnsignedInt248Type:()=>Cp,UnsignedIntType:()=>Pg,UnsignedShort4444Type:()=>y4,UnsignedShort5551Type:()=>x4,UnsignedShort565Type:()=>w4,UnsignedShortType:()=>Vg,VSMShadowMap:()=>bp,Vector2:()=>xe,Vector3:()=>R,Vector4:()=>Cn,VectorKeyframeTrack:()=>lu,Vertex:()=>Ile,VertexColors:()=>vle,VideoTexture:()=>_w,WebGL1Renderer:()=>fw,WebGLCubeRenderTarget:()=>Rp,WebGLMultipleRenderTargets:()=>ow,WebGLMultisampleRenderTarget:()=>jg,WebGLRenderTarget:()=>xo,WebGLRenderTargetCube:()=>jle,WebGLRenderer:()=>An,WebGLUtils:()=>AH,WireframeGeometry:()=>g_,WireframeHelper:()=>Ule,WrapAroundEnding:()=>Hg,XHRLoader:()=>Hle,ZeroCurvatureEnding:()=>jd,ZeroFactor:()=>YU,ZeroSlopeEnding:()=>Wd,ZeroStencilOp:()=>une,sRGBEncoding:()=>gc});var GP="134",ene={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},tne={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},HU=0,QD=1,GU=2,nne=3,ine=0,jP=1,jU=2,bp=3,Zd=0,yi=1,Qd=2,WP=1,rne=2,Za=0,wp=1,KD=2,JD=3,eP=4,WU=5,Gd=100,$U=101,qU=102,tP=103,nP=104,YU=200,XU=201,ZU=202,QU=203,$P=204,qP=205,KU=206,JU=207,e4=208,t4=209,n4=210,i4=0,r4=1,o4=2,nw=3,s4=4,a4=5,l4=6,c4=7,B_=0,d4=1,u4=2,oc=0,h4=1,p4=2,f4=3,m4=4,g4=5,Zw=300,pu=301,fu=302,kg=303,Lg=304,Qp=306,V_=307,Fg=1e3,ir=1001,Bg=1002,Ii=1003,iw=1004,one=1004,rw=1005,sne=1005,Fi=1006,YP=1007,ane=1007,mu=1008,lne=1008,Ka=1009,_4=1010,v4=1011,Vg=1012,b4=1013,Pg=1014,na=1015,$d=1016,y4=1017,x4=1018,w4=1019,Cp=1020,C4=1021,qd=1022,rr=1023,S4=1024,M4=1025,E4=rr,Yd=1026,Mp=1027,I4=1028,T4=1029,D4=1030,P4=1031,O4=1032,R4=1033,iP=33776,rP=33777,oP=33778,sP=33779,aP=35840,lP=35841,cP=35842,dP=35843,A4=36196,uP=37492,hP=37496,N4=37808,k4=37809,L4=37810,F4=37811,B4=37812,V4=37813,z4=37814,U4=37815,H4=37816,G4=37817,j4=37818,W4=37819,$4=37820,q4=37821,Y4=36492,X4=37840,Z4=37841,Q4=37842,K4=37843,J4=37844,eH=37845,tH=37846,nH=37847,iH=37848,rH=37849,oH=37850,sH=37851,aH=37852,lH=37853,cH=2200,dH=2201,uH=2202,zg=2300,Ug=2301,ew=2302,jd=2400,Wd=2401,Hg=2402,Qw=2500,XP=2501,hH=0,cne=1,dne=2,sr=3e3,gc=3001,Kw=3007,Jw=3002,pH=3003,ZP=3004,QP=3005,KP=3006,fH=3200,mH=3201,gu=0,gH=1,une=0,tw=7680,hne=7681,pne=7682,fne=7683,mne=34055,gne=34056,_ne=5386,vne=512,bne=513,yne=514,xne=515,wne=516,Cne=517,Sne=518,_H=519,Ep=35044,Ip=35048,Mne=35040,Ene=35045,Ine=35049,Tne=35041,Dne=35046,Pne=35050,One=35042,Rne="100",pP="300 es",ra=class{addEventListener(e,t){this._listeners===void 0&&(this._listeners={});let n=this._listeners;n[e]===void 0&&(n[e]=[]),n[e].indexOf(t)===-1&&n[e].push(t)}hasEventListener(e,t){if(this._listeners===void 0)return!1;let n=this._listeners;return n[e]!==void 0&&n[e].indexOf(t)!==-1}removeEventListener(e,t){if(this._listeners===void 0)return;let r=this._listeners[e];if(r!==void 0){let o=r.indexOf(t);o!==-1&&r.splice(o,1)}}dispatchEvent(e){if(this._listeners===void 0)return;let n=this._listeners[e.type];if(n!==void 0){e.target=this;let r=n.slice(0);for(let o=0,s=r.length;o>8&255]+tr[i>>16&255]+tr[i>>24&255]+"-"+tr[e&255]+tr[e>>8&255]+"-"+tr[e>>16&15|64]+tr[e>>24&255]+"-"+tr[t&63|128]+tr[t>>8&255]+"-"+tr[t>>16&255]+tr[t>>24&255]+tr[n&255]+tr[n>>8&255]+tr[n>>16&255]+tr[n>>24&255]).toUpperCase()}function nr(i,e,t){return Math.max(e,Math.min(t,i))}function JP(i,e){return(i%e+e)%e}function Nne(i,e,t,n,r){return n+(i-e)*(r-n)/(t-e)}function kne(i,e,t){return i!==e?(t-i)/(e-i):0}function Og(i,e,t){return(1-t)*i+t*e}function Lne(i,e,t,n){return Og(i,e,1-Math.exp(-t*n))}function Fne(i,e=1){return e-Math.abs(JP(i,e*2)-e)}function Bne(i,e,t){return i<=e?0:i>=t?1:(i=(i-e)/(t-e),i*i*(3-2*i))}function Vne(i,e,t){return i<=e?0:i>=t?1:(i=(i-e)/(t-e),i*i*i*(i*(i*6-15)+10))}function zne(i,e){return i+Math.floor(Math.random()*(e-i+1))}function Une(i,e){return i+Math.random()*(e-i)}function Hne(i){return i*(.5-Math.random())}function Gne(i){return i!==void 0&&(px=i%2147483647),px=px*16807%2147483647,(px-1)/2147483646}function jne(i){return i*Xd}function Wne(i){return i*Gg}function fP(i){return(i&i-1)===0&&i!==0}function vH(i){return Math.pow(2,Math.ceil(Math.log(i)/Math.LN2))}function bH(i){return Math.pow(2,Math.floor(Math.log(i)/Math.LN2))}function $ne(i,e,t,n,r){let o=Math.cos,s=Math.sin,a=o(t/2),l=s(t/2),c=o((e+n)/2),d=s((e+n)/2),u=o((e-n)/2),h=s((e-n)/2),p=o((n-e)/2),f=s((n-e)/2);switch(r){case"XYX":i.set(a*d,l*u,l*h,a*c);break;case"YZY":i.set(l*h,a*d,l*u,a*c);break;case"ZXZ":i.set(l*u,l*h,a*d,a*c);break;case"XZX":i.set(a*d,l*f,l*p,a*c);break;case"YXY":i.set(l*p,a*d,l*f,a*c);break;case"ZYZ":i.set(l*f,l*p,a*d,a*c);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+r)}}var qne=Object.freeze({__proto__:null,DEG2RAD:Xd,RAD2DEG:Gg,generateUUID:yo,clamp:nr,euclideanModulo:JP,mapLinear:Nne,inverseLerp:kne,lerp:Og,damp:Lne,pingpong:Fne,smoothstep:Bne,smootherstep:Vne,randInt:zne,randFloat:Une,randFloatSpread:Hne,seededRandom:Gne,degToRad:jne,radToDeg:Wne,isPowerOfTwo:fP,ceilPowerOfTwo:vH,floorPowerOfTwo:bH,setQuaternionFromProperEuler:$ne}),xe=class{constructor(e=0,t=0){this.x=e,this.y=t}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,t){return this.x=e,this.y=t,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e,t){return t!==void 0?(console.warn("THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(e,t)):(this.x+=e.x,this.y+=e.y,this)}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this}sub(e,t){return t!==void 0?(console.warn("THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(e,t)):(this.x-=e.x,this.y-=e.y,this)}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){let t=this.x,n=this.y,r=e.elements;return this.x=r[0]*t+r[3]*n+r[6],this.y=r[1]*t+r[4]*n+r[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this}clampLength(e,t){let n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){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(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){let t=this.x-e.x,n=this.y-e.y;return t*t+n*n}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e}fromBufferAttribute(e,t,n){return n!==void 0&&console.warn("THREE.Vector2: offset has been removed from .fromBufferAttribute()."),this.x=e.getX(t),this.y=e.getY(t),this}rotateAround(e,t){let n=Math.cos(t),r=Math.sin(t),o=this.x-e.x,s=this.y-e.y;return this.x=o*n-s*r+e.x,this.y=o*r+s*n+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}};xe.prototype.isVector2=!0;var xi=class{constructor(){this.elements=[1,0,0,0,1,0,0,0,1],arguments.length>0&&console.error("THREE.Matrix3: the constructor no longer reads arguments. use .set() instead.")}set(e,t,n,r,o,s,a,l,c){let d=this.elements;return d[0]=e,d[1]=r,d[2]=a,d[3]=t,d[4]=o,d[5]=l,d[6]=n,d[7]=s,d[8]=c,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){let t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],this}extractBasis(e,t,n){return e.setFromMatrix3Column(this,0),t.setFromMatrix3Column(this,1),n.setFromMatrix3Column(this,2),this}setFromMatrix4(e){let t=e.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){let n=e.elements,r=t.elements,o=this.elements,s=n[0],a=n[3],l=n[6],c=n[1],d=n[4],u=n[7],h=n[2],p=n[5],f=n[8],m=r[0],y=r[3],g=r[6],_=r[1],x=r[4],C=r[7],T=r[2],D=r[5],E=r[8];return o[0]=s*m+a*_+l*T,o[3]=s*y+a*x+l*D,o[6]=s*g+a*C+l*E,o[1]=c*m+d*_+u*T,o[4]=c*y+d*x+u*D,o[7]=c*g+d*C+u*E,o[2]=h*m+p*_+f*T,o[5]=h*y+p*x+f*D,o[8]=h*g+p*C+f*E,this}multiplyScalar(e){let t=this.elements;return t[0]*=e,t[3]*=e,t[6]*=e,t[1]*=e,t[4]*=e,t[7]*=e,t[2]*=e,t[5]*=e,t[8]*=e,this}determinant(){let e=this.elements,t=e[0],n=e[1],r=e[2],o=e[3],s=e[4],a=e[5],l=e[6],c=e[7],d=e[8];return t*s*d-t*a*c-n*o*d+n*a*l+r*o*c-r*s*l}invert(){let e=this.elements,t=e[0],n=e[1],r=e[2],o=e[3],s=e[4],a=e[5],l=e[6],c=e[7],d=e[8],u=d*s-a*c,h=a*l-d*o,p=c*o-s*l,f=t*u+n*h+r*p;if(f===0)return this.set(0,0,0,0,0,0,0,0,0);let m=1/f;return e[0]=u*m,e[1]=(r*c-d*n)*m,e[2]=(a*n-r*s)*m,e[3]=h*m,e[4]=(d*t-r*l)*m,e[5]=(r*o-a*t)*m,e[6]=p*m,e[7]=(n*l-c*t)*m,e[8]=(s*t-n*o)*m,this}transpose(){let e,t=this.elements;return e=t[1],t[1]=t[3],t[3]=e,e=t[2],t[2]=t[6],t[6]=e,e=t[5],t[5]=t[7],t[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){let t=this.elements;return e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8],this}setUvTransform(e,t,n,r,o,s,a){let l=Math.cos(o),c=Math.sin(o);return this.set(n*l,n*c,-n*(l*s+c*a)+s+e,-r*c,r*l,-r*(-c*s+l*a)+a+t,0,0,1),this}scale(e,t){let n=this.elements;return n[0]*=e,n[3]*=e,n[6]*=e,n[1]*=t,n[4]*=t,n[7]*=t,this}rotate(e){let t=Math.cos(e),n=Math.sin(e),r=this.elements,o=r[0],s=r[3],a=r[6],l=r[1],c=r[4],d=r[7];return r[0]=t*o+n*l,r[3]=t*s+n*c,r[6]=t*a+n*d,r[1]=-n*o+t*l,r[4]=-n*s+t*c,r[7]=-n*a+t*d,this}translate(e,t){let n=this.elements;return n[0]+=e*n[2],n[3]+=e*n[5],n[6]+=e*n[8],n[1]+=t*n[2],n[4]+=t*n[5],n[7]+=t*n[8],this}equals(e){let t=this.elements,n=e.elements;for(let r=0;r<9;r++)if(t[r]!==n[r])return!1;return!0}fromArray(e,t=0){for(let n=0;n<9;n++)this.elements[n]=e[n+t];return this}toArray(e=[],t=0){let n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e}clone(){return new this.constructor().fromArray(this.elements)}};xi.prototype.isMatrix3=!0;function yH(i){if(i.length===0)return-1/0;let e=i[0];for(let t=1,n=i.length;te&&(e=i[t]);return e}var Yne={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function yp(i,e){return new Yne[i](e)}function eC(i){return document.createElementNS("http://www.w3.org/1999/xhtml",i)}function vz(i,e=0){let t=3735928559^e,n=1103547991^e;for(let r=0,o;r>>16,2246822507)^Math.imul(n^n>>>13,3266489909),n=Math.imul(n^n>>>16,2246822507)^Math.imul(t^t>>>13,3266489909),4294967296*(2097151&n)+(t>>>0)}var ep,Ja=class{static getDataURL(e){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement>"u")return e.src;let t;if(e instanceof HTMLCanvasElement)t=e;else{ep===void 0&&(ep=eC("canvas")),ep.width=e.width,ep.height=e.height;let n=ep.getContext("2d");e instanceof ImageData?n.putImageData(e,0,0):n.drawImage(e,0,0,e.width,e.height),t=ep}return t.width>2048||t.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",e),t.toDataURL("image/jpeg",.6)):t.toDataURL("image/png")}},Xne=0,Gi=class i extends ra{constructor(e=i.DEFAULT_IMAGE,t=i.DEFAULT_MAPPING,n=ir,r=ir,o=Fi,s=mu,a=rr,l=Ka,c=1,d=sr){super(),Object.defineProperty(this,"id",{value:Xne++}),this.uuid=yo(),this.name="",this.image=e,this.mipmaps=[],this.mapping=t,this.wrapS=n,this.wrapT=r,this.magFilter=o,this.minFilter=s,this.anisotropy=c,this.format=a,this.internalFormat=null,this.type=l,this.offset=new xe(0,0),this.repeat=new xe(1,1),this.center=new xe(0,0),this.rotation=0,this.matrixAutoUpdate=!0,this.matrix=new xi,this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,this.encoding=d,this.userData={},this.version=0,this.onUpdate=null,this.isRenderTargetTexture=!1}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)}clone(){return new this.constructor().copy(this)}copy(e){return this.name=e.name,this.image=e.image,this.mipmaps=e.mipmaps.slice(0),this.mapping=e.mapping,this.wrapS=e.wrapS,this.wrapT=e.wrapT,this.magFilter=e.magFilter,this.minFilter=e.minFilter,this.anisotropy=e.anisotropy,this.format=e.format,this.internalFormat=e.internalFormat,this.type=e.type,this.offset.copy(e.offset),this.repeat.copy(e.repeat),this.center.copy(e.center),this.rotation=e.rotation,this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrix.copy(e.matrix),this.generateMipmaps=e.generateMipmaps,this.premultiplyAlpha=e.premultiplyAlpha,this.flipY=e.flipY,this.unpackAlignment=e.unpackAlignment,this.encoding=e.encoding,this.userData=JSON.parse(JSON.stringify(e.userData)),this}toJSON(e){let t=e===void 0||typeof e=="string";if(!t&&e.textures[this.uuid]!==void 0)return e.textures[this.uuid];let 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(this.image!==void 0){let r=this.image;if(r.uuid===void 0&&(r.uuid=yo()),!t&&e.images[r.uuid]===void 0){let o;if(Array.isArray(r)){o=[];for(let s=0,a=r.length;s1)switch(this.wrapS){case Fg:e.x=e.x-Math.floor(e.x);break;case ir:e.x=e.x<0?0:1;break;case Bg:Math.abs(Math.floor(e.x)%2)===1?e.x=Math.ceil(e.x)-e.x:e.x=e.x-Math.floor(e.x);break}if(e.y<0||e.y>1)switch(this.wrapT){case Fg:e.y=e.y-Math.floor(e.y);break;case ir:e.y=e.y<0?0:1;break;case Bg:Math.abs(Math.floor(e.y)%2)===1?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y);break}return this.flipY&&(e.y=1-e.y),e}set needsUpdate(e){e===!0&&this.version++}};Gi.DEFAULT_IMAGE=void 0;Gi.DEFAULT_MAPPING=Zw;Gi.prototype.isTexture=!0;function gD(i){return typeof HTMLImageElement<"u"&&i instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&i instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&i instanceof ImageBitmap?Ja.getDataURL(i):i.data?{data:Array.prototype.slice.call(i.data),width:i.width,height:i.height,type:i.data.constructor.name}:(console.warn("THREE.Texture: Unable to serialize Texture."),{})}var Cn=class{constructor(e=0,t=0,n=0,r=1){this.x=e,this.y=t,this.z=n,this.w=r}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,t,n,r){return this.x=e,this.y=t,this.z=n,this.w=r,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this.w=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setW(e){return this.w=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w!==void 0?e.w:1,this}add(e,t){return t!==void 0?(console.warn("THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(e,t)):(this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this)}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this.w=e.w+t.w,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this.w+=e.w*t,this}sub(e,t){return t!==void 0?(console.warn("THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(e,t)):(this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this)}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this.w=e.w-t.w,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this.w*=e.w,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this}applyMatrix4(e){let t=this.x,n=this.y,r=this.z,o=this.w,s=e.elements;return this.x=s[0]*t+s[4]*n+s[8]*r+s[12]*o,this.y=s[1]*t+s[5]*n+s[9]*r+s[13]*o,this.z=s[2]*t+s[6]*n+s[10]*r+s[14]*o,this.w=s[3]*t+s[7]*n+s[11]*r+s[15]*o,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);let t=Math.sqrt(1-e.w*e.w);return t<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/t,this.y=e.y/t,this.z=e.z/t),this}setAxisAngleFromRotationMatrix(e){let t,n,r,o,l=e.elements,c=l[0],d=l[4],u=l[8],h=l[1],p=l[5],f=l[9],m=l[2],y=l[6],g=l[10];if(Math.abs(d-h)<.01&&Math.abs(u-m)<.01&&Math.abs(f-y)<.01){if(Math.abs(d+h)<.1&&Math.abs(u+m)<.1&&Math.abs(f+y)<.1&&Math.abs(c+p+g-3)<.1)return this.set(1,0,0,0),this;t=Math.PI;let x=(c+1)/2,C=(p+1)/2,T=(g+1)/2,D=(d+h)/4,E=(u+m)/4,P=(f+y)/4;return x>C&&x>T?x<.01?(n=0,r=.707106781,o=.707106781):(n=Math.sqrt(x),r=D/n,o=E/n):C>T?C<.01?(n=.707106781,r=0,o=.707106781):(r=Math.sqrt(C),n=D/r,o=P/r):T<.01?(n=.707106781,r=.707106781,o=0):(o=Math.sqrt(T),n=E/o,r=P/o),this.set(n,r,o,t),this}let _=Math.sqrt((y-f)*(y-f)+(u-m)*(u-m)+(h-d)*(h-d));return Math.abs(_)<.001&&(_=1),this.x=(y-f)/_,this.y=(u-m)/_,this.z=(h-d)/_,this.w=Math.acos((c+p+g-1)/2),this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this.w=Math.min(this.w,e.w),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this.w=Math.max(this.w,e.w),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this.w=Math.max(e.w,Math.min(t.w,this.w)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this.z=Math.max(e,Math.min(t,this.z)),this.w=Math.max(e,Math.min(t,this.w)),this}clampLength(e,t){let n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))}floor(){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(){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(){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(){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(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z+this.w*e.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this.w+=(e.w-this.w)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this.z=e.z+(t.z-e.z)*n,this.w=e.w+(t.w-e.w)*n,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this.w=e[t+3],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e[t+3]=this.w,e}fromBufferAttribute(e,t,n){return n!==void 0&&console.warn("THREE.Vector4: offset has been removed from .fromBufferAttribute()."),this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this.w=e.getW(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z,yield this.w}};Cn.prototype.isVector4=!0;var xo=class extends ra{constructor(e,t,n={}){super(),this.width=e,this.height=t,this.depth=1,this.scissor=new Cn(0,0,e,t),this.scissorTest=!1,this.viewport=new Cn(0,0,e,t),this.texture=new Gi(void 0,n.mapping,n.wrapS,n.wrapT,n.magFilter,n.minFilter,n.format,n.type,n.anisotropy,n.encoding),this.texture.isRenderTargetTexture=!0,this.texture.image={width:e,height:t,depth:1},this.texture.generateMipmaps=n.generateMipmaps!==void 0?n.generateMipmaps:!1,this.texture.internalFormat=n.internalFormat!==void 0?n.internalFormat:null,this.texture.minFilter=n.minFilter!==void 0?n.minFilter:Fi,this.depthBuffer=n.depthBuffer!==void 0?n.depthBuffer:!0,this.stencilBuffer=n.stencilBuffer!==void 0?n.stencilBuffer:!1,this.depthTexture=n.depthTexture!==void 0?n.depthTexture:null}setTexture(e){e.image={width:this.width,height:this.height,depth:this.depth},this.texture=e}setSize(e,t,n=1){(this.width!==e||this.height!==t||this.depth!==n)&&(this.width=e,this.height=t,this.depth=n,this.texture.image.width=e,this.texture.image.height=t,this.texture.image.depth=n,this.dispose()),this.viewport.set(0,0,e,t),this.scissor.set(0,0,e,t)}clone(){return new this.constructor().copy(this)}copy(e){return this.width=e.width,this.height=e.height,this.depth=e.depth,this.viewport.copy(e.viewport),this.texture=e.texture.clone(),this.texture.image=Z({},this.texture.image),this.depthBuffer=e.depthBuffer,this.stencilBuffer=e.stencilBuffer,this.depthTexture=e.depthTexture,this}dispose(){this.dispatchEvent({type:"dispose"})}};xo.prototype.isWebGLRenderTarget=!0;var ow=class extends xo{constructor(e,t,n){super(e,t);let r=this.texture;this.texture=[];for(let o=0;o=0?1:-1,x=1-g*g;if(x>Number.EPSILON){let T=Math.sqrt(x),D=Math.atan2(T,g*_);y=Math.sin(y*D)/T,a=Math.sin(a*D)/T}let C=a*_;if(l=l*y+h*C,c=c*y+p*C,d=d*y+f*C,u=u*y+m*C,y===1-a){let T=1/Math.sqrt(l*l+c*c+d*d+u*u);l*=T,c*=T,d*=T,u*=T}}e[t]=l,e[t+1]=c,e[t+2]=d,e[t+3]=u}static multiplyQuaternionsFlat(e,t,n,r,o,s){let a=n[r],l=n[r+1],c=n[r+2],d=n[r+3],u=o[s],h=o[s+1],p=o[s+2],f=o[s+3];return e[t]=a*f+d*u+l*p-c*h,e[t+1]=l*f+d*h+c*u-a*p,e[t+2]=c*f+d*p+a*h-l*u,e[t+3]=d*f-a*u-l*h-c*p,e}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e,this._onChangeCallback()}set(e,t,n,r){return this._x=e,this._y=t,this._z=n,this._w=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this._onChangeCallback(),this}setFromEuler(e,t){if(!(e&&e.isEuler))throw new Error("THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.");let n=e._x,r=e._y,o=e._z,s=e._order,a=Math.cos,l=Math.sin,c=a(n/2),d=a(r/2),u=a(o/2),h=l(n/2),p=l(r/2),f=l(o/2);switch(s){case"XYZ":this._x=h*d*u+c*p*f,this._y=c*p*u-h*d*f,this._z=c*d*f+h*p*u,this._w=c*d*u-h*p*f;break;case"YXZ":this._x=h*d*u+c*p*f,this._y=c*p*u-h*d*f,this._z=c*d*f-h*p*u,this._w=c*d*u+h*p*f;break;case"ZXY":this._x=h*d*u-c*p*f,this._y=c*p*u+h*d*f,this._z=c*d*f+h*p*u,this._w=c*d*u-h*p*f;break;case"ZYX":this._x=h*d*u-c*p*f,this._y=c*p*u+h*d*f,this._z=c*d*f-h*p*u,this._w=c*d*u+h*p*f;break;case"YZX":this._x=h*d*u+c*p*f,this._y=c*p*u+h*d*f,this._z=c*d*f-h*p*u,this._w=c*d*u-h*p*f;break;case"XZY":this._x=h*d*u-c*p*f,this._y=c*p*u-h*d*f,this._z=c*d*f+h*p*u,this._w=c*d*u+h*p*f;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+s)}return t!==!1&&this._onChangeCallback(),this}setFromAxisAngle(e,t){let n=t/2,r=Math.sin(n);return this._x=e.x*r,this._y=e.y*r,this._z=e.z*r,this._w=Math.cos(n),this._onChangeCallback(),this}setFromRotationMatrix(e){let t=e.elements,n=t[0],r=t[4],o=t[8],s=t[1],a=t[5],l=t[9],c=t[2],d=t[6],u=t[10],h=n+a+u;if(h>0){let p=.5/Math.sqrt(h+1);this._w=.25/p,this._x=(d-l)*p,this._y=(o-c)*p,this._z=(s-r)*p}else if(n>a&&n>u){let p=2*Math.sqrt(1+n-a-u);this._w=(d-l)/p,this._x=.25*p,this._y=(r+s)/p,this._z=(o+c)/p}else if(a>u){let p=2*Math.sqrt(1+a-n-u);this._w=(o-c)/p,this._x=(r+s)/p,this._y=.25*p,this._z=(l+d)/p}else{let p=2*Math.sqrt(1+u-n-a);this._w=(s-r)/p,this._x=(o+c)/p,this._y=(l+d)/p,this._z=.25*p}return this._onChangeCallback(),this}setFromUnitVectors(e,t){let n=e.dot(t)+1;return nMath.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=n):(this._x=0,this._y=-e.z,this._z=e.y,this._w=n)):(this._x=e.y*t.z-e.z*t.y,this._y=e.z*t.x-e.x*t.z,this._z=e.x*t.y-e.y*t.x,this._w=n),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(nr(this.dot(e),-1,1)))}rotateTowards(e,t){let n=this.angleTo(e);if(n===0)return this;let r=Math.min(1,t/n);return this.slerp(e,r),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let e=this.length();return e===0?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x=this._x*e,this._y=this._y*e,this._z=this._z*e,this._w=this._w*e),this._onChangeCallback(),this}multiply(e,t){return t!==void 0?(console.warn("THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead."),this.multiplyQuaternions(e,t)):this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,t){let n=e._x,r=e._y,o=e._z,s=e._w,a=t._x,l=t._y,c=t._z,d=t._w;return this._x=n*d+s*a+r*c-o*l,this._y=r*d+s*l+o*a-n*c,this._z=o*d+s*c+n*l-r*a,this._w=s*d-n*a-r*l-o*c,this._onChangeCallback(),this}slerp(e,t){if(t===0)return this;if(t===1)return this.copy(e);let n=this._x,r=this._y,o=this._z,s=this._w,a=s*e._w+n*e._x+r*e._y+o*e._z;if(a<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,a=-a):this.copy(e),a>=1)return this._w=s,this._x=n,this._y=r,this._z=o,this;let l=1-a*a;if(l<=Number.EPSILON){let p=1-t;return this._w=p*s+t*this._w,this._x=p*n+t*this._x,this._y=p*r+t*this._y,this._z=p*o+t*this._z,this.normalize(),this._onChangeCallback(),this}let c=Math.sqrt(l),d=Math.atan2(c,a),u=Math.sin((1-t)*d)/c,h=Math.sin(t*d)/c;return this._w=s*u+this._w*h,this._x=n*u+this._x*h,this._y=r*u+this._y*h,this._z=o*u+this._z*h,this._onChangeCallback(),this}slerpQuaternions(e,t,n){this.copy(e).slerp(t,n)}random(){let e=Math.random(),t=Math.sqrt(1-e),n=Math.sqrt(e),r=2*Math.PI*Math.random(),o=2*Math.PI*Math.random();return this.set(t*Math.cos(r),n*Math.sin(o),n*Math.cos(o),t*Math.sin(r))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,t=0){return this._x=e[t],this._y=e[t+1],this._z=e[t+2],this._w=e[t+3],this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._w,e}fromBufferAttribute(e,t){return this._x=e.getX(t),this._y=e.getY(t),this._z=e.getZ(t),this._w=e.getW(t),this}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}};Bi.prototype.isQuaternion=!0;var R=class{constructor(e=0,t=0,n=0){this.x=e,this.y=t,this.z=n}set(e,t,n){return n===void 0&&(n=this.z),this.x=e,this.y=t,this.z=n,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}add(e,t){return t!==void 0?(console.warn("THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(e,t)):(this.x+=e.x,this.y+=e.y,this.z+=e.z,this)}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this}sub(e,t){return t!==void 0?(console.warn("THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(e,t)):(this.x-=e.x,this.y-=e.y,this.z-=e.z,this)}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this}multiply(e,t){return t!==void 0?(console.warn("THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead."),this.multiplyVectors(e,t)):(this.x*=e.x,this.y*=e.y,this.z*=e.z,this)}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this}multiplyVectors(e,t){return this.x=e.x*t.x,this.y=e.y*t.y,this.z=e.z*t.z,this}applyEuler(e){return e&&e.isEuler||console.error("THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order."),this.applyQuaternion(bz.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(bz.setFromAxisAngle(e,t))}applyMatrix3(e){let t=this.x,n=this.y,r=this.z,o=e.elements;return this.x=o[0]*t+o[3]*n+o[6]*r,this.y=o[1]*t+o[4]*n+o[7]*r,this.z=o[2]*t+o[5]*n+o[8]*r,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){let t=this.x,n=this.y,r=this.z,o=e.elements,s=1/(o[3]*t+o[7]*n+o[11]*r+o[15]);return this.x=(o[0]*t+o[4]*n+o[8]*r+o[12])*s,this.y=(o[1]*t+o[5]*n+o[9]*r+o[13])*s,this.z=(o[2]*t+o[6]*n+o[10]*r+o[14])*s,this}applyQuaternion(e){let t=this.x,n=this.y,r=this.z,o=e.x,s=e.y,a=e.z,l=e.w,c=l*t+s*r-a*n,d=l*n+a*t-o*r,u=l*r+o*n-s*t,h=-o*t-s*n-a*r;return this.x=c*l+h*-o+d*-a-u*-s,this.y=d*l+h*-s+u*-o-c*-a,this.z=u*l+h*-a+c*-s-d*-o,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){let t=this.x,n=this.y,r=this.z,o=e.elements;return this.x=o[0]*t+o[4]*n+o[8]*r,this.y=o[1]*t+o[5]*n+o[9]*r,this.z=o[2]*t+o[6]*n+o[10]*r,this.normalize()}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this.z=Math.max(e,Math.min(t,this.z)),this}clampLength(e,t){let n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){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(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this.z=e.z+(t.z-e.z)*n,this}cross(e,t){return t!==void 0?(console.warn("THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead."),this.crossVectors(e,t)):this.crossVectors(this,e)}crossVectors(e,t){let n=e.x,r=e.y,o=e.z,s=t.x,a=t.y,l=t.z;return this.x=r*l-o*a,this.y=o*s-n*l,this.z=n*a-r*s,this}projectOnVector(e){let t=e.lengthSq();if(t===0)return this.set(0,0,0);let n=e.dot(this)/t;return this.copy(e).multiplyScalar(n)}projectOnPlane(e){return _D.copy(this).projectOnVector(e),this.sub(_D)}reflect(e){return this.sub(_D.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){let t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;let n=this.dot(e)/t;return Math.acos(nr(n,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){let t=this.x-e.x,n=this.y-e.y,r=this.z-e.z;return t*t+n*n+r*r}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)}setFromSpherical(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)}setFromSphericalCoords(e,t,n){let r=Math.sin(t)*e;return this.x=r*Math.sin(n),this.y=Math.cos(t)*e,this.z=r*Math.cos(n),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,t,n){return this.x=e*Math.sin(t),this.y=n,this.z=e*Math.cos(t),this}setFromMatrixPosition(e){let t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this}setFromMatrixScale(e){let t=this.setFromMatrixColumn(e,0).length(),n=this.setFromMatrixColumn(e,1).length(),r=this.setFromMatrixColumn(e,2).length();return this.x=t,this.y=n,this.z=r,this}setFromMatrixColumn(e,t){return this.fromArray(e.elements,t*4)}setFromMatrix3Column(e,t){return this.fromArray(e.elements,t*3)}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e}fromBufferAttribute(e,t,n){return n!==void 0&&console.warn("THREE.Vector3: offset has been removed from .fromBufferAttribute()."),this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){let e=(Math.random()-.5)*2,t=Math.random()*Math.PI*2,n=Math.sqrt(1-e**2);return this.x=n*Math.cos(t),this.y=n*Math.sin(t),this.z=e,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}};R.prototype.isVector3=!0;var _D=new R,bz=new Bi,Hr=class{constructor(e=new R(1/0,1/0,1/0),t=new R(-1/0,-1/0,-1/0)){this.min=e,this.max=t}set(e,t){return this.min.copy(e),this.max.copy(t),this}setFromArray(e){let t=1/0,n=1/0,r=1/0,o=-1/0,s=-1/0,a=-1/0;for(let l=0,c=e.length;lo&&(o=d),u>s&&(s=u),h>a&&(a=h)}return this.min.set(t,n,r),this.max.set(o,s,a),this}setFromBufferAttribute(e){let t=1/0,n=1/0,r=1/0,o=-1/0,s=-1/0,a=-1/0;for(let l=0,c=e.count;lo&&(o=d),u>s&&(s=u),h>a&&(a=h)}return this.min.set(t,n,r),this.max.set(o,s,a),this}setFromPoints(e){this.makeEmpty();for(let t=0,n=e.length;tthis.max.x||e.ythis.max.y||e.zthis.max.z)}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(e){return!(e.max.xthis.max.x||e.max.ythis.max.y||e.max.zthis.max.z)}intersectsSphere(e){return this.clampPoint(e.center,bg),bg.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let t,n;return e.normal.x>0?(t=e.normal.x*this.min.x,n=e.normal.x*this.max.x):(t=e.normal.x*this.max.x,n=e.normal.x*this.min.x),e.normal.y>0?(t+=e.normal.y*this.min.y,n+=e.normal.y*this.max.y):(t+=e.normal.y*this.max.y,n+=e.normal.y*this.min.y),e.normal.z>0?(t+=e.normal.z*this.min.z,n+=e.normal.z*this.max.z):(t+=e.normal.z*this.max.z,n+=e.normal.z*this.min.z),t<=-e.constant&&n>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(yg),fx.subVectors(this.max,yg),tp.subVectors(e.a,yg),np.subVectors(e.b,yg),ip.subVectors(e.c,yg),Ql.subVectors(np,tp),Kl.subVectors(ip,np),kd.subVectors(tp,ip);let t=[0,-Ql.z,Ql.y,0,-Kl.z,Kl.y,0,-kd.z,kd.y,Ql.z,0,-Ql.x,Kl.z,0,-Kl.x,kd.z,0,-kd.x,-Ql.y,Ql.x,0,-Kl.y,Kl.x,0,-kd.y,kd.x,0];return!bD(t,tp,np,ip,fx)||(t=[1,0,0,0,1,0,0,0,1],!bD(t,tp,np,ip,fx))?!1:(mx.crossVectors(Ql,Kl),t=[mx.x,mx.y,mx.z],bD(t,tp,np,ip,fx))}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return bg.copy(e).clamp(this.min,this.max).sub(e).length()}getBoundingSphere(e){return this.getCenter(e.center),e.radius=this.getSize(bg).length()*.5,e}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}applyMatrix4(e){return this.isEmpty()?this:(Ga[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),Ga[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),Ga[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),Ga[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),Ga[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),Ga[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),Ga[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),Ga[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(Ga),this)}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}};Hr.prototype.isBox3=!0;var Ga=[new R,new R,new R,new R,new R,new R,new R,new R],bg=new R,vD=new Hr,tp=new R,np=new R,ip=new R,Ql=new R,Kl=new R,kd=new R,yg=new R,fx=new R,mx=new R,Ld=new R;function bD(i,e,t,n,r){for(let o=0,s=i.length-3;o<=s;o+=3){Ld.fromArray(i,o);let a=r.x*Math.abs(Ld.x)+r.y*Math.abs(Ld.y)+r.z*Math.abs(Ld.z),l=e.dot(Ld),c=t.dot(Ld),d=n.dot(Ld);if(Math.max(-Math.max(l,c,d),Math.min(l,c,d))>a)return!1}return!0}var Zne=new Hr,yz=new R,yD=new R,xD=new R,oa=class{constructor(e=new R,t=-1){this.center=e,this.radius=t}set(e,t){return this.center.copy(e),this.radius=t,this}setFromPoints(e,t){let n=this.center;t!==void 0?n.copy(t):Zne.setFromPoints(e).getCenter(n);let r=0;for(let o=0,s=e.length;othis.radius*this.radius&&(t.sub(this.center).normalize(),t.multiplyScalar(this.radius).add(this.center)),t}getBoundingBox(e){return this.isEmpty()?(e.makeEmpty(),e):(e.set(this.center,this.center),e.expandByScalar(this.radius),e)}applyMatrix4(e){return this.center.applyMatrix4(e),this.radius=this.radius*e.getMaxScaleOnAxis(),this}translate(e){return this.center.add(e),this}expandByPoint(e){xD.subVectors(e,this.center);let t=xD.lengthSq();if(t>this.radius*this.radius){let n=Math.sqrt(t),r=(n-this.radius)*.5;this.center.add(xD.multiplyScalar(r/n)),this.radius+=r}return this}union(e){return yD.subVectors(e.center,this.center).normalize().multiplyScalar(e.radius),this.expandByPoint(yz.copy(e.center).add(yD)),this.expandByPoint(yz.copy(e.center).sub(yD)),this}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}},ja=new R,wD=new R,gx=new R,Jl=new R,CD=new R,_x=new R,SD=new R,sa=class{constructor(e=new R,t=new R(0,0,-1)){this.origin=e,this.direction=t}set(e,t){return this.origin.copy(e),this.direction.copy(t),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,t){return t.copy(this.direction).multiplyScalar(e).add(this.origin)}lookAt(e){return this.direction.copy(e).sub(this.origin).normalize(),this}recast(e){return this.origin.copy(this.at(e,ja)),this}closestPointToPoint(e,t){t.subVectors(e,this.origin);let n=t.dot(this.direction);return n<0?t.copy(this.origin):t.copy(this.direction).multiplyScalar(n).add(this.origin)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){let t=ja.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(ja.copy(this.direction).multiplyScalar(t).add(this.origin),ja.distanceToSquared(e))}distanceSqToSegment(e,t,n,r){wD.copy(e).add(t).multiplyScalar(.5),gx.copy(t).sub(e).normalize(),Jl.copy(this.origin).sub(wD);let o=e.distanceTo(t)*.5,s=-this.direction.dot(gx),a=Jl.dot(this.direction),l=-Jl.dot(gx),c=Jl.lengthSq(),d=Math.abs(1-s*s),u,h,p,f;if(d>0)if(u=s*l-a,h=s*a-l,f=o*d,u>=0)if(h>=-f)if(h<=f){let m=1/d;u*=m,h*=m,p=u*(u+s*h+2*a)+h*(s*u+h+2*l)+c}else h=o,u=Math.max(0,-(s*h+a)),p=-u*u+h*(h+2*l)+c;else h=-o,u=Math.max(0,-(s*h+a)),p=-u*u+h*(h+2*l)+c;else h<=-f?(u=Math.max(0,-(-s*o+a)),h=u>0?-o:Math.min(Math.max(-o,-l),o),p=-u*u+h*(h+2*l)+c):h<=f?(u=0,h=Math.min(Math.max(-o,-l),o),p=h*(h+2*l)+c):(u=Math.max(0,-(s*o+a)),h=u>0?o:Math.min(Math.max(-o,-l),o),p=-u*u+h*(h+2*l)+c);else h=s>0?-o:o,u=Math.max(0,-(s*h+a)),p=-u*u+h*(h+2*l)+c;return n&&n.copy(this.direction).multiplyScalar(u).add(this.origin),r&&r.copy(gx).multiplyScalar(h).add(wD),p}intersectSphere(e,t){ja.subVectors(e.center,this.origin);let n=ja.dot(this.direction),r=ja.dot(ja)-n*n,o=e.radius*e.radius;if(r>o)return null;let s=Math.sqrt(o-r),a=n-s,l=n+s;return a<0&&l<0?null:a<0?this.at(l,t):this.at(a,t)}intersectsSphere(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){let t=e.normal.dot(this.direction);if(t===0)return e.distanceToPoint(this.origin)===0?0:null;let n=-(this.origin.dot(e.normal)+e.constant)/t;return n>=0?n:null}intersectPlane(e,t){let n=this.distanceToPlane(e);return n===null?null:this.at(n,t)}intersectsPlane(e){let t=e.distanceToPoint(this.origin);return t===0||e.normal.dot(this.direction)*t<0}intersectBox(e,t){let n,r,o,s,a,l,c=1/this.direction.x,d=1/this.direction.y,u=1/this.direction.z,h=this.origin;return c>=0?(n=(e.min.x-h.x)*c,r=(e.max.x-h.x)*c):(n=(e.max.x-h.x)*c,r=(e.min.x-h.x)*c),d>=0?(o=(e.min.y-h.y)*d,s=(e.max.y-h.y)*d):(o=(e.max.y-h.y)*d,s=(e.min.y-h.y)*d),n>s||o>r||((o>n||n!==n)&&(n=o),(s=0?(a=(e.min.z-h.z)*u,l=(e.max.z-h.z)*u):(a=(e.max.z-h.z)*u,l=(e.min.z-h.z)*u),n>l||a>r)||((a>n||n!==n)&&(n=a),(l=0?n:r,t)}intersectsBox(e){return this.intersectBox(e,ja)!==null}intersectTriangle(e,t,n,r,o){CD.subVectors(t,e),_x.subVectors(n,e),SD.crossVectors(CD,_x);let s=this.direction.dot(SD),a;if(s>0){if(r)return null;a=1}else if(s<0)a=-1,s=-s;else return null;Jl.subVectors(this.origin,e);let l=a*this.direction.dot(_x.crossVectors(Jl,_x));if(l<0)return null;let c=a*this.direction.dot(CD.cross(Jl));if(c<0||l+c>s)return null;let d=-a*Jl.dot(SD);return d<0?null:this.at(d/s,o)}applyMatrix4(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}},ct=class i{constructor(){this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],arguments.length>0&&console.error("THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.")}set(e,t,n,r,o,s,a,l,c,d,u,h,p,f,m,y){let g=this.elements;return g[0]=e,g[4]=t,g[8]=n,g[12]=r,g[1]=o,g[5]=s,g[9]=a,g[13]=l,g[2]=c,g[6]=d,g[10]=u,g[14]=h,g[3]=p,g[7]=f,g[11]=m,g[15]=y,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new i().fromArray(this.elements)}copy(e){let t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15],this}copyPosition(e){let t=this.elements,n=e.elements;return t[12]=n[12],t[13]=n[13],t[14]=n[14],this}setFromMatrix3(e){let t=e.elements;return this.set(t[0],t[3],t[6],0,t[1],t[4],t[7],0,t[2],t[5],t[8],0,0,0,0,1),this}extractBasis(e,t,n){return e.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),n.setFromMatrixColumn(this,2),this}makeBasis(e,t,n){return this.set(e.x,t.x,n.x,0,e.y,t.y,n.y,0,e.z,t.z,n.z,0,0,0,0,1),this}extractRotation(e){let t=this.elements,n=e.elements,r=1/rp.setFromMatrixColumn(e,0).length(),o=1/rp.setFromMatrixColumn(e,1).length(),s=1/rp.setFromMatrixColumn(e,2).length();return t[0]=n[0]*r,t[1]=n[1]*r,t[2]=n[2]*r,t[3]=0,t[4]=n[4]*o,t[5]=n[5]*o,t[6]=n[6]*o,t[7]=0,t[8]=n[8]*s,t[9]=n[9]*s,t[10]=n[10]*s,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromEuler(e){e&&e.isEuler||console.error("THREE.Matrix4: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.");let t=this.elements,n=e.x,r=e.y,o=e.z,s=Math.cos(n),a=Math.sin(n),l=Math.cos(r),c=Math.sin(r),d=Math.cos(o),u=Math.sin(o);if(e.order==="XYZ"){let h=s*d,p=s*u,f=a*d,m=a*u;t[0]=l*d,t[4]=-l*u,t[8]=c,t[1]=p+f*c,t[5]=h-m*c,t[9]=-a*l,t[2]=m-h*c,t[6]=f+p*c,t[10]=s*l}else if(e.order==="YXZ"){let h=l*d,p=l*u,f=c*d,m=c*u;t[0]=h+m*a,t[4]=f*a-p,t[8]=s*c,t[1]=s*u,t[5]=s*d,t[9]=-a,t[2]=p*a-f,t[6]=m+h*a,t[10]=s*l}else if(e.order==="ZXY"){let h=l*d,p=l*u,f=c*d,m=c*u;t[0]=h-m*a,t[4]=-s*u,t[8]=f+p*a,t[1]=p+f*a,t[5]=s*d,t[9]=m-h*a,t[2]=-s*c,t[6]=a,t[10]=s*l}else if(e.order==="ZYX"){let h=s*d,p=s*u,f=a*d,m=a*u;t[0]=l*d,t[4]=f*c-p,t[8]=h*c+m,t[1]=l*u,t[5]=m*c+h,t[9]=p*c-f,t[2]=-c,t[6]=a*l,t[10]=s*l}else if(e.order==="YZX"){let h=s*l,p=s*c,f=a*l,m=a*c;t[0]=l*d,t[4]=m-h*u,t[8]=f*u+p,t[1]=u,t[5]=s*d,t[9]=-a*d,t[2]=-c*d,t[6]=p*u+f,t[10]=h-m*u}else if(e.order==="XZY"){let h=s*l,p=s*c,f=a*l,m=a*c;t[0]=l*d,t[4]=-u,t[8]=c*d,t[1]=h*u+m,t[5]=s*d,t[9]=p*u-f,t[2]=f*u-p,t[6]=a*d,t[10]=m*u+h}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromQuaternion(e){return this.compose(Qne,e,Kne)}lookAt(e,t,n){let r=this.elements;return vo.subVectors(e,t),vo.lengthSq()===0&&(vo.z=1),vo.normalize(),ec.crossVectors(n,vo),ec.lengthSq()===0&&(Math.abs(n.z)===1?vo.x+=1e-4:vo.z+=1e-4,vo.normalize(),ec.crossVectors(n,vo)),ec.normalize(),vx.crossVectors(vo,ec),r[0]=ec.x,r[4]=vx.x,r[8]=vo.x,r[1]=ec.y,r[5]=vx.y,r[9]=vo.y,r[2]=ec.z,r[6]=vx.z,r[10]=vo.z,this}multiply(e,t){return t!==void 0?(console.warn("THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead."),this.multiplyMatrices(e,t)):this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){let n=e.elements,r=t.elements,o=this.elements,s=n[0],a=n[4],l=n[8],c=n[12],d=n[1],u=n[5],h=n[9],p=n[13],f=n[2],m=n[6],y=n[10],g=n[14],_=n[3],x=n[7],C=n[11],T=n[15],D=r[0],E=r[4],P=r[8],Y=r[12],$=r[1],U=r[5],O=r[9],B=r[13],j=r[2],q=r[6],k=r[10],G=r[14],K=r[3],de=r[7],De=r[11],Ee=r[15];return o[0]=s*D+a*$+l*j+c*K,o[4]=s*E+a*U+l*q+c*de,o[8]=s*P+a*O+l*k+c*De,o[12]=s*Y+a*B+l*G+c*Ee,o[1]=d*D+u*$+h*j+p*K,o[5]=d*E+u*U+h*q+p*de,o[9]=d*P+u*O+h*k+p*De,o[13]=d*Y+u*B+h*G+p*Ee,o[2]=f*D+m*$+y*j+g*K,o[6]=f*E+m*U+y*q+g*de,o[10]=f*P+m*O+y*k+g*De,o[14]=f*Y+m*B+y*G+g*Ee,o[3]=_*D+x*$+C*j+T*K,o[7]=_*E+x*U+C*q+T*de,o[11]=_*P+x*O+C*k+T*De,o[15]=_*Y+x*B+C*G+T*Ee,this}multiplyScalar(e){let t=this.elements;return t[0]*=e,t[4]*=e,t[8]*=e,t[12]*=e,t[1]*=e,t[5]*=e,t[9]*=e,t[13]*=e,t[2]*=e,t[6]*=e,t[10]*=e,t[14]*=e,t[3]*=e,t[7]*=e,t[11]*=e,t[15]*=e,this}determinant(){let e=this.elements,t=e[0],n=e[4],r=e[8],o=e[12],s=e[1],a=e[5],l=e[9],c=e[13],d=e[2],u=e[6],h=e[10],p=e[14],f=e[3],m=e[7],y=e[11],g=e[15];return f*(+o*l*u-r*c*u-o*a*h+n*c*h+r*a*p-n*l*p)+m*(+t*l*p-t*c*h+o*s*h-r*s*p+r*c*d-o*l*d)+y*(+t*c*u-t*a*p-o*s*u+n*s*p+o*a*d-n*c*d)+g*(-r*a*d-t*l*u+t*a*h+r*s*u-n*s*h+n*l*d)}transpose(){let e=this.elements,t;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(e,t,n){let r=this.elements;return e.isVector3?(r[12]=e.x,r[13]=e.y,r[14]=e.z):(r[12]=e,r[13]=t,r[14]=n),this}invert(){let e=this.elements,t=e[0],n=e[1],r=e[2],o=e[3],s=e[4],a=e[5],l=e[6],c=e[7],d=e[8],u=e[9],h=e[10],p=e[11],f=e[12],m=e[13],y=e[14],g=e[15],_=u*y*c-m*h*c+m*l*p-a*y*p-u*l*g+a*h*g,x=f*h*c-d*y*c-f*l*p+s*y*p+d*l*g-s*h*g,C=d*m*c-f*u*c+f*a*p-s*m*p-d*a*g+s*u*g,T=f*u*l-d*m*l-f*a*h+s*m*h+d*a*y-s*u*y,D=t*_+n*x+r*C+o*T;if(D===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);let E=1/D;return e[0]=_*E,e[1]=(m*h*o-u*y*o-m*r*p+n*y*p+u*r*g-n*h*g)*E,e[2]=(a*y*o-m*l*o+m*r*c-n*y*c-a*r*g+n*l*g)*E,e[3]=(u*l*o-a*h*o-u*r*c+n*h*c+a*r*p-n*l*p)*E,e[4]=x*E,e[5]=(d*y*o-f*h*o+f*r*p-t*y*p-d*r*g+t*h*g)*E,e[6]=(f*l*o-s*y*o-f*r*c+t*y*c+s*r*g-t*l*g)*E,e[7]=(s*h*o-d*l*o+d*r*c-t*h*c-s*r*p+t*l*p)*E,e[8]=C*E,e[9]=(f*u*o-d*m*o-f*n*p+t*m*p+d*n*g-t*u*g)*E,e[10]=(s*m*o-f*a*o+f*n*c-t*m*c-s*n*g+t*a*g)*E,e[11]=(d*a*o-s*u*o-d*n*c+t*u*c+s*n*p-t*a*p)*E,e[12]=T*E,e[13]=(d*m*r-f*u*r+f*n*h-t*m*h-d*n*y+t*u*y)*E,e[14]=(f*a*r-s*m*r-f*n*l+t*m*l+s*n*y-t*a*y)*E,e[15]=(s*u*r-d*a*r+d*n*l-t*u*l-s*n*h+t*a*h)*E,this}scale(e){let t=this.elements,n=e.x,r=e.y,o=e.z;return t[0]*=n,t[4]*=r,t[8]*=o,t[1]*=n,t[5]*=r,t[9]*=o,t[2]*=n,t[6]*=r,t[10]*=o,t[3]*=n,t[7]*=r,t[11]*=o,this}getMaxScaleOnAxis(){let e=this.elements,t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],n=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],r=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(t,n,r))}makeTranslation(e,t,n){return this.set(1,0,0,e,0,1,0,t,0,0,1,n,0,0,0,1),this}makeRotationX(e){let t=Math.cos(e),n=Math.sin(e);return this.set(1,0,0,0,0,t,-n,0,0,n,t,0,0,0,0,1),this}makeRotationY(e){let t=Math.cos(e),n=Math.sin(e);return this.set(t,0,n,0,0,1,0,0,-n,0,t,0,0,0,0,1),this}makeRotationZ(e){let t=Math.cos(e),n=Math.sin(e);return this.set(t,-n,0,0,n,t,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,t){let n=Math.cos(t),r=Math.sin(t),o=1-n,s=e.x,a=e.y,l=e.z,c=o*s,d=o*a;return this.set(c*s+n,c*a-r*l,c*l+r*a,0,c*a+r*l,d*a+n,d*l-r*s,0,c*l-r*a,d*l+r*s,o*l*l+n,0,0,0,0,1),this}makeScale(e,t,n){return this.set(e,0,0,0,0,t,0,0,0,0,n,0,0,0,0,1),this}makeShear(e,t,n,r,o,s){return this.set(1,n,o,0,e,1,s,0,t,r,1,0,0,0,0,1),this}compose(e,t,n){let r=this.elements,o=t._x,s=t._y,a=t._z,l=t._w,c=o+o,d=s+s,u=a+a,h=o*c,p=o*d,f=o*u,m=s*d,y=s*u,g=a*u,_=l*c,x=l*d,C=l*u,T=n.x,D=n.y,E=n.z;return r[0]=(1-(m+g))*T,r[1]=(p+C)*T,r[2]=(f-x)*T,r[3]=0,r[4]=(p-C)*D,r[5]=(1-(h+g))*D,r[6]=(y+_)*D,r[7]=0,r[8]=(f+x)*E,r[9]=(y-_)*E,r[10]=(1-(h+m))*E,r[11]=0,r[12]=e.x,r[13]=e.y,r[14]=e.z,r[15]=1,this}decompose(e,t,n){let r=this.elements,o=rp.set(r[0],r[1],r[2]).length(),s=rp.set(r[4],r[5],r[6]).length(),a=rp.set(r[8],r[9],r[10]).length();this.determinant()<0&&(o=-o),e.x=r[12],e.y=r[13],e.z=r[14],_s.copy(this);let c=1/o,d=1/s,u=1/a;return _s.elements[0]*=c,_s.elements[1]*=c,_s.elements[2]*=c,_s.elements[4]*=d,_s.elements[5]*=d,_s.elements[6]*=d,_s.elements[8]*=u,_s.elements[9]*=u,_s.elements[10]*=u,t.setFromRotationMatrix(_s),n.x=o,n.y=s,n.z=a,this}makePerspective(e,t,n,r,o,s){s===void 0&&console.warn("THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.");let a=this.elements,l=2*o/(t-e),c=2*o/(n-r),d=(t+e)/(t-e),u=(n+r)/(n-r),h=-(s+o)/(s-o),p=-2*s*o/(s-o);return a[0]=l,a[4]=0,a[8]=d,a[12]=0,a[1]=0,a[5]=c,a[9]=u,a[13]=0,a[2]=0,a[6]=0,a[10]=h,a[14]=p,a[3]=0,a[7]=0,a[11]=-1,a[15]=0,this}makeOrthographic(e,t,n,r,o,s){let a=this.elements,l=1/(t-e),c=1/(n-r),d=1/(s-o),u=(t+e)*l,h=(n+r)*c,p=(s+o)*d;return a[0]=2*l,a[4]=0,a[8]=0,a[12]=-u,a[1]=0,a[5]=2*c,a[9]=0,a[13]=-h,a[2]=0,a[6]=0,a[10]=-2*d,a[14]=-p,a[3]=0,a[7]=0,a[11]=0,a[15]=1,this}equals(e){let t=this.elements,n=e.elements;for(let r=0;r<16;r++)if(t[r]!==n[r])return!1;return!0}fromArray(e,t=0){for(let n=0;n<16;n++)this.elements[n]=e[n+t];return this}toArray(e=[],t=0){let n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e[t+9]=n[9],e[t+10]=n[10],e[t+11]=n[11],e[t+12]=n[12],e[t+13]=n[13],e[t+14]=n[14],e[t+15]=n[15],e}};ct.prototype.isMatrix4=!0;var rp=new R,_s=new ct,Qne=new R(0,0,0),Kne=new R(1,1,1),ec=new R,vx=new R,vo=new R,xz=new ct,wz=new Bi,Kd=class i{constructor(e=0,t=0,n=0,r=i.DefaultOrder){this._x=e,this._y=t,this._z=n,this._order=r}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get order(){return this._order}set order(e){this._order=e,this._onChangeCallback()}set(e,t,n,r=this._order){return this._x=e,this._y=t,this._z=n,this._order=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this._onChangeCallback(),this}setFromRotationMatrix(e,t=this._order,n=!0){let r=e.elements,o=r[0],s=r[4],a=r[8],l=r[1],c=r[5],d=r[9],u=r[2],h=r[6],p=r[10];switch(t){case"XYZ":this._y=Math.asin(nr(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(-d,p),this._z=Math.atan2(-s,o)):(this._x=Math.atan2(h,c),this._z=0);break;case"YXZ":this._x=Math.asin(-nr(d,-1,1)),Math.abs(d)<.9999999?(this._y=Math.atan2(a,p),this._z=Math.atan2(l,c)):(this._y=Math.atan2(-u,o),this._z=0);break;case"ZXY":this._x=Math.asin(nr(h,-1,1)),Math.abs(h)<.9999999?(this._y=Math.atan2(-u,p),this._z=Math.atan2(-s,c)):(this._y=0,this._z=Math.atan2(l,o));break;case"ZYX":this._y=Math.asin(-nr(u,-1,1)),Math.abs(u)<.9999999?(this._x=Math.atan2(h,p),this._z=Math.atan2(l,o)):(this._x=0,this._z=Math.atan2(-s,c));break;case"YZX":this._z=Math.asin(nr(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(-d,c),this._y=Math.atan2(-u,o)):(this._x=0,this._y=Math.atan2(a,p));break;case"XZY":this._z=Math.asin(-nr(s,-1,1)),Math.abs(s)<.9999999?(this._x=Math.atan2(h,c),this._y=Math.atan2(a,o)):(this._x=Math.atan2(-d,p),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+t)}return this._order=t,n===!0&&this._onChangeCallback(),this}setFromQuaternion(e,t,n){return xz.makeRotationFromQuaternion(e),this.setFromRotationMatrix(xz,t,n)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){return wz.setFromEuler(this),this.setFromQuaternion(wz,e)}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order}fromArray(e){return this._x=e[0],this._y=e[1],this._z=e[2],e[3]!==void 0&&(this._order=e[3]),this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._order,e}toVector3(e){return e?e.set(this._x,this._y,this._z):new R(this._x,this._y,this._z)}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}};Kd.prototype.isEuler=!0;Kd.DefaultOrder="XYZ";Kd.RotationOrders=["XYZ","YZX","ZXY","XZY","YXZ","ZYX"];var Wg=class{constructor(){this.mask=1}set(e){this.mask=1<1){for(let t=0;t1){for(let n=0;n0){r.children=[];for(let a=0;a0){r.animations=[];for(let a=0;a0&&(n.geometries=a),l.length>0&&(n.materials=l),c.length>0&&(n.textures=c),d.length>0&&(n.images=d),u.length>0&&(n.shapes=u),h.length>0&&(n.skeletons=h),p.length>0&&(n.animations=p)}return n.object=r,n;function s(a){let l=[];for(let c in a){let d=a[c];delete d.metadata,l.push(d)}return l}}clone(e){return new this.constructor().copy(this,e)}copy(e,t=!0){if(this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.rotation.order=e.rotation.order,this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.userData=JSON.parse(JSON.stringify(e.userData)),t===!0)for(let n=0;n0?r.multiplyScalar(1/Math.sqrt(o)):r.set(0,0,0)}static getBarycoord(e,t,n,r,o){vs.subVectors(r,t),$a.subVectors(n,t),MD.subVectors(e,t);let s=vs.dot(vs),a=vs.dot($a),l=vs.dot(MD),c=$a.dot($a),d=$a.dot(MD),u=s*c-a*a;if(u===0)return o.set(-2,-1,-1);let h=1/u,p=(c*l-a*d)*h,f=(s*d-a*l)*h;return o.set(1-p-f,f,p)}static containsPoint(e,t,n,r){return this.getBarycoord(e,t,n,r,qa),qa.x>=0&&qa.y>=0&&qa.x+qa.y<=1}static getUV(e,t,n,r,o,s,a,l){return this.getBarycoord(e,t,n,r,qa),l.set(0,0),l.addScaledVector(o,qa.x),l.addScaledVector(s,qa.y),l.addScaledVector(a,qa.z),l}static isFrontFacing(e,t,n,r){return vs.subVectors(n,t),$a.subVectors(e,t),vs.cross($a).dot(r)<0}set(e,t,n){return this.a.copy(e),this.b.copy(t),this.c.copy(n),this}setFromPointsAndIndices(e,t,n,r){return this.a.copy(e[t]),this.b.copy(e[n]),this.c.copy(e[r]),this}setFromAttributeAndIndices(e,t,n,r){return this.a.fromBufferAttribute(e,t),this.b.fromBufferAttribute(e,n),this.c.fromBufferAttribute(e,r),this}clone(){return new this.constructor().copy(this)}copy(e){return this.a.copy(e.a),this.b.copy(e.b),this.c.copy(e.c),this}getArea(){return vs.subVectors(this.c,this.b),$a.subVectors(this.a,this.b),vs.cross($a).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return i.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return i.getBarycoord(e,this.a,this.b,this.c,t)}getUV(e,t,n,r,o){return i.getUV(e,this.a,this.b,this.c,t,n,r,o)}containsPoint(e){return i.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return i.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,t){let n=this.a,r=this.b,o=this.c,s,a;sp.subVectors(r,n),ap.subVectors(o,n),ED.subVectors(e,n);let l=sp.dot(ED),c=ap.dot(ED);if(l<=0&&c<=0)return t.copy(n);ID.subVectors(e,r);let d=sp.dot(ID),u=ap.dot(ID);if(d>=0&&u<=d)return t.copy(r);let h=l*u-d*c;if(h<=0&&l>=0&&d<=0)return s=l/(l-d),t.copy(n).addScaledVector(sp,s);TD.subVectors(e,o);let p=sp.dot(TD),f=ap.dot(TD);if(f>=0&&p<=f)return t.copy(o);let m=p*c-l*f;if(m<=0&&c>=0&&f<=0)return a=c/(c-f),t.copy(n).addScaledVector(ap,a);let y=d*f-p*u;if(y<=0&&u-d>=0&&p-f>=0)return Tz.subVectors(o,r),a=(u-d)/(u-d+(p-f)),t.copy(r).addScaledVector(Tz,a);let g=1/(y+m+h);return s=m*g,a=h*g,t.copy(n).addScaledVector(sp,s).addScaledVector(ap,a)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}},iie=0,Ti=class extends ra{constructor(){super(),Object.defineProperty(this,"id",{value:iie++}),this.uuid=yo(),this.name="",this.type="Material",this.fog=!0,this.blending=wp,this.side=Zd,this.vertexColors=!1,this.opacity=1,this.format=rr,this.transparent=!1,this.blendSrc=$P,this.blendDst=qP,this.blendEquation=Gd,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.depthFunc=nw,this.depthTest=!0,this.depthWrite=!0,this.stencilWriteMask=255,this.stencilFunc=_H,this.stencilRef=0,this.stencilFuncMask=255,this.stencilFail=tw,this.stencilZFail=tw,this.stencilZPass=tw,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.alphaToCoverage=!1,this.premultipliedAlpha=!1,this.visible=!0,this.toneMapped=!0,this.userData={},this.version=0,this._alphaTest=0}get alphaTest(){return this._alphaTest}set alphaTest(e){this._alphaTest>0!=e>0&&this.version++,this._alphaTest=e}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(e!==void 0)for(let t in e){let n=e[t];if(n===void 0){console.warn("THREE.Material: '"+t+"' parameter is undefined.");continue}if(t==="shading"){console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead."),this.flatShading=n===WP;continue}let r=this[t];if(r===void 0){console.warn("THREE."+this.type+": '"+t+"' is not a property of this material.");continue}r&&r.isColor?r.set(n):r&&r.isVector3&&n&&n.isVector3?r.copy(n):this[t]=n}}toJSON(e){let t=e===void 0||typeof e=="string";t&&(e={textures:{},images:{}});let n={metadata:{version:4.5,type:"Material",generator:"Material.toJSON"}};n.uuid=this.uuid,n.type=this.type,this.name!==""&&(n.name=this.name),this.color&&this.color.isColor&&(n.color=this.color.getHex()),this.roughness!==void 0&&(n.roughness=this.roughness),this.metalness!==void 0&&(n.metalness=this.metalness),this.sheen!==void 0&&(n.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(n.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(n.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(n.emissive=this.emissive.getHex()),this.emissiveIntensity&&this.emissiveIntensity!==1&&(n.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(n.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(n.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(n.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(n.shininess=this.shininess),this.clearcoat!==void 0&&(n.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(n.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(n.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(n.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(n.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,n.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.map&&this.map.isTexture&&(n.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(n.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(n.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(n.lightMap=this.lightMap.toJSON(e).uuid,n.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(n.aoMap=this.aoMap.toJSON(e).uuid,n.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(n.bumpMap=this.bumpMap.toJSON(e).uuid,n.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(n.normalMap=this.normalMap.toJSON(e).uuid,n.normalMapType=this.normalMapType,n.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(n.displacementMap=this.displacementMap.toJSON(e).uuid,n.displacementScale=this.displacementScale,n.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(n.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(n.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(n.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(n.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(n.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(n.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(n.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(n.combine=this.combine)),this.envMapIntensity!==void 0&&(n.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(n.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(n.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(n.gradientMap=this.gradientMap.toJSON(e).uuid),this.transmission!==void 0&&(n.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(n.transmissionMap=this.transmissionMap.toJSON(e).uuid),this.thickness!==void 0&&(n.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(n.thicknessMap=this.thicknessMap.toJSON(e).uuid),this.attenuationDistance!==void 0&&(n.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(n.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(n.size=this.size),this.shadowSide!==null&&(n.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(n.sizeAttenuation=this.sizeAttenuation),this.blending!==wp&&(n.blending=this.blending),this.side!==Zd&&(n.side=this.side),this.vertexColors&&(n.vertexColors=!0),this.opacity<1&&(n.opacity=this.opacity),this.format!==rr&&(n.format=this.format),this.transparent===!0&&(n.transparent=this.transparent),n.depthFunc=this.depthFunc,n.depthTest=this.depthTest,n.depthWrite=this.depthWrite,n.colorWrite=this.colorWrite,n.stencilWrite=this.stencilWrite,n.stencilWriteMask=this.stencilWriteMask,n.stencilFunc=this.stencilFunc,n.stencilRef=this.stencilRef,n.stencilFuncMask=this.stencilFuncMask,n.stencilFail=this.stencilFail,n.stencilZFail=this.stencilZFail,n.stencilZPass=this.stencilZPass,this.rotation&&this.rotation!==0&&(n.rotation=this.rotation),this.polygonOffset===!0&&(n.polygonOffset=!0),this.polygonOffsetFactor!==0&&(n.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(n.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth&&this.linewidth!==1&&(n.linewidth=this.linewidth),this.dashSize!==void 0&&(n.dashSize=this.dashSize),this.gapSize!==void 0&&(n.gapSize=this.gapSize),this.scale!==void 0&&(n.scale=this.scale),this.dithering===!0&&(n.dithering=!0),this.alphaTest>0&&(n.alphaTest=this.alphaTest),this.alphaToCoverage===!0&&(n.alphaToCoverage=this.alphaToCoverage),this.premultipliedAlpha===!0&&(n.premultipliedAlpha=this.premultipliedAlpha),this.wireframe===!0&&(n.wireframe=this.wireframe),this.wireframeLinewidth>1&&(n.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!=="round"&&(n.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!=="round"&&(n.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(n.flatShading=this.flatShading),this.visible===!1&&(n.visible=!1),this.toneMapped===!1&&(n.toneMapped=!1),JSON.stringify(this.userData)!=="{}"&&(n.userData=this.userData);function r(o){let s=[];for(let a in o){let l=o[a];delete l.metadata,s.push(l)}return s}if(t){let o=r(e.textures),s=r(e.images);o.length>0&&(n.textures=o),s.length>0&&(n.images=s)}return n}clone(){return new this.constructor().copy(this)}copy(e){this.name=e.name,this.fog=e.fog,this.blending=e.blending,this.side=e.side,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.format=e.format,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.stencilWriteMask=e.stencilWriteMask,this.stencilFunc=e.stencilFunc,this.stencilRef=e.stencilRef,this.stencilFuncMask=e.stencilFuncMask,this.stencilFail=e.stencilFail,this.stencilZFail=e.stencilZFail,this.stencilZPass=e.stencilZPass,this.stencilWrite=e.stencilWrite;let t=e.clippingPlanes,n=null;if(t!==null){let r=t.length;n=new Array(r);for(let o=0;o!==r;++o)n[o]=t[o].clone()}return this.clippingPlanes=n,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipShadows,this.shadowSide=e.shadowSide,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.alphaToCoverage=e.alphaToCoverage,this.premultipliedAlpha=e.premultipliedAlpha,this.visible=e.visible,this.toneMapped=e.toneMapped,this.userData=JSON.parse(JSON.stringify(e.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(e){e===!0&&this.version++}};Ti.prototype.isMaterial=!0;var Dz={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},bs={h:0,s:0,l:0},yx={h:0,s:0,l:0};function DD(i,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?i+(e-i)*6*t:t<1/2?e:t<2/3?i+(e-i)*6*(2/3-t):i}function PD(i){return i<.04045?i*.0773993808:Math.pow(i*.9478672986+.0521327014,2.4)}function OD(i){return i<.0031308?i*12.92:1.055*Math.pow(i,.41666)-.055}var je=(()=>{class i{constructor(t,n,r){return n===void 0&&r===void 0?this.set(t):this.setRGB(t,n,r)}set(t){return t&&t.isColor?this.copy(t):typeof t=="number"?this.setHex(t):typeof t=="string"&&this.setStyle(t),this}setScalar(t){return this.r=t,this.g=t,this.b=t,this}setHex(t){return t=Math.floor(t),this.r=(t>>16&255)/255,this.g=(t>>8&255)/255,this.b=(t&255)/255,this}setRGB(t,n,r){return this.r=t,this.g=n,this.b=r,this}setHSL(t,n,r){if(t=JP(t,1),n=nr(n,0,1),r=nr(r,0,1),n===0)this.r=this.g=this.b=r;else{let o=r<=.5?r*(1+n):r+n-r*n,s=2*r-o;this.r=DD(s,o,t+1/3),this.g=DD(s,o,t),this.b=DD(s,o,t-1/3)}return this}setStyle(t){function n(o){o!==void 0&&parseFloat(o)<1&&console.warn("THREE.Color: Alpha component of "+t+" will be ignored.")}let r;if(r=/^((?:rgb|hsl)a?)\(([^\)]*)\)/.exec(t)){let o,s=r[1],a=r[2];switch(s){case"rgb":case"rgba":if(o=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return this.r=Math.min(255,parseInt(o[1],10))/255,this.g=Math.min(255,parseInt(o[2],10))/255,this.b=Math.min(255,parseInt(o[3],10))/255,n(o[4]),this;if(o=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return this.r=Math.min(100,parseInt(o[1],10))/100,this.g=Math.min(100,parseInt(o[2],10))/100,this.b=Math.min(100,parseInt(o[3],10))/100,n(o[4]),this;break;case"hsl":case"hsla":if(o=/^\s*(\d*\.?\d+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a)){let l=parseFloat(o[1])/360,c=parseInt(o[2],10)/100,d=parseInt(o[3],10)/100;return n(o[4]),this.setHSL(l,c,d)}break}}else if(r=/^\#([A-Fa-f\d]+)$/.exec(t)){let o=r[1],s=o.length;if(s===3)return this.r=parseInt(o.charAt(0)+o.charAt(0),16)/255,this.g=parseInt(o.charAt(1)+o.charAt(1),16)/255,this.b=parseInt(o.charAt(2)+o.charAt(2),16)/255,this;if(s===6)return this.r=parseInt(o.charAt(0)+o.charAt(1),16)/255,this.g=parseInt(o.charAt(2)+o.charAt(3),16)/255,this.b=parseInt(o.charAt(4)+o.charAt(5),16)/255,this}return t&&t.length>0?this.setColorName(t):this}setColorName(t){let n=Dz[t.toLowerCase()];return n!==void 0?this.setHex(n):console.warn("THREE.Color: Unknown color "+t),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(t){return this.r=t.r,this.g=t.g,this.b=t.b,this}copyGammaToLinear(t,n=2){return this.r=Math.pow(t.r,n),this.g=Math.pow(t.g,n),this.b=Math.pow(t.b,n),this}copyLinearToGamma(t,n=2){let r=n>0?1/n:1;return this.r=Math.pow(t.r,r),this.g=Math.pow(t.g,r),this.b=Math.pow(t.b,r),this}convertGammaToLinear(t){return this.copyGammaToLinear(this,t),this}convertLinearToGamma(t){return this.copyLinearToGamma(this,t),this}copySRGBToLinear(t){return this.r=PD(t.r),this.g=PD(t.g),this.b=PD(t.b),this}copyLinearToSRGB(t){return this.r=OD(t.r),this.g=OD(t.g),this.b=OD(t.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(){return this.r*255<<16^this.g*255<<8^this.b*255<<0}getHexString(){return("000000"+this.getHex().toString(16)).slice(-6)}getHSL(t){let n=this.r,r=this.g,o=this.b,s=Math.max(n,r,o),a=Math.min(n,r,o),l,c,d=(a+s)/2;if(a===s)l=0,c=0;else{let u=s-a;switch(c=d<=.5?u/(s+a):u/(2-s-a),s){case n:l=(r-o)/u+(r65535?Dp:Tp)(e,1):this.index=e,this}getAttribute(e){return this.attributes[e]}setAttribute(e,t){return this.attributes[e]=t,this}deleteAttribute(e){return delete this.attributes[e],this}hasAttribute(e){return this.attributes[e]!==void 0}addGroup(e,t,n=0){this.groups.push({start:e,count:t,materialIndex:n})}clearGroups(){this.groups=[]}setDrawRange(e,t){this.drawRange.start=e,this.drawRange.count=t}applyMatrix4(e){let t=this.attributes.position;t!==void 0&&(t.applyMatrix4(e),t.needsUpdate=!0);let n=this.attributes.normal;if(n!==void 0){let o=new xi().getNormalMatrix(e);n.applyNormalMatrix(o),n.needsUpdate=!0}let r=this.attributes.tangent;return r!==void 0&&(r.transformDirection(e),r.needsUpdate=!0),this.boundingBox!==null&&this.computeBoundingBox(),this.boundingSphere!==null&&this.computeBoundingSphere(),this}applyQuaternion(e){return Wo.makeRotationFromQuaternion(e),this.applyMatrix4(Wo),this}rotateX(e){return Wo.makeRotationX(e),this.applyMatrix4(Wo),this}rotateY(e){return Wo.makeRotationY(e),this.applyMatrix4(Wo),this}rotateZ(e){return Wo.makeRotationZ(e),this.applyMatrix4(Wo),this}translate(e,t,n){return Wo.makeTranslation(e,t,n),this.applyMatrix4(Wo),this}scale(e,t,n){return Wo.makeScale(e,t,n),this.applyMatrix4(Wo),this}lookAt(e){return RD.lookAt(e),RD.updateMatrix(),this.applyMatrix4(RD.matrix),this}center(){return this.computeBoundingBox(),this.boundingBox.getCenter(lp).negate(),this.translate(lp.x,lp.y,lp.z),this}setFromPoints(e){let t=[];for(let n=0,r=e.length;n0&&(e.userData=this.userData),this.parameters!==void 0){let l=this.parameters;for(let c in l)l[c]!==void 0&&(e[c]=l[c]);return e}e.data={attributes:{}};let t=this.index;t!==null&&(e.data.index={type:t.array.constructor.name,array:Array.prototype.slice.call(t.array)});let n=this.attributes;for(let l in n){let c=n[l];e.data.attributes[l]=c.toJSON(e.data)}let r={},o=!1;for(let l in this.morphAttributes){let c=this.morphAttributes[l],d=[];for(let u=0,h=c.length;u0&&(r[l]=d,o=!0)}o&&(e.data.morphAttributes=r,e.data.morphTargetsRelative=this.morphTargetsRelative);let s=this.groups;s.length>0&&(e.data.groups=JSON.parse(JSON.stringify(s)));let a=this.boundingSphere;return a!==null&&(e.data.boundingSphere={center:a.center.toArray(),radius:a.radius}),e}clone(){return new this.constructor().copy(this)}copy(e){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;let t={};this.name=e.name;let n=e.index;n!==null&&this.setIndex(n.clone(t));let r=e.attributes;for(let c in r){let d=r[c];this.setAttribute(c,d.clone(t))}let o=e.morphAttributes;for(let c in o){let d=[],u=o[c];for(let h=0,p=u.length;h0){let r=t[n[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let o=0,s=r.length;o0&&console.error("THREE.Mesh.updateMorphTargets() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.")}}raycast(e,t){let n=this.geometry,r=this.material,o=this.matrixWorld;if(r===void 0||(n.boundingSphere===null&&n.computeBoundingSphere(),AD.copy(n.boundingSphere),AD.applyMatrix4(o),e.ray.intersectsSphere(AD)===!1)||(Pz.copy(o).invert(),cp.copy(e.ray).applyMatrix4(Pz),n.boundingBox!==null&&cp.intersectsBox(n.boundingBox)===!1))return;let s;if(n.isBufferGeometry){let a=n.index,l=n.attributes.position,c=n.morphAttributes.position,d=n.morphTargetsRelative,u=n.attributes.uv,h=n.attributes.uv2,p=n.groups,f=n.drawRange;if(a!==null)if(Array.isArray(r))for(let m=0,y=p.length;mt.far?null:{distance:c,point:Tx.clone(),object:i}}function Dx(i,e,t,n,r,o,s,a,l,c,d,u){tc.fromBufferAttribute(r,c),nc.fromBufferAttribute(r,d),ic.fromBufferAttribute(r,u);let h=i.morphTargetInfluences;if(o&&h){wx.set(0,0,0),Cx.set(0,0,0),Sx.set(0,0,0);for(let f=0,m=o.length;f0?1:-1,d.push(de.x,de.y,de.z),u.push(He/E),u.push(1-De/P),G+=1}}for(let De=0;De{let i=new Ct;return i.closed=!0,i})();var _S=Ct.EMPTY;function bv(i){return i instanceof Ct||i&&"closed"in i&&Mt(i.remove)&&Mt(i.add)&&Mt(i.unsubscribe)}function HR(i){Mt(i)?i():i.unsubscribe()}var as={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var Pu={setTimeout(i,e,...t){let{delegate:n}=Pu;return n?.setTimeout?n.setTimeout(i,e,...t):setTimeout(i,e,...t)},clearTimeout(i){let{delegate:e}=Pu;return(e?.clearTimeout||clearTimeout)(i)},delegate:void 0};function yv(i){Pu.setTimeout(()=>{let{onUnhandledError:e}=as;if(e)e(i);else throw i})}function Al(){}var GR=vS("C",void 0,void 0);function jR(i){return vS("E",void 0,i)}function WR(i){return vS("N",i,void 0)}function vS(i,e,t){return{kind:i,value:e,error:t}}var Nl=null;function Ou(i){if(as.useDeprecatedSynchronousErrorHandling){let e=!Nl;if(e&&(Nl={errorThrown:!1,error:null}),i(),e){let{errorThrown:t,error:n}=Nl;if(Nl=null,t)throw n}}else i()}function $R(i){as.useDeprecatedSynchronousErrorHandling&&Nl&&(Nl.errorThrown=!0,Nl.error=i)}var kl=class extends Ct{constructor(e){super(),this.isStopped=!1,e?(this.destination=e,bv(e)&&e.add(this)):this.destination=u8}static create(e,t,n){return new ba(e,t,n)}next(e){this.isStopped?yS(WR(e),this):this._next(e)}error(e){this.isStopped?yS(jR(e),this):(this.isStopped=!0,this._error(e))}complete(){this.isStopped?yS(GR,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(e){this.destination.next(e)}_error(e){try{this.destination.error(e)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}},l8=Function.prototype.bind;function bS(i,e){return l8.call(i,e)}var xS=class{constructor(e){this.partialObserver=e}next(e){let{partialObserver:t}=this;if(t.next)try{t.next(e)}catch(n){xv(n)}}error(e){let{partialObserver:t}=this;if(t.error)try{t.error(e)}catch(n){xv(n)}else xv(e)}complete(){let{partialObserver:e}=this;if(e.complete)try{e.complete()}catch(t){xv(t)}}},ba=class extends kl{constructor(e,t,n){super();let r;if(Mt(e)||!e)r={next:e??void 0,error:t??void 0,complete:n??void 0};else{let o;this&&as.useDeprecatedNextContext?(o=Object.create(e),o.unsubscribe=()=>this.unsubscribe(),r={next:e.next&&bS(e.next,o),error:e.error&&bS(e.error,o),complete:e.complete&&bS(e.complete,o)}):r=e}this.destination=new xS(r)}};function xv(i){as.useDeprecatedSynchronousErrorHandling?$R(i):yv(i)}function d8(i){throw i}function yS(i,e){let{onStoppedNotification:t}=as;t&&Pu.setTimeout(()=>t(i,e))}var u8={closed:!0,next:Al,error:d8,complete:Al};var Ru=typeof Symbol=="function"&&Symbol.observable||"@@observable";function Tr(i){return i}function wS(...i){return CS(i)}function CS(i){return i.length===0?Tr:i.length===1?i[0]:function(t){return i.reduce((n,r)=>r(n),t)}}var Et=(()=>{class i{constructor(t){t&&(this._subscribe=t)}lift(t){let n=new i;return n.source=this,n.operator=t,n}subscribe(t,n,r){let o=p8(t)?t:new ba(t,n,r);return Ou(()=>{let{operator:s,source:a}=this;o.add(s?s.call(o,a):a?this._subscribe(o):this._trySubscribe(o))}),o}_trySubscribe(t){try{return this._subscribe(t)}catch(n){t.error(n)}}forEach(t,n){return n=qR(n),new n((r,o)=>{let s=new ba({next:a=>{try{t(a)}catch(c){o(c),s.unsubscribe()}},error:o,complete:r});this.subscribe(s)})}_subscribe(t){var n;return(n=this.source)===null||n===void 0?void 0:n.subscribe(t)}[Ru](){return this}pipe(...t){return CS(t)(this)}toPromise(t){return t=qR(t),new t((n,r)=>{let o;this.subscribe(s=>o=s,s=>r(s),()=>n(o))})}}return i.create=e=>new i(e),i})();function qR(i){var e;return(e=i??as.Promise)!==null&&e!==void 0?e:Promise}function h8(i){return i&&Mt(i.next)&&Mt(i.error)&&Mt(i.complete)}function p8(i){return i&&i instanceof kl||h8(i)&&bv(i)}function SS(i){return Mt(i?.lift)}function Lt(i){return e=>{if(SS(e))return e.lift(function(t){try{return i(t,this)}catch(n){this.error(n)}});throw new TypeError("Unable to lift unknown Observable type")}}function kt(i,e,t,n,r){return new MS(i,e,t,n,r)}var MS=class extends kl{constructor(e,t,n,r,o,s){super(e),this.onFinalize=o,this.shouldUnsubscribe=s,this._next=t?function(a){try{t(a)}catch(c){e.error(c)}}:super._next,this._error=r?function(a){try{r(a)}catch(c){e.error(c)}finally{this.unsubscribe()}}:super._error,this._complete=n?function(){try{n()}catch(a){e.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var e;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){let{closed:t}=this;super.unsubscribe(),!t&&((e=this.onFinalize)===null||e===void 0||e.call(this))}}};function Au(){return Lt((i,e)=>{let t=null;i._refCount++;let n=kt(e,void 0,void 0,void 0,()=>{if(!i||i._refCount<=0||0<--i._refCount){t=null;return}let r=i._connection,o=t;t=null,r&&(!o||r===o)&&r.unsubscribe(),e.unsubscribe()});i.subscribe(n),n.closed||(t=i.connect())})}var mc=class extends Et{constructor(e,t){super(),this.source=e,this.subjectFactory=t,this._subject=null,this._refCount=0,this._connection=null,SS(e)&&(this.lift=e.lift)}_subscribe(e){return this.getSubject().subscribe(e)}getSubject(){let e=this._subject;return(!e||e.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;let{_connection:e}=this;this._subject=this._connection=null,e?.unsubscribe()}connect(){let e=this._connection;if(!e){e=this._connection=new Ct;let t=this.getSubject();e.add(this.source.subscribe(kt(t,void 0,()=>{this._teardown(),t.complete()},n=>{this._teardown(),t.error(n)},()=>this._teardown()))),e.closed&&(this._connection=null,e=Ct.EMPTY)}return e}refCount(){return Au()(this)}};var Nu={schedule(i){let e=requestAnimationFrame,t=cancelAnimationFrame,{delegate:n}=Nu;n&&(e=n.requestAnimationFrame,t=n.cancelAnimationFrame);let r=e(o=>{t=void 0,i(o)});return new Ct(()=>t?.(r))},requestAnimationFrame(...i){let{delegate:e}=Nu;return(e?.requestAnimationFrame||requestAnimationFrame)(...i)},cancelAnimationFrame(...i){let{delegate:e}=Nu;return(e?.cancelAnimationFrame||cancelAnimationFrame)(...i)},delegate:void 0};var YR=Du(i=>function(){i(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});var pe=(()=>{class i extends Et{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){let n=new wv(this,this);return n.operator=t,n}_throwIfClosed(){if(this.closed)throw new YR}next(t){Ou(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(let n of this.currentObservers)n.next(t)}})}error(t){Ou(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;let{observers:n}=this;for(;n.length;)n.shift().error(t)}})}complete(){Ou(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;let{observers:t}=this;for(;t.length;)t.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var t;return((t=this.observers)===null||t===void 0?void 0:t.length)>0}_trySubscribe(t){return this._throwIfClosed(),super._trySubscribe(t)}_subscribe(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)}_innerSubscribe(t){let{hasError:n,isStopped:r,observers:o}=this;return n||r?_S:(this.currentObservers=null,o.push(t),new Ct(()=>{this.currentObservers=null,Rl(o,t)}))}_checkFinalizedStatuses(t){let{hasError:n,thrownError:r,isStopped:o}=this;n?t.error(r):o&&t.complete()}asObservable(){let t=new Et;return t.source=this,t}}return i.create=(e,t)=>new wv(e,t),i})(),wv=class extends pe{constructor(e,t){super(),this.destination=e,this.source=t}next(e){var t,n;(n=(t=this.destination)===null||t===void 0?void 0:t.next)===null||n===void 0||n.call(t,e)}error(e){var t,n;(n=(t=this.destination)===null||t===void 0?void 0:t.error)===null||n===void 0||n.call(t,e)}complete(){var e,t;(t=(e=this.destination)===null||e===void 0?void 0:e.complete)===null||t===void 0||t.call(e)}_subscribe(e){var t,n;return(n=(t=this.source)===null||t===void 0?void 0:t.subscribe(e))!==null&&n!==void 0?n:_S}};var On=class extends pe{constructor(e){super(),this._value=e}get value(){return this.getValue()}_subscribe(e){let t=super._subscribe(e);return!t.closed&&e.next(this._value),t}getValue(){let{hasError:e,thrownError:t,_value:n}=this;if(e)throw t;return this._throwIfClosed(),n}next(e){super.next(this._value=e)}};var Mf={now(){return(Mf.delegate||Date).now()},delegate:void 0};var ya=class extends pe{constructor(e=1/0,t=1/0,n=Mf){super(),this._bufferSize=e,this._windowTime=t,this._timestampProvider=n,this._buffer=[],this._infiniteTimeWindow=!0,this._infiniteTimeWindow=t===1/0,this._bufferSize=Math.max(1,e),this._windowTime=Math.max(1,t)}next(e){let{isStopped:t,_buffer:n,_infiniteTimeWindow:r,_timestampProvider:o,_windowTime:s}=this;t||(n.push(e),!r&&n.push(o.now()+s)),this._trimBuffer(),super.next(e)}_subscribe(e){this._throwIfClosed(),this._trimBuffer();let t=this._innerSubscribe(e),{_infiniteTimeWindow:n,_buffer:r}=this,o=r.slice();for(let s=0;sXR(e)&&i()),e},clearImmediate(i){XR(i)}};var{setImmediate:m8,clearImmediate:g8}=ZR,If={setImmediate(...i){let{delegate:e}=If;return(e?.setImmediate||m8)(...i)},clearImmediate(i){let{delegate:e}=If;return(e?.clearImmediate||g8)(i)},delegate:void 0};var Sv=class extends gc{constructor(e,t){super(e,t),this.scheduler=e,this.work=t}requestAsyncId(e,t,n=0){return n!==null&&n>0?super.requestAsyncId(e,t,n):(e.actions.push(this),e._scheduled||(e._scheduled=If.setImmediate(e.flush.bind(e,void 0))))}recycleAsyncId(e,t,n=0){var r;if(n!=null?n>0:this.delay>0)return super.recycleAsyncId(e,t,n);let{actions:o}=e;t!=null&&((r=o[o.length-1])===null||r===void 0?void 0:r.id)!==t&&(If.clearImmediate(t),e._scheduled===t&&(e._scheduled=void 0))}};var ku=class i{constructor(e,t=i.now){this.schedulerActionCtor=e,this.now=t}schedule(e,t=0,n){return new this.schedulerActionCtor(this,e).schedule(n,t)}};ku.now=Mf.now;var _c=class extends ku{constructor(e,t=ku.now){super(e,t),this.actions=[],this._active=!1}flush(e){let{actions:t}=this;if(this._active){t.push(e);return}let n;this._active=!0;do if(n=e.execute(e.state,e.delay))break;while(e=t.shift());if(this._active=!1,n){for(;e=t.shift();)e.unsubscribe();throw n}}};var Mv=class extends _c{flush(e){this._active=!0;let t=this._scheduled;this._scheduled=void 0;let{actions:n}=this,r;e=e||n.shift();do if(r=e.execute(e.state,e.delay))break;while((e=n[0])&&e.id===t&&n.shift());if(this._active=!1,r){for(;(e=n[0])&&e.id===t&&n.shift();)e.unsubscribe();throw r}}};var Tf=new Mv(Sv);var xa=new _c(gc),QR=xa;var Ev=class extends gc{constructor(e,t){super(e,t),this.scheduler=e,this.work=t}requestAsyncId(e,t,n=0){return n!==null&&n>0?super.requestAsyncId(e,t,n):(e.actions.push(this),e._scheduled||(e._scheduled=Nu.requestAnimationFrame(()=>e.flush(void 0))))}recycleAsyncId(e,t,n=0){var r;if(n!=null?n>0:this.delay>0)return super.recycleAsyncId(e,t,n);let{actions:o}=e;t!=null&&((r=o[o.length-1])===null||r===void 0?void 0:r.id)!==t&&(Nu.cancelAnimationFrame(t),e._scheduled=void 0)}};var Iv=class extends _c{flush(e){this._active=!0;let t=this._scheduled;this._scheduled=void 0;let{actions:n}=this,r;e=e||n.shift();do if(r=e.execute(e.state,e.delay))break;while((e=n[0])&&e.id===t&&n.shift());if(this._active=!1,r){for(;(e=n[0])&&e.id===t&&n.shift();)e.unsubscribe();throw r}}};var Tv=new Iv(Ev);var Dr=new Et(i=>i.complete());function Dv(i){return i&&Mt(i.schedule)}function TS(i){return i[i.length-1]}function Pv(i){return Mt(TS(i))?i.pop():void 0}function Ds(i){return Dv(TS(i))?i.pop():void 0}function KR(i,e){return typeof TS(i)=="number"?i.pop():e}function eA(i,e,t,n){function r(o){return o instanceof t?o:new t(function(s){s(o)})}return new(t||(t=Promise))(function(o,s){function a(d){try{l(n.next(d))}catch(u){s(u)}}function c(d){try{l(n.throw(d))}catch(u){s(u)}}function l(d){d.done?o(d.value):r(d.value).then(a,c)}l((n=n.apply(i,e||[])).next())})}function JR(i){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&i[e],n=0;if(t)return t.call(i);if(i&&typeof i.length=="number")return{next:function(){return i&&n>=i.length&&(i=void 0),{value:i&&i[n++],done:!i}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Ll(i){return this instanceof Ll?(this.v=i,this):new Ll(i)}function tA(i,e,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n=t.apply(i,e||[]),r,o=[];return r={},a("next"),a("throw"),a("return",s),r[Symbol.asyncIterator]=function(){return this},r;function s(p){return function(f){return Promise.resolve(f).then(p,u)}}function a(p,f){n[p]&&(r[p]=function(m){return new Promise(function(y,g){o.push([p,m,y,g])>1||c(p,m)})},f&&(r[p]=f(r[p])))}function c(p,f){try{l(n[p](f))}catch(m){h(o[0][3],m)}}function l(p){p.value instanceof Ll?Promise.resolve(p.value.v).then(d,u):h(o[0][2],p)}function d(p){c("next",p)}function u(p){c("throw",p)}function h(p,f){p(f),o.shift(),o.length&&c(o[0][0],o[0][1])}}function nA(i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=i[Symbol.asyncIterator],t;return e?e.call(i):(i=typeof JR=="function"?JR(i):i[Symbol.iterator](),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(o){t[o]=i[o]&&function(s){return new Promise(function(a,c){s=i[o](s),r(a,c,s.done,s.value)})}}function r(o,s,a,c){Promise.resolve(c).then(function(l){o({value:l,done:a})},s)}}var Lu=i=>i&&typeof i.length=="number"&&typeof i!="function";function Ov(i){return Mt(i?.then)}function Rv(i){return Mt(i[Ru])}function Av(i){return Symbol.asyncIterator&&Mt(i?.[Symbol.asyncIterator])}function Nv(i){return new TypeError(`You provided ${i!==null&&typeof i=="object"?"an invalid object":`'${i}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}function _8(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var kv=_8();function Lv(i){return Mt(i?.[kv])}function Fv(i){return tA(this,arguments,function*(){let t=i.getReader();try{for(;;){let{value:n,done:r}=yield Ll(t.read());if(r)return yield Ll(void 0);yield yield Ll(n)}}finally{t.releaseLock()}})}function Bv(i){return Mt(i?.getReader)}function Cn(i){if(i instanceof Et)return i;if(i!=null){if(Rv(i))return v8(i);if(Lu(i))return b8(i);if(Ov(i))return y8(i);if(Av(i))return iA(i);if(Lv(i))return x8(i);if(Bv(i))return w8(i)}throw Nv(i)}function v8(i){return new Et(e=>{let t=i[Ru]();if(Mt(t.subscribe))return t.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function b8(i){return new Et(e=>{for(let t=0;t{i.then(t=>{e.closed||(e.next(t),e.complete())},t=>e.error(t)).then(null,yv)})}function x8(i){return new Et(e=>{for(let t of i)if(e.next(t),e.closed)return;e.complete()})}function iA(i){return new Et(e=>{C8(i,e).catch(t=>e.error(t))})}function w8(i){return iA(Fv(i))}function C8(i,e){var t,n,r,o;return eA(this,void 0,void 0,function*(){try{for(t=nA(i);n=yield t.next(),!n.done;){let s=n.value;if(e.next(s),e.closed)return}}catch(s){r={error:s}}finally{try{n&&!n.done&&(o=t.return)&&(yield o.call(t))}finally{if(r)throw r.error}}e.complete()})}function Jr(i,e,t,n=0,r=!1){let o=e.schedule(function(){t(),r?i.add(this.schedule(null,n)):this.unsubscribe()},n);if(i.add(o),!r)return o}function Vv(i,e=0){return Lt((t,n)=>{t.subscribe(kt(n,r=>Jr(n,i,()=>n.next(r),e),()=>Jr(n,i,()=>n.complete(),e),r=>Jr(n,i,()=>n.error(r),e)))})}function zv(i,e=0){return Lt((t,n)=>{n.add(i.schedule(()=>t.subscribe(n),e))})}function rA(i,e){return Cn(i).pipe(zv(e),Vv(e))}function oA(i,e){return Cn(i).pipe(zv(e),Vv(e))}function sA(i,e){return new Et(t=>{let n=0;return e.schedule(function(){n===i.length?t.complete():(t.next(i[n++]),t.closed||this.schedule())})})}function aA(i,e){return new Et(t=>{let n;return Jr(t,e,()=>{n=i[kv](),Jr(t,e,()=>{let r,o;try{({value:r,done:o}=n.next())}catch(s){t.error(s);return}o?t.complete():t.next(r)},0,!0)}),()=>Mt(n?.return)&&n.return()})}function Uv(i,e){if(!i)throw new Error("Iterable cannot be null");return new Et(t=>{Jr(t,e,()=>{let n=i[Symbol.asyncIterator]();Jr(t,e,()=>{n.next().then(r=>{r.done?t.complete():t.next(r.value)})},0,!0)})})}function cA(i,e){return Uv(Fv(i),e)}function lA(i,e){if(i!=null){if(Rv(i))return rA(i,e);if(Lu(i))return sA(i,e);if(Ov(i))return oA(i,e);if(Av(i))return Uv(i,e);if(Lv(i))return aA(i,e);if(Bv(i))return cA(i,e)}throw Nv(i)}function Jn(i,e){return e?lA(i,e):Cn(i)}function Ke(...i){let e=Ds(i);return Jn(i,e)}function vc(i,e){let t=Mt(i)?i:()=>i,n=r=>r.error(t());return new Et(e?r=>e.schedule(n,0,r):n)}function Fl(i){return!!i&&(i instanceof Et||Mt(i.lift)&&Mt(i.subscribe))}var wa=Du(i=>function(){i(this),this.name="EmptyError",this.message="no elements in sequence"});function dA(i){return i instanceof Date&&!isNaN(i)}function Je(i,e){return Lt((t,n)=>{let r=0;t.subscribe(kt(n,o=>{n.next(i.call(e,o,r++))}))})}var{isArray:S8}=Array;function M8(i,e){return S8(e)?i(...e):i(e)}function Fu(i){return Je(e=>M8(i,e))}var{isArray:E8}=Array,{getPrototypeOf:I8,prototype:T8,keys:D8}=Object;function Hv(i){if(i.length===1){let e=i[0];if(E8(e))return{args:e,keys:null};if(P8(e)){let t=D8(e);return{args:t.map(n=>e[n]),keys:t}}}return{args:i,keys:null}}function P8(i){return i&&typeof i=="object"&&I8(i)===T8}function Gv(i,e){return i.reduce((t,n,r)=>(t[n]=e[r],t),{})}function eo(...i){let e=Ds(i),t=Pv(i),{args:n,keys:r}=Hv(i);if(n.length===0)return Jn([],e);let o=new Et(O8(n,e,r?s=>Gv(r,s):Tr));return t?o.pipe(Fu(t)):o}function O8(i,e,t=Tr){return n=>{uA(e,()=>{let{length:r}=i,o=new Array(r),s=r,a=r;for(let c=0;c{let l=Jn(i[c],e),d=!1;l.subscribe(kt(n,u=>{o[c]=u,d||(d=!0,a--),a||n.next(t(o.slice()))},()=>{--s||n.complete()}))},n)},n)}}function uA(i,e,t){i?Jr(t,i,e):e()}function hA(i,e,t,n,r,o,s,a){let c=[],l=0,d=0,u=!1,h=()=>{u&&!c.length&&!l&&e.complete()},p=m=>l{o&&e.next(m),l++;let y=!1;Cn(t(m,d++)).subscribe(kt(e,g=>{r?.(g),o?p(g):e.next(g)},()=>{y=!0},void 0,()=>{if(y)try{for(l--;c.length&&lf(g)):f(g)}h()}catch(g){e.error(g)}}))};return i.subscribe(kt(e,p,()=>{u=!0,h()})),()=>{a?.()}}function ti(i,e,t=1/0){return Mt(e)?ti((n,r)=>Je((o,s)=>e(n,o,r,s))(Cn(i(n,r))),t):(typeof e=="number"&&(t=e),Lt((n,r)=>hA(n,r,i,t)))}function Df(i=1/0){return ti(Tr,i)}function pA(){return Df(1)}function Ps(...i){return pA()(Jn(i,Ds(i)))}function Po(i){return new Et(e=>{Cn(i()).subscribe(e)})}function Pf(...i){let e=Pv(i),{args:t,keys:n}=Hv(i),r=new Et(o=>{let{length:s}=t;if(!s){o.complete();return}let a=new Array(s),c=s,l=s;for(let d=0;d{u||(u=!0,l--),a[d]=h},()=>c--,void 0,()=>{(!c||!u)&&(l||o.next(n?Gv(n,a):a),o.complete())}))}});return e?r.pipe(Fu(e)):r}var R8=["addListener","removeListener"],A8=["addEventListener","removeEventListener"],N8=["on","off"];function yn(i,e,t,n){if(Mt(t)&&(n=t,t=void 0),n)return yn(i,e,t).pipe(Fu(n));let[r,o]=F8(i)?A8.map(s=>a=>i[s](e,a,t)):k8(i)?R8.map(fA(i,e)):L8(i)?N8.map(fA(i,e)):[];if(!r&&Lu(i))return ti(s=>yn(s,e,t))(Cn(i));if(!r)throw new TypeError("Invalid event target");return new Et(s=>{let a=(...c)=>s.next(1o(a)})}function fA(i,e){return t=>n=>i[t](e,n)}function k8(i){return Mt(i.addListener)&&Mt(i.removeListener)}function L8(i){return Mt(i.on)&&Mt(i.off)}function F8(i){return Mt(i.addEventListener)&&Mt(i.removeEventListener)}function Bu(i=0,e,t=QR){let n=-1;return e!=null&&(Dv(e)?t=e:n=e),new Et(r=>{let o=dA(i)?+i-t.now():i;o<0&&(o=0);let s=0;return t.schedule(function(){r.closed||(r.next(s++),0<=n?this.schedule(void 0,n):r.complete())},o)})}function DS(i=0,e=xa){return i<0&&(i=0),Bu(i,i,e)}function Zn(...i){let e=Ds(i),t=KR(i,1/0),n=i;return n.length?n.length===1?Cn(n[0]):Df(t)(Jn(n,e)):Dr}function qt(i,e){return Lt((t,n)=>{let r=0;t.subscribe(kt(n,o=>i.call(e,o,r++)&&n.next(o)))})}function Of(i){return Lt((e,t)=>{let n=!1,r=null,o=null,s=!1,a=()=>{if(o?.unsubscribe(),o=null,n){n=!1;let l=r;r=null,t.next(l)}s&&t.complete()},c=()=>{o=null,s&&t.complete()};e.subscribe(kt(t,l=>{n=!0,r=l,o||Cn(i(l)).subscribe(o=kt(t,a,c))},()=>{s=!0,(!n||!o||o.closed)&&t.complete()}))})}function jv(i,e=xa){return Of(()=>Bu(i,e))}function Os(i){return Lt((e,t)=>{let n=null,r=!1,o;n=e.subscribe(kt(t,void 0,void 0,s=>{o=Cn(i(s,Os(i)(e))),n?(n.unsubscribe(),n=null,o.subscribe(t)):r=!0})),r&&(n.unsubscribe(),n=null,o.subscribe(t))})}function mA(i,e,t,n,r){return(o,s)=>{let a=t,c=e,l=0;o.subscribe(kt(s,d=>{let u=l++;c=a?i(c,d,u):(a=!0,d),n&&s.next(c)},r&&(()=>{a&&s.next(c),s.complete()})))}}function bc(i,e){return Mt(e)?ti(i,e,1):ti(i,1)}function Oo(i,e=xa){return Lt((t,n)=>{let r=null,o=null,s=null,a=()=>{if(r){r.unsubscribe(),r=null;let l=o;o=null,n.next(l)}};function c(){let l=s+i,d=e.now();if(d{o=l,s=e.now(),r||(r=e.schedule(c,i),n.add(r))},()=>{a(),n.complete()},void 0,()=>{o=r=null}))})}function yc(i){return Lt((e,t)=>{let n=!1;e.subscribe(kt(t,r=>{n=!0,t.next(r)},()=>{n||t.next(i),t.complete()}))})}function _n(i){return i<=0?()=>Dr:Lt((e,t)=>{let n=0;e.subscribe(kt(t,r=>{++n<=i&&(t.next(r),i<=n&&t.complete())}))})}function gA(){return Lt((i,e)=>{i.subscribe(kt(e,Al))})}function Rf(i){return Je(()=>i)}function PS(i,e){return e?t=>Ps(e.pipe(_n(1),gA()),t.pipe(PS(i))):ti((t,n)=>Cn(i(t,n)).pipe(_n(1),Rf(t)))}function Vu(i,e=xa){let t=Bu(i,e);return PS(()=>t)}function xc(i,e=Tr){return i=i??B8,Lt((t,n)=>{let r,o=!0;t.subscribe(kt(n,s=>{let a=e(s);(o||!i(r,a))&&(o=!1,r=a,n.next(s))}))})}function B8(i,e){return i===e}function Wv(i=V8){return Lt((e,t)=>{let n=!1;e.subscribe(kt(t,r=>{n=!0,t.next(r)},()=>n?t.complete():t.error(i())))})}function V8(){return new wa}function wc(i){return Lt((e,t)=>{try{e.subscribe(t)}finally{t.add(i)}})}function Rs(i,e){let t=arguments.length>=2;return n=>n.pipe(i?qt((r,o)=>i(r,o,n)):Tr,_n(1),t?yc(e):Wv(()=>new wa))}function zu(i){return i<=0?()=>Dr:Lt((e,t)=>{let n=[];e.subscribe(kt(t,r=>{n.push(r),i{for(let r of n)t.next(r);t.complete()},void 0,()=>{n=null}))})}function OS(i,e){let t=arguments.length>=2;return n=>n.pipe(i?qt((r,o)=>i(r,o,n)):Tr,zu(1),t?yc(e):Wv(()=>new wa))}function RS(i,e){return Lt(mA(i,e,arguments.length>=2,!0))}function Af(i={}){let{connector:e=()=>new pe,resetOnError:t=!0,resetOnComplete:n=!0,resetOnRefCountZero:r=!0}=i;return o=>{let s,a,c,l=0,d=!1,u=!1,h=()=>{a?.unsubscribe(),a=void 0},p=()=>{h(),s=c=void 0,d=u=!1},f=()=>{let m=s;p(),m?.unsubscribe()};return Lt((m,y)=>{l++,!u&&!d&&h();let g=c=c??e();y.add(()=>{l--,l===0&&!u&&!d&&(a=AS(f,r))}),g.subscribe(y),!s&&l>0&&(s=new ba({next:_=>g.next(_),error:_=>{u=!0,h(),a=AS(p,t,_),g.error(_)},complete:()=>{d=!0,h(),a=AS(p,n),g.complete()}}),Cn(m).subscribe(s))})(o)}}function AS(i,e,...t){if(e===!0){i();return}if(e===!1)return;let n=new ba({next:()=>{n.unsubscribe(),i()}});return Cn(e(...t)).subscribe(n)}function $v(i,e,t){let n,r=!1;return i&&typeof i=="object"?{bufferSize:n=1/0,windowTime:e=1/0,refCount:r=!1,scheduler:t}=i:n=i??1/0,Af({connector:()=>new ya(n,e,t),resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:r})}function Nf(i){return qt((e,t)=>i<=t)}function gi(...i){let e=Ds(i);return Lt((t,n)=>{(e?Ps(i,t,e):Ps(i,t)).subscribe(n)})}function Qn(i,e){return Lt((t,n)=>{let r=null,o=0,s=!1,a=()=>s&&!r&&n.complete();t.subscribe(kt(n,c=>{r?.unsubscribe();let l=0,d=o++;Cn(i(c,d)).subscribe(r=kt(n,u=>n.next(e?e(c,u,d,l++):u),()=>{r=null,a()}))},()=>{s=!0,a()}))})}function Ze(i){return Lt((e,t)=>{Cn(i).subscribe(kt(t,()=>t.complete(),Al)),!t.closed&&e.subscribe(t)})}function NS(i,e=!1){return Lt((t,n)=>{let r=0;t.subscribe(kt(n,o=>{let s=i(o,r++);(s||e)&&n.next(o),!s&&n.complete()}))})}function En(i,e,t){let n=Mt(i)||e||t?{next:i,error:e,complete:t}:i;return n?Lt((r,o)=>{var s;(s=n.subscribe)===null||s===void 0||s.call(n);let a=!0;r.subscribe(kt(o,c=>{var l;(l=n.next)===null||l===void 0||l.call(n,c),o.next(c)},()=>{var c;a=!1,(c=n.complete)===null||c===void 0||c.call(n),o.complete()},c=>{var l;a=!1,(l=n.error)===null||l===void 0||l.call(n,c),o.error(c)},()=>{var c,l;a&&((c=n.unsubscribe)===null||c===void 0||c.call(n)),(l=n.finalize)===null||l===void 0||l.call(n)}))}):Tr}var sN="https://g.co/ng/security#xss",Oe=class extends Error{constructor(e,t){super(oE(e,t)),this.code=e}};function oE(i,e){return`${`NG0${Math.abs(i)}`}${e?": "+e:""}`}function Wf(i){return{toString:i}.toString()}var qv="__parameters__";function z8(i){return function(...t){if(i){let n=i(...t);for(let r in n)this[r]=n[r]}}}function aN(i,e,t){return Wf(()=>{let n=z8(e);function r(...o){if(this instanceof r)return n.apply(this,o),this;let s=new r(...o);return a.annotation=s,a;function a(c,l,d){let u=c.hasOwnProperty(qv)?c[qv]:Object.defineProperty(c,qv,{value:[]})[qv];for(;u.length<=d;)u.push(null);return(u[d]=u[d]||[]).push(s),c}}return t&&(r.prototype=Object.create(t.prototype)),r.prototype.ngMetadataName=i,r.annotationCls=r,r})}var Lf=globalThis;function Gn(i){for(let e in i)if(i[e]===Gn)return e;throw Error("Could not find renamed property on target object.")}function U8(i,e){for(let t in e)e.hasOwnProperty(t)&&!i.hasOwnProperty(t)&&(i[t]=e[t])}function Rr(i){if(typeof i=="string")return i;if(Array.isArray(i))return"["+i.map(Rr).join(", ")+"]";if(i==null)return""+i;if(i.overriddenName)return`${i.overriddenName}`;if(i.name)return`${i.name}`;let e=i.toString();if(e==null)return""+e;let t=e.indexOf(` +`);return t===-1?e:e.substring(0,t)}function XS(i,e){return i==null||i===""?e===null?"":e:e==null||e===""?i:i+" "+e}var H8=Gn({__forward_ref__:Gn});function kr(i){return i.__forward_ref__=kr,i.toString=function(){return Rr(this())},i}function Yi(i){return cN(i)?i():i}function cN(i){return typeof i=="function"&&i.hasOwnProperty(H8)&&i.__forward_ref__===kr}function J(i){return{token:i.token,providedIn:i.providedIn||null,factory:i.factory,value:void 0}}function it(i){return{providers:i.providers||[],imports:i.imports||[]}}function T0(i){return _A(i,dN)||_A(i,uN)}function lN(i){return T0(i)!==null}function _A(i,e){return i.hasOwnProperty(e)?i[e]:null}function G8(i){let e=i&&(i[dN]||i[uN]);return e||null}function vA(i){return i&&(i.hasOwnProperty(bA)||i.hasOwnProperty(j8))?i[bA]:null}var dN=Gn({\u0275prov:Gn}),bA=Gn({\u0275inj:Gn}),uN=Gn({ngInjectableDef:Gn}),j8=Gn({ngInjectorDef:Gn}),me=class{constructor(e,t){this._desc=e,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,typeof t=="number"?this.__NG_ELEMENT_ID__=t:t!==void 0&&(this.\u0275prov=J({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}};function hN(i){return i&&!!i.\u0275providers}var W8=Gn({\u0275cmp:Gn}),$8=Gn({\u0275dir:Gn}),q8=Gn({\u0275pipe:Gn}),Y8=Gn({\u0275mod:Gn}),o0=Gn({\u0275fac:Gn}),kf=Gn({__NG_ELEMENT_ID__:Gn}),yA=Gn({__NG_ENV_ID__:Gn});function As(i){return typeof i=="string"?i:i==null?"":String(i)}function X8(i){return typeof i=="function"?i.name||i.toString():typeof i=="object"&&i!=null&&typeof i.type=="function"?i.type.name||i.type.toString():As(i)}function Z8(i,e){let t=e?`. Dependency path: ${e.join(" > ")} > ${i}`:"";throw new Oe(-200,i)}function sE(i,e){throw new Oe(-201,!1)}var tn=function(i){return i[i.Default=0]="Default",i[i.Host=1]="Host",i[i.Self=2]="Self",i[i.SkipSelf=4]="SkipSelf",i[i.Optional=8]="Optional",i}(tn||{}),ZS;function pN(){return ZS}function Ro(i){let e=ZS;return ZS=i,e}function fN(i,e,t){let n=T0(i);if(n&&n.providedIn=="root")return n.value===void 0?n.value=n.factory():n.value;if(t&tn.Optional)return null;if(e!==void 0)return e;sE(i,"Injector")}var Q8={},Ff=Q8,QS="__NG_DI_FLAG__",s0="ngTempTokenPath",K8="ngTokenPath",J8=/\n/gm,eW="\u0275",xA="__source",ju;function tW(){return ju}function Cc(i){let e=ju;return ju=i,e}function nW(i,e=tn.Default){if(ju===void 0)throw new Oe(-203,!1);return ju===null?fN(i,void 0,e):ju.get(i,e&tn.Optional?null:void 0,e)}function X(i,e=tn.Default){return(pN()||nW)(Yi(i),e)}function te(i,e=tn.Default){return X(i,D0(e))}function D0(i){return typeof i>"u"||typeof i=="number"?i:0|(i.optional&&8)|(i.host&&1)|(i.self&&2)|(i.skipSelf&&4)}function KS(i){let e=[];for(let t=0;t ");else if(typeof e=="object"){let o=[];for(let s in e)if(e.hasOwnProperty(s)){let a=e[s];o.push(s+":"+(typeof a=="string"?JSON.stringify(a):Rr(a)))}r=`{${o.join(", ")}}`}return`${t}${n?"("+n+")":""}[${r}]: ${i.replace(J8,` + `)}`}var P0=mN(aN("Optional"),8);var aE=mN(aN("SkipSelf"),4);function $u(i,e){let t=i.hasOwnProperty(o0);return t?i[o0]:null}function sW(i,e,t){if(i.length!==e.length)return!1;for(let n=0;nArray.isArray(t)?cE(t,e):e(t))}function gN(i,e,t){e>=i.length?i.push(t):i.splice(e,0,t)}function a0(i,e){return e>=i.length-1?i.pop():i.splice(e,1)[0]}function cW(i,e){let t=[];for(let n=0;ne;){let o=r-2;i[r]=i[o],r--}i[e]=t,i[e+1]=n}}function O0(i,e,t){let n=$f(i,e);return n>=0?i[n|1]=t:(n=~n,lW(i,n,e,t)),n}function kS(i,e){let t=$f(i,e);if(t>=0)return i[t|1]}function $f(i,e){return dW(i,e,1)}function dW(i,e,t){let n=0,r=i.length>>t;for(;r!==n;){let o=n+(r-n>>1),s=i[o<e?r=o:n=o+1}return~(r<e){s=o-1;break}}}for(;o-1){let o;for(;++ro?u="":u=r[d+1].toLowerCase(),n&2&&l!==u){if(cs(n))return!1;s=!0}}}}return cs(n)||s}function cs(i){return(i&1)===0}function gW(i,e,t,n){if(e===null)return-1;let r=0;if(n||!t){let o=!1;for(;r-1)for(t++;t0?'="'+a+'"':"")+"]"}else n&8?r+="."+s:n&4&&(r+=" "+s);else r!==""&&!cs(s)&&(e+=CA(o,r),r=""),n=s,o=o||!cs(n);t++}return r!==""&&(e+=CA(o,r)),e}function wW(i){return i.map(xW).join(",")}function CW(i){let e=[],t=[],n=1,r=2;for(;n{let e=EN(i),t=yt(Z({},e),{decls:i.decls,vars:i.vars,template:i.template,consts:i.consts||null,ngContentSelectors:i.ngContentSelectors,onPush:i.changeDetection===bN.OnPush,directiveDefs:null,pipeDefs:null,dependencies:e.standalone&&i.dependencies||null,getStandaloneInjector:null,signals:i.signals??!1,data:i.data||{},encapsulation:i.encapsulation||Ls.Emulated,styles:i.styles||Pr,_:null,schemas:i.schemas||null,tView:null,id:""});IN(t);let n=i.dependencies;return t.directiveDefs=MA(n,!1),t.pipeDefs=MA(n,!0),t.id=EW(t),t})}function SW(i){return Ic(i)||dE(i)}function MW(i){return i!==null}function rt(i){return Wf(()=>({type:i.type,bootstrap:i.bootstrap||Pr,declarations:i.declarations||Pr,imports:i.imports||Pr,exports:i.exports||Pr,transitiveCompileScopes:null,schemas:i.schemas||null,id:i.id||null}))}function SA(i,e){if(i==null)return Ca;let t={};for(let n in i)if(i.hasOwnProperty(n)){let r=i[n],o,s,a=Ec.None;Array.isArray(r)?(a=r[0],o=r[1],s=r[2]??o):(o=r,s=r),e?(t[o]=a!==Ec.None?[n,a]:n,e[o]=s):t[o]=n}return t}function Ve(i){return Wf(()=>{let e=EN(i);return IN(e),e})}function Ic(i){return i[W8]||null}function dE(i){return i[$8]||null}function CN(i){return i[q8]||null}function SN(i){let e=Ic(i)||dE(i)||CN(i);return e!==null?e.standalone:!1}function MN(i,e){let t=i[Y8]||null;if(!t&&e===!0)throw new Error(`Type ${Rr(i)} does not have '\u0275mod' property.`);return t}function EN(i){let e={};return{type:i.type,providersResolver:null,factory:null,hostBindings:i.hostBindings||null,hostVars:i.hostVars||0,hostAttrs:i.hostAttrs||null,contentQueries:i.contentQueries||null,declaredInputs:e,inputTransforms:null,inputConfig:i.inputs||Ca,exportAs:i.exportAs||null,standalone:i.standalone===!0,signals:i.signals===!0,selectors:i.selectors||Pr,viewQuery:i.viewQuery||null,features:i.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:SA(i.inputs,e),outputs:SA(i.outputs),debugInfo:null}}function IN(i){i.features?.forEach(e=>e(i))}function MA(i,e){if(!i)return null;let t=e?CN:SW;return()=>(typeof i=="function"?i():i).map(n=>t(n)).filter(MW)}function EW(i){let e=0,t=[i.selectors,i.ngContentSelectors,i.hostVars,i.hostAttrs,i.consts,i.vars,i.decls,i.encapsulation,i.standalone,i.signals,i.exportAs,JSON.stringify(i.inputs),JSON.stringify(i.outputs),Object.getOwnPropertyNames(i.type.prototype),!!i.contentQueries,!!i.viewQuery].join("|");for(let r of t)e=Math.imul(31,e)+r.charCodeAt(0)<<0;return e+=2147483648,"c"+e}function R0(i){return{\u0275providers:i}}function IW(...i){return{\u0275providers:TN(!0,i),\u0275fromNgModule:!0}}function TN(i,...e){let t=[],n=new Set,r,o=s=>{t.push(s)};return cE(e,s=>{let a=s;eM(a,o,[],n)&&(r||=[],r.push(a))}),r!==void 0&&DN(r,o),t}function DN(i,e){for(let t=0;t{e(o,n)})}}function eM(i,e,t,n){if(i=Yi(i),!i)return!1;let r=null,o=vA(i),s=!o&&Ic(i);if(!o&&!s){let c=i.ngModule;if(o=vA(c),o)r=c;else return!1}else{if(s&&!s.standalone)return!1;r=i}let a=n.has(r);if(s){if(a)return!1;if(n.add(r),s.dependencies){let c=typeof s.dependencies=="function"?s.dependencies():s.dependencies;for(let l of c)eM(l,e,t,n)}}else if(o){if(o.imports!=null&&!a){n.add(r);let l;try{cE(o.imports,d=>{eM(d,e,t,n)&&(l||=[],l.push(d))})}finally{}l!==void 0&&DN(l,e)}if(!a){let l=$u(r)||(()=>new r);e({provide:r,useFactory:l,deps:Pr},r),e({provide:vN,useValue:r,multi:!0},r),e({provide:qu,useValue:()=>X(r),multi:!0},r)}let c=o.providers;if(c!=null&&!a){let l=i;uE(c,d=>{e(d,l)})}}else return!1;return r!==i&&i.providers!==void 0}function uE(i,e){for(let t of i)hN(t)&&(t=t.\u0275providers),Array.isArray(t)?uE(t,e):e(t)}var TW=Gn({provide:String,useValue:Gn});function PN(i){return i!==null&&typeof i=="object"&&TW in i}function DW(i){return!!(i&&i.useExisting)}function PW(i){return!!(i&&i.useFactory)}function Yu(i){return typeof i=="function"}function OW(i){return!!i.useClass}var A0=new me(""),Kv={},RW={},LS;function N0(){return LS===void 0&&(LS=new c0),LS}var Xi=class{},Vf=class extends Xi{get destroyed(){return this._destroyed}constructor(e,t,n,r){super(),this.parent=t,this.source=n,this.scopes=r,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,nM(e,s=>this.processProvider(s)),this.records.set(_N,Uu(void 0,this)),r.has("environment")&&this.records.set(Xi,Uu(void 0,this));let o=this.records.get(A0);o!=null&&typeof o.value=="string"&&this.scopes.add(o.value),this.injectorDefTypes=new Set(this.get(vN,Pr,tn.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;let e=ln(null);try{for(let n of this._ngOnDestroyHooks)n.ngOnDestroy();let t=this._onDestroyHooks;this._onDestroyHooks=[];for(let n of t)n()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),ln(e)}}onDestroy(e){return this.assertNotDestroyed(),this._onDestroyHooks.push(e),()=>this.removeOnDestroy(e)}runInContext(e){this.assertNotDestroyed();let t=Cc(this),n=Ro(void 0),r;try{return e()}finally{Cc(t),Ro(n)}}get(e,t=Ff,n=tn.Default){if(this.assertNotDestroyed(),e.hasOwnProperty(yA))return e[yA](this);n=D0(n);let r,o=Cc(this),s=Ro(void 0);try{if(!(n&tn.SkipSelf)){let c=this.records.get(e);if(c===void 0){let l=FW(e)&&T0(e);l&&this.injectableDefInScope(l)?c=Uu(tM(e),Kv):c=null,this.records.set(e,c)}if(c!=null)return this.hydrate(e,c)}let a=n&tn.Self?N0():this.parent;return t=n&tn.Optional&&t===Ff?null:t,a.get(e,t)}catch(a){if(a.name==="NullInjectorError"){if((a[s0]=a[s0]||[]).unshift(Rr(e)),o)throw a;return rW(a,e,"R3InjectorError",this.source)}else throw a}finally{Ro(s),Cc(o)}}resolveInjectorInitializers(){let e=ln(null),t=Cc(this),n=Ro(void 0),r;try{let o=this.get(qu,Pr,tn.Self);for(let s of o)s()}finally{Cc(t),Ro(n),ln(e)}}toString(){let e=[],t=this.records;for(let n of t.keys())e.push(Rr(n));return`R3Injector[${e.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Oe(205,!1)}processProvider(e){e=Yi(e);let t=Yu(e)?e:Yi(e&&e.provide),n=NW(e);if(!Yu(e)&&e.multi===!0){let r=this.records.get(t);r||(r=Uu(void 0,Kv,!0),r.factory=()=>KS(r.multi),this.records.set(t,r)),t=e,r.multi.push(e)}this.records.set(t,n)}hydrate(e,t){let n=ln(null);try{return t.value===Kv&&(t.value=RW,t.value=t.factory()),typeof t.value=="object"&&t.value&&LW(t.value)&&this._ngOnDestroyHooks.add(t.value),t.value}finally{ln(n)}}injectableDefInScope(e){if(!e.providedIn)return!1;let t=Yi(e.providedIn);return typeof t=="string"?t==="any"||this.scopes.has(t):this.injectorDefTypes.has(t)}removeOnDestroy(e){let t=this._onDestroyHooks.indexOf(e);t!==-1&&this._onDestroyHooks.splice(t,1)}};function tM(i){let e=T0(i),t=e!==null?e.factory:$u(i);if(t!==null)return t;if(i instanceof me)throw new Oe(204,!1);if(i instanceof Function)return AW(i);throw new Oe(204,!1)}function AW(i){if(i.length>0)throw new Oe(204,!1);let t=G8(i);return t!==null?()=>t.factory(i):()=>new i}function NW(i){if(PN(i))return Uu(void 0,i.useValue);{let e=ON(i);return Uu(e,Kv)}}function ON(i,e,t){let n;if(Yu(i)){let r=Yi(i);return $u(r)||tM(r)}else if(PN(i))n=()=>Yi(i.useValue);else if(PW(i))n=()=>i.useFactory(...KS(i.deps||[]));else if(DW(i))n=()=>X(Yi(i.useExisting));else{let r=Yi(i&&(i.useClass||i.provide));if(kW(i))n=()=>new r(...KS(i.deps));else return $u(r)||tM(r)}return n}function Uu(i,e,t=!1){return{factory:i,value:e,multi:t?[]:void 0}}function kW(i){return!!i.deps}function LW(i){return i!==null&&typeof i=="object"&&typeof i.ngOnDestroy=="function"}function FW(i){return typeof i=="function"||typeof i=="object"&&i instanceof me}function nM(i,e){for(let t of i)Array.isArray(t)?nM(t,e):t&&hN(t)?nM(t.\u0275providers,e):e(t)}function Vs(i,e){i instanceof Vf&&i.assertNotDestroyed();let t,n=Cc(i),r=Ro(void 0);try{return e()}finally{Cc(n),Ro(r)}}function RN(){return pN()!==void 0||tW()!=null}function ih(i){if(!RN())throw new Oe(-203,!1)}function BW(i){return typeof i=="function"}var zs=0,Gt=1,Rt=2,mr=3,ds=4,to=5,Xu=6,l0=7,pr=8,Zu=9,Fs=10,ai=11,zf=12,EA=13,rh=14,lo=15,zl=16,Hu=17,Sa=18,k0=19,AN=20,Sc=21,Jv=22,Ao=23,Ar=25,hE=1;var Ul=7,d0=8,Qu=9,fr=10,u0=function(i){return i[i.None=0]="None",i[i.HasTransplantedViews=2]="HasTransplantedViews",i}(u0||{});function Mc(i){return Array.isArray(i)&&typeof i[hE]=="object"}function Ta(i){return Array.isArray(i)&&i[hE]===!0}function pE(i){return(i.flags&4)!==0}function L0(i){return i.componentOffset>-1}function F0(i){return(i.flags&1)===1}function Ma(i){return!!i.template}function iM(i){return(i[Rt]&512)!==0}var rM=class{constructor(e,t,n){this.previousValue=e,this.currentValue=t,this.firstChange=n}isFirstChange(){return this.firstChange}};function NN(i,e,t,n){e!==null?e.applyValueToInputSignal(e,n):i[t]=n}function dn(){return kN}function kN(i){return i.type.prototype.ngOnChanges&&(i.setInput=zW),VW}dn.ngInherit=!0;function VW(){let i=FN(this),e=i?.current;if(e){let t=i.previous;if(t===Ca)i.previous=e;else for(let n in e)t[n]=e[n];i.current=null,this.ngOnChanges(e)}}function zW(i,e,t,n,r){let o=this.declaredInputs[n],s=FN(i)||UW(i,{previous:Ca,current:null}),a=s.current||(s.current={}),c=s.previous,l=c[o];a[o]=new rM(l&&l.currentValue,t,c===Ca),NN(i,e,r,t)}var LN="__ngSimpleChanges__";function FN(i){return i[LN]||null}function UW(i,e){return i[LN]=e}var IA=null;var Ns=function(i,e,t){IA?.(i,e,t)},BN="svg",HW="math";function Bs(i){for(;Array.isArray(i);)i=i[zs];return i}function GW(i){for(;Array.isArray(i);){if(typeof i[hE]=="object")return i;i=i[zs]}return null}function VN(i,e){return Bs(e[i])}function ko(i,e){return Bs(e[i.index])}function fE(i,e){return i.data[e]}function jW(i,e){return i[e]}function Rc(i,e){let t=e[i];return Mc(t)?t:t[zs]}function WW(i){return(i[Rt]&4)===4}function mE(i){return(i[Rt]&128)===128}function $W(i){return Ta(i[mr])}function Tc(i,e){return e==null?null:i[e]}function zN(i){i[Hu]=0}function UN(i){i[Rt]&1024||(i[Rt]|=1024,mE(i)&&B0(i))}function qW(i,e){for(;i>0;)e=e[rh],i--;return e}function Uf(i){return!!(i[Rt]&9216||i[Ao]?.dirty)}function oM(i){i[Fs].changeDetectionScheduler?.notify(7),i[Rt]&64&&(i[Rt]|=1024),Uf(i)&&B0(i)}function B0(i){i[Fs].changeDetectionScheduler?.notify(0);let e=Hl(i);for(;e!==null&&!(e[Rt]&8192||(e[Rt]|=8192,!mE(e)));)e=Hl(e)}function HN(i,e){if((i[Rt]&256)===256)throw new Oe(911,!1);i[Sc]===null&&(i[Sc]=[]),i[Sc].push(e)}function YW(i,e){if(i[Sc]===null)return;let t=i[Sc].indexOf(e);t!==-1&&i[Sc].splice(t,1)}function Hl(i){let e=i[mr];return Ta(e)?e[mr]:e}var Yt={lFrame:KN(null),bindingsEnabled:!0,skipHydrationRootTNode:null};var GN=!1;function XW(){return Yt.lFrame.elementDepthCount}function ZW(){Yt.lFrame.elementDepthCount++}function QW(){Yt.lFrame.elementDepthCount--}function jN(){return Yt.bindingsEnabled}function WN(){return Yt.skipHydrationRootTNode!==null}function KW(i){return Yt.skipHydrationRootTNode===i}function JW(){Yt.skipHydrationRootTNode=null}function jt(){return Yt.lFrame.lView}function ci(){return Yt.lFrame.tView}function B(i){return Yt.lFrame.contextLView=i,i[pr]}function V(i){return Yt.lFrame.contextLView=null,i}function Qi(){let i=$N();for(;i!==null&&i.type===64;)i=i.parent;return i}function $N(){return Yt.lFrame.currentTNode}function e6(){let i=Yt.lFrame,e=i.currentTNode;return i.isParent?e:e.parent}function Yl(i,e){let t=Yt.lFrame;t.currentTNode=i,t.isParent=e}function gE(){return Yt.lFrame.isParent}function _E(){Yt.lFrame.isParent=!1}function t6(){return Yt.lFrame.contextLView}function qN(){return GN}function TA(i){GN=i}function YN(){let i=Yt.lFrame,e=i.bindingRootIndex;return e===-1&&(e=i.bindingRootIndex=i.tView.bindingStartIndex),e}function XN(){return Yt.lFrame.bindingIndex}function n6(i){return Yt.lFrame.bindingIndex=i}function Xl(){return Yt.lFrame.bindingIndex++}function V0(i){let e=Yt.lFrame,t=e.bindingIndex;return e.bindingIndex=e.bindingIndex+i,t}function i6(){return Yt.lFrame.inI18n}function r6(i,e){let t=Yt.lFrame;t.bindingIndex=t.bindingRootIndex=i,sM(e)}function o6(){return Yt.lFrame.currentDirectiveIndex}function sM(i){Yt.lFrame.currentDirectiveIndex=i}function vE(i){let e=Yt.lFrame.currentDirectiveIndex;return e===-1?null:i[e]}function bE(){return Yt.lFrame.currentQueryIndex}function z0(i){Yt.lFrame.currentQueryIndex=i}function s6(i){let e=i[Gt];return e.type===2?e.declTNode:e.type===1?i[to]:null}function ZN(i,e,t){if(t&tn.SkipSelf){let r=e,o=i;for(;r=r.parent,r===null&&!(t&tn.Host);)if(r=s6(o),r===null||(o=o[rh],r.type&10))break;if(r===null)return!1;e=r,i=o}let n=Yt.lFrame=QN();return n.currentTNode=e,n.lView=i,!0}function yE(i){let e=QN(),t=i[Gt];Yt.lFrame=e,e.currentTNode=t.firstChild,e.lView=i,e.tView=t,e.contextLView=i,e.bindingIndex=t.bindingStartIndex,e.inI18n=!1}function QN(){let i=Yt.lFrame,e=i===null?null:i.child;return e===null?KN(i):e}function KN(i){let e={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:i,child:null,inI18n:!1};return i!==null&&(i.child=e),e}function JN(){let i=Yt.lFrame;return Yt.lFrame=i.parent,i.currentTNode=null,i.lView=null,i}var ek=JN;function xE(){let i=JN();i.isParent=!0,i.tView=null,i.selectedIndex=-1,i.contextLView=null,i.elementDepthCount=0,i.currentDirectiveIndex=-1,i.currentNamespace=null,i.bindingRootIndex=-1,i.bindingIndex=-1,i.currentQueryIndex=0}function a6(i){return(Yt.lFrame.contextLView=qW(i,Yt.lFrame.contextLView))[pr]}function Us(){return Yt.lFrame.selectedIndex}function Gl(i){Yt.lFrame.selectedIndex=i}function U0(){let i=Yt.lFrame;return fE(i.tView,i.selectedIndex)}function uo(){Yt.lFrame.currentNamespace=BN}function H0(){c6()}function c6(){Yt.lFrame.currentNamespace=null}function l6(){return Yt.lFrame.currentNamespace}var tk=!0;function G0(){return tk}function j0(i){tk=i}function d6(i,e,t){let{ngOnChanges:n,ngOnInit:r,ngDoCheck:o}=e.type.prototype;if(n){let s=kN(e);(t.preOrderHooks??=[]).push(i,s),(t.preOrderCheckHooks??=[]).push(i,s)}r&&(t.preOrderHooks??=[]).push(0-i,r),o&&((t.preOrderHooks??=[]).push(i,o),(t.preOrderCheckHooks??=[]).push(i,o))}function W0(i,e){for(let t=e.directiveStart,n=e.directiveEnd;t=n)break}else e[c]<0&&(i[Hu]+=65536),(a>14>16&&(i[Rt]&3)===e&&(i[Rt]+=16384,DA(a,o)):DA(a,o)}var Wu=-1,jl=class{constructor(e,t,n){this.factory=e,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=n}};function h6(i){return i instanceof jl}function p6(i){return(i.flags&8)!==0}function f6(i){return(i.flags&16)!==0}var BS={},aM=class{constructor(e,t){this.injector=e,this.parentInjector=t}get(e,t,n){n=D0(n);let r=this.injector.get(e,BS,n);return r!==BS||t===BS?r:this.parentInjector.get(e,t,n)}};function ik(i){return i!==Wu}function h0(i){return i&32767}function m6(i){return i>>16}function p0(i,e){let t=m6(i),n=e;for(;t>0;)n=n[rh],t--;return n}var cM=!0;function PA(i){let e=cM;return cM=i,e}var g6=256,rk=g6-1,ok=5,_6=0,ks={};function v6(i,e,t){let n;typeof t=="string"?n=t.charCodeAt(0)||0:t.hasOwnProperty(kf)&&(n=t[kf]),n==null&&(n=t[kf]=_6++);let r=n&rk,o=1<>ok)]|=o}function f0(i,e){let t=sk(i,e);if(t!==-1)return t;let n=e[Gt];n.firstCreatePass&&(i.injectorIndex=e.length,VS(n.data,i),VS(e,null),VS(n.blueprint,null));let r=wE(i,e),o=i.injectorIndex;if(ik(r)){let s=h0(r),a=p0(r,e),c=a[Gt].data;for(let l=0;l<8;l++)e[o+l]=a[s+l]|c[s+l]}return e[o+8]=r,o}function VS(i,e){i.push(0,0,0,0,0,0,0,0,e)}function sk(i,e){return i.injectorIndex===-1||i.parent&&i.parent.injectorIndex===i.injectorIndex||e[i.injectorIndex+8]===null?-1:i.injectorIndex}function wE(i,e){if(i.parent&&i.parent.injectorIndex!==-1)return i.parent.injectorIndex;let t=0,n=null,r=e;for(;r!==null;){if(n=uk(r),n===null)return Wu;if(t++,r=r[rh],n.injectorIndex!==-1)return n.injectorIndex|t<<16}return Wu}function lM(i,e,t){v6(i,e,t)}function b6(i,e){if(e==="class")return i.classes;if(e==="style")return i.styles;let t=i.attrs;if(t){let n=t.length,r=0;for(;r>20,u=n?a:a+d,h=r?a+d:l;for(let p=u;p=c&&f.type===t)return p}if(r){let p=s[c];if(p&&Ma(p)&&p.type===t)return c}return null}function Wl(i,e,t,n){let r=i[t],o=e.data;if(h6(r)){let s=r;s.resolving&&Z8(X8(o[t]));let a=PA(s.canSeeViewProviders);s.resolving=!0;let c,l=s.injectImpl?Ro(s.injectImpl):null,d=ZN(i,n,tn.Default);try{r=i[t]=s.factory(void 0,o,i,n),e.firstCreatePass&&t>=n.directiveStart&&d6(t,o[t],e)}finally{l!==null&&Ro(l),PA(a),s.resolving=!1,ek()}}return r}function x6(i){if(typeof i=="string")return i.charCodeAt(0)||0;let e=i.hasOwnProperty(kf)?i[kf]:void 0;return typeof e=="number"?e>=0?e&rk:w6:e}function OA(i,e,t){let n=1<>ok)]&n)}function RA(i,e){return!(i&tn.Self)&&!(i&tn.Host&&e)}var Vl=class{constructor(e,t){this._tNode=e,this._lView=t}get(e,t,n){return lk(this._tNode,this._lView,e,D0(n),t)}};function w6(){return new Vl(Qi(),jt())}function Li(i){return Wf(()=>{let e=i.prototype.constructor,t=e[o0]||dM(e),n=Object.prototype,r=Object.getPrototypeOf(i.prototype).constructor;for(;r&&r!==n;){let o=r[o0]||dM(r);if(o&&o!==t)return o;r=Object.getPrototypeOf(r)}return o=>new o})}function dM(i){return cN(i)?()=>{let e=dM(Yi(i));return e&&e()}:$u(i)}function C6(i,e,t,n,r){let o=i,s=e;for(;o!==null&&s!==null&&s[Rt]&2048&&!(s[Rt]&512);){let a=dk(o,s,t,n|tn.Self,ks);if(a!==ks)return a;let c=o.parent;if(!c){let l=s[AN];if(l){let d=l.get(t,ks,n);if(d!==ks)return d}c=uk(s),s=s[rh]}o=c}return r}function uk(i){let e=i[Gt],t=e.type;return t===2?e.declTNode:t===1?i[to]:null}function Lr(i){return b6(Qi(),i)}function AA(i,e=null,t=null,n){let r=hk(i,e,t,n);return r.resolveInjectorInitializers(),r}function hk(i,e=null,t=null,n,r=new Set){let o=[t||Pr,IW(i)];return n=n||(typeof i=="object"?void 0:Rr(i)),new Vf(o,e||N0(),n||null,r)}var Bl=class Bl{static create(e,t){if(Array.isArray(e))return AA({name:""},t,e,"");{let n=e.name??"";return AA({name:n},e.parent,e.providers,n)}}};Bl.THROW_IF_NOT_FOUND=Ff,Bl.NULL=new c0,Bl.\u0275prov=J({token:Bl,providedIn:"any",factory:()=>X(_N)}),Bl.__NG_ELEMENT_ID__=-1;var vt=Bl;var S6=new me("");S6.__NG_ELEMENT_ID__=i=>{let e=Qi();if(e===null)throw new Oe(204,!1);if(e.type&2)return e.value;if(i&tn.Optional)return null;throw new Oe(204,!1)};var M6="ngOriginalError";function zS(i){return i[M6]}var Nr=class{constructor(){this._console=console}handleError(e){let t=this._findOriginalError(e);this._console.error("ERROR",e),t&&this._console.error("ORIGINAL ERROR",t)}_findOriginalError(e){let t=e&&zS(e);for(;t&&zS(t);)t=zS(t);return t||null}},pk=new me("",{providedIn:"root",factory:()=>te(Nr).handleError.bind(void 0)}),Fi=(()=>{let e=class e{};e.__NG_ELEMENT_ID__=E6,e.__NG_ENV_ID__=n=>n;let i=e;return i})(),uM=class extends Fi{constructor(e){super(),this._lView=e}onDestroy(e){return HN(this._lView,e),()=>YW(this._lView,e)}};function E6(){return new uM(jt())}function I6(){return oh(Qi(),jt())}function oh(i,e){return new Re(ko(i,e))}var Re=(()=>{let e=class e{constructor(n){this.nativeElement=n}};e.__NG_ELEMENT_ID__=I6;let i=e;return i})();function fk(i){return i instanceof Re?i.nativeElement:i}var Zl=(()=>{let e=class e{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new On(!1)}get _hasPendingTasks(){return this.hasPendingTasks.value}add(){this._hasPendingTasks||this.hasPendingTasks.next(!0);let n=this.taskId++;return this.pendingTasks.add(n),n}remove(n){this.pendingTasks.delete(n),this.pendingTasks.size===0&&this._hasPendingTasks&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this._hasPendingTasks&&this.hasPendingTasks.next(!1)}};e.\u0275prov=J({token:e,providedIn:"root",factory:()=>new e});let i=e;return i})();var hM=class extends pe{constructor(e=!1){super(),this.destroyRef=void 0,this.pendingTasks=void 0,this.__isAsync=e,RN()&&(this.destroyRef=te(Fi,{optional:!0})??void 0,this.pendingTasks=te(Zl,{optional:!0})??void 0)}emit(e){let t=ln(null);try{super.next(e)}finally{ln(t)}}subscribe(e,t,n){let r=e,o=t||(()=>null),s=n;if(e&&typeof e=="object"){let c=e;r=c.next?.bind(c),o=c.error?.bind(c),s=c.complete?.bind(c)}this.__isAsync&&(o=this.wrapInTimeout(o),r&&(r=this.wrapInTimeout(r)),s&&(s=this.wrapInTimeout(s)));let a=super.subscribe({next:r,error:o,complete:s});return e instanceof Ct&&e.add(a),a}wrapInTimeout(e){return t=>{let n=this.pendingTasks?.add();setTimeout(()=>{e(t),n!==void 0&&this.pendingTasks?.remove(n)})}}},Ie=hM;function T6(){return this._results[Symbol.iterator]()}var Zi=class i{get changes(){return this._changes??=new Ie}constructor(e=!1){this._emitDistinctChangesOnly=e,this.dirty=!0,this._onDirty=void 0,this._results=[],this._changesDetected=!1,this._changes=void 0,this.length=0,this.first=void 0,this.last=void 0;let t=i.prototype;t[Symbol.iterator]||(t[Symbol.iterator]=T6)}get(e){return this._results[e]}map(e){return this._results.map(e)}filter(e){return this._results.filter(e)}find(e){return this._results.find(e)}reduce(e,t){return this._results.reduce(e,t)}forEach(e){this._results.forEach(e)}some(e){return this._results.some(e)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(e,t){this.dirty=!1;let n=aW(e);(this._changesDetected=!sW(this._results,n,t))&&(this._results=n,this.length=n.length,this.last=n[this.length-1],this.first=n[0])}notifyOnChanges(){this._changes!==void 0&&(this._changesDetected||!this._emitDistinctChangesOnly)&&this._changes.emit(this)}onDirty(e){this._onDirty=e}setDirty(){this.dirty=!0,this._onDirty?.()}destroy(){this._changes!==void 0&&(this._changes.complete(),this._changes.unsubscribe())}};function mk(i){return(i.flags&128)===128}var gk=new Map,D6=0;function P6(){return D6++}function O6(i){gk.set(i[k0],i)}function R6(i){gk.delete(i[k0])}var NA="__ngContext__";function Dc(i,e){Mc(e)?(i[NA]=e[k0],O6(e)):i[NA]=e}function _k(i){return bk(i[zf])}function vk(i){return bk(i[ds])}function bk(i){for(;i!==null&&!Ta(i);)i=i[ds];return i}var pM;function yk(i){pM=i}function A6(){if(pM!==void 0)return pM;if(typeof document<"u")return document;throw new Oe(210,!1)}var qf=new me("",{providedIn:"root",factory:()=>N6}),N6="ng",CE=new me(""),Da=new me("",{providedIn:"platform",factory:()=>"unknown"});var jn=new me(""),Yf=new me("",{providedIn:"root",factory:()=>A6().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});var k6="h",L6="b";var F6=()=>null;function SE(i,e,t=!1){return F6(i,e,t)}var xk=!1,B6=new me("",{providedIn:"root",factory:()=>xk});var Yv;function V6(){if(Yv===void 0&&(Yv=null,Lf.trustedTypes))try{Yv=Lf.trustedTypes.createPolicy("angular",{createHTML:i=>i,createScript:i=>i,createScriptURL:i=>i})}catch{}return Yv}function $0(i){return V6()?.createHTML(i)||i}var Ea=class{constructor(e){this.changingThisBreaksApplicationSecurity=e}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${sN})`}},fM=class extends Ea{getTypeName(){return"HTML"}},mM=class extends Ea{getTypeName(){return"Style"}},gM=class extends Ea{getTypeName(){return"Script"}},_M=class extends Ea{getTypeName(){return"URL"}},vM=class extends Ea{getTypeName(){return"ResourceURL"}};function Hs(i){return i instanceof Ea?i.changingThisBreaksApplicationSecurity:i}function Ql(i,e){let t=z6(i);if(t!=null&&t!==e){if(t==="ResourceURL"&&e==="URL")return!0;throw new Error(`Required a safe ${e}, got a ${t} (see ${sN})`)}return t===e}function z6(i){return i instanceof Ea&&i.getTypeName()||null}function wk(i){return new fM(i)}function Ck(i){return new mM(i)}function Sk(i){return new gM(i)}function Mk(i){return new _M(i)}function Ek(i){return new vM(i)}function U6(i){let e=new yM(i);return H6()?new bM(e):e}var bM=class{constructor(e){this.inertDocumentHelper=e}getInertBodyElement(e){e=""+e;try{let t=new window.DOMParser().parseFromString($0(e),"text/html").body;return t===null?this.inertDocumentHelper.getInertBodyElement(e):(t.removeChild(t.firstChild),t)}catch{return null}}},yM=class{constructor(e){this.defaultDoc=e,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(e){let t=this.inertDocument.createElement("template");return t.innerHTML=$0(e),t}};function H6(){try{return!!new window.DOMParser().parseFromString($0(""),"text/html")}catch{return!1}}var G6=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function q0(i){return i=String(i),i.match(G6)?i:"unsafe:"+i}function Pa(i){let e={};for(let t of i.split(","))e[t]=!0;return e}function Xf(...i){let e={};for(let t of i)for(let n in t)t.hasOwnProperty(n)&&(e[n]=!0);return e}var Ik=Pa("area,br,col,hr,img,wbr"),Tk=Pa("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Dk=Pa("rp,rt"),j6=Xf(Dk,Tk),W6=Xf(Tk,Pa("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")),$6=Xf(Dk,Pa("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")),kA=Xf(Ik,W6,$6,j6),Pk=Pa("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),q6=Pa("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,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),Y6=Pa("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"),X6=Xf(Pk,q6,Y6),Z6=Pa("script,style,template"),xM=class{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(e){let t=e.firstChild,n=!0,r=[];for(;t;){if(t.nodeType===Node.ELEMENT_NODE?n=this.startElement(t):t.nodeType===Node.TEXT_NODE?this.chars(t.nodeValue):this.sanitizedSomething=!0,n&&t.firstChild){r.push(t),t=J6(t);continue}for(;t;){t.nodeType===Node.ELEMENT_NODE&&this.endElement(t);let o=K6(t);if(o){t=o;break}t=r.pop()}}return this.buf.join("")}startElement(e){let t=LA(e).toLowerCase();if(!kA.hasOwnProperty(t))return this.sanitizedSomething=!0,!Z6.hasOwnProperty(t);this.buf.push("<"),this.buf.push(t);let n=e.attributes;for(let r=0;r"),!0}endElement(e){let t=LA(e).toLowerCase();kA.hasOwnProperty(t)&&!Ik.hasOwnProperty(t)&&(this.buf.push(""))}chars(e){this.buf.push(FA(e))}};function Q6(i,e){return(i.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_CONTAINED_BY)!==Node.DOCUMENT_POSITION_CONTAINED_BY}function K6(i){let e=i.nextSibling;if(e&&i!==e.previousSibling)throw Ok(e);return e}function J6(i){let e=i.firstChild;if(e&&Q6(i,e))throw Ok(e);return e}function LA(i){let e=i.nodeName;return typeof e=="string"?e:"FORM"}function Ok(i){return new Error(`Failed to sanitize html because the element is clobbered: ${i.outerHTML}`)}var e$=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,t$=/([^\#-~ |!])/g;function FA(i){return i.replace(/&/g,"&").replace(e$,function(e){let t=e.charCodeAt(0),n=e.charCodeAt(1);return"&#"+((t-55296)*1024+(n-56320)+65536)+";"}).replace(t$,function(e){return"&#"+e.charCodeAt(0)+";"}).replace(//g,">")}var Xv;function Rk(i,e){let t=null;try{Xv=Xv||U6(i);let n=e?String(e):"";t=Xv.getInertBodyElement(n);let r=5,o=n;do{if(r===0)throw new Error("Failed to sanitize html because the input is unstable");r--,n=o,o=t.innerHTML,t=Xv.getInertBodyElement(n)}while(n!==o);let a=new xM().sanitizeChildren(BA(t)||t);return $0(a)}finally{if(t){let n=BA(t)||t;for(;n.firstChild;)n.removeChild(n.firstChild)}}}function BA(i){return"content"in i&&n$(i)?i.content:null}function n$(i){return i.nodeType===Node.ELEMENT_NODE&&i.nodeName==="TEMPLATE"}var Fr=function(i){return i[i.NONE=0]="NONE",i[i.HTML=1]="HTML",i[i.STYLE=2]="STYLE",i[i.SCRIPT=3]="SCRIPT",i[i.URL=4]="URL",i[i.RESOURCE_URL=5]="RESOURCE_URL",i}(Fr||{});function ME(i){let e=i$();return e?e.sanitize(Fr.URL,i)||"":Ql(i,"URL")?Hs(i):q0(As(i))}function i$(){let i=jt();return i&&i[Fs].sanitizer}var r$=/^>|^->||--!>|)/g,s$="\u200B$1\u200B";function a$(i){return i.replace(r$,e=>e.replace(o$,s$))}function Ak(i){return i.ownerDocument.defaultView}function Y0(i){return i.ownerDocument}function Nk(i){return i instanceof Function?i():i}function kk(i){return(i??te(vt)).get(Da)==="browser"}var Ia=function(i){return i[i.Important=1]="Important",i[i.DashCase=2]="DashCase",i}(Ia||{}),c$;function EE(i,e){return c$(i,e)}function Gu(i,e,t,n,r){if(n!=null){let o,s=!1;Ta(n)?o=n:Mc(n)&&(s=!0,n=n[zs]);let a=Bs(n);i===0&&t!==null?r==null?zk(e,t,a):m0(e,t,a,r||null,!0):i===1&&t!==null?m0(e,t,a,r||null,!0):i===2?C$(e,a,s):i===3&&e.destroyNode(a),o!=null&&M$(e,i,o,t,r)}}function l$(i,e){return i.createText(e)}function d$(i,e,t){i.setValue(e,t)}function u$(i,e){return i.createComment(a$(e))}function Lk(i,e,t){return i.createElement(e,t)}function h$(i,e){Fk(i,e),e[zs]=null,e[to]=null}function p$(i,e,t,n,r,o){n[zs]=r,n[to]=e,Q0(i,n,t,1,r,o)}function Fk(i,e){e[Fs].changeDetectionScheduler?.notify(8),Q0(i,e,e[ai],2,null,null)}function f$(i){let e=i[zf];if(!e)return US(i[Gt],i);for(;e;){let t=null;if(Mc(e))t=e[zf];else{let n=e[fr];n&&(t=n)}if(!t){for(;e&&!e[ds]&&e!==i;)Mc(e)&&US(e[Gt],e),e=e[mr];e===null&&(e=i),Mc(e)&&US(e[Gt],e),t=e&&e[ds]}e=t}}function m$(i,e,t,n){let r=fr+n,o=t.length;n>0&&(t[r-1][ds]=e),n0&&(i[t-1][ds]=n[ds]);let o=a0(i,fr+e);h$(n[Gt],n);let s=o[Sa];s!==null&&s.detachView(o[Gt]),n[mr]=null,n[ds]=null,n[Rt]&=-129}return n}function X0(i,e){if(!(e[Rt]&256)){let t=e[ai];t.destroyNode&&Q0(i,e,t,3,null,null),f$(e)}}function US(i,e){if(e[Rt]&256)return;let t=ln(null);try{e[Rt]&=-129,e[Rt]|=256,e[Ao]&&mv(e[Ao]),_$(i,e),g$(i,e),e[Gt].type===1&&e[ai].destroy();let n=e[zl];if(n!==null&&Ta(e[mr])){n!==e[mr]&&IE(n,e);let r=e[Sa];r!==null&&r.detachView(i)}R6(e)}finally{ln(t)}}function g$(i,e){let t=i.cleanup,n=e[l0];if(t!==null)for(let o=0;o=0?n[s]():n[-s].unsubscribe(),o+=2}else{let s=n[t[o+1]];t[o].call(s)}n!==null&&(e[l0]=null);let r=e[Sc];if(r!==null){e[Sc]=null;for(let o=0;o-1){let{encapsulation:o}=i.data[n.directiveStart+r];if(o===Ls.None||o===Ls.Emulated)return null}return ko(n,t)}}function m0(i,e,t,n,r){i.insertBefore(e,t,n,r)}function zk(i,e,t){i.appendChild(e,t)}function VA(i,e,t,n,r){n!==null?m0(i,e,t,n,r):zk(i,e,t)}function b$(i,e,t,n){i.removeChild(e,t,n)}function TE(i,e){return i.parentNode(e)}function y$(i,e){return i.nextSibling(e)}function Uk(i,e,t){return w$(i,e,t)}function x$(i,e,t){return i.type&40?ko(i,t):null}var w$=x$,zA;function Z0(i,e,t,n){let r=Vk(i,n,e),o=e[ai],s=n.parent||e[to],a=Uk(s,n,e);if(r!=null)if(Array.isArray(t))for(let c=0;cAr&&$k(i,e,Ar,!1),Ns(s?2:0,r),t(n,r)}finally{Gl(o),Ns(s?3:1,r)}}function OE(i,e,t){if(pE(e)){let n=ln(null);try{let r=e.directiveStart,o=e.directiveEnd;for(let s=r;snull;function N$(i,e,t,n){let r=t2(e);r.push(t),i.firstCreatePass&&n2(i).push(n,r.length-1)}function k$(i,e,t,n,r,o){let s=e?e.injectorIndex:-1,a=0;return WN()&&(a|=128),{type:t,index:n,insertBeforeIndex:null,injectorIndex:s,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:r,attrs:o,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev: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 UA(i,e,t,n,r){for(let o in e){if(!e.hasOwnProperty(o))continue;let s=e[o];if(s===void 0)continue;n??={};let a,c=Ec.None;Array.isArray(s)?(a=s[0],c=s[1]):a=s;let l=o;if(r!==null){if(!r.hasOwnProperty(o))continue;l=r[o]}i===0?HA(n,t,l,a,c):HA(n,t,l,a)}return n}function HA(i,e,t,n,r){let o;i.hasOwnProperty(t)?(o=i[t]).push(e,n):o=i[t]=[e,n],r!==void 0&&o.push(r)}function L$(i,e,t){let n=e.directiveStart,r=e.directiveEnd,o=i.data,s=e.attrs,a=[],c=null,l=null;for(let d=n;d0;){let t=i[--e];if(typeof t=="number"&&t<0)return t}return 0}function U$(i,e,t,n){let r=t.directiveStart,o=t.directiveEnd;L0(t)&&Y$(e,t,i.data[r+t.componentOffset]),i.firstCreatePass||f0(t,e),Dc(n,e);let s=t.initialInputs;for(let a=r;a{B0(i.lView)},consumerOnSignalRead(){this.lView[Ao]=this}});function a9(i){let e=i[Ao]??Object.create(c9);return e.lView=i,e}var c9=yt(Z({},Tu),{consumerIsAlwaysLive:!0,consumerMarkedDirty:i=>{let e=Hl(i.lView);for(;e&&!c2(e[Gt]);)e=Hl(e);e&&UN(e)},consumerOnSignalRead(){this.lView[Ao]=this}});function c2(i){return i.type!==2}var l9=100;function l2(i,e=!0,t=0){let n=i[Fs],r=n.rendererFactory,o=!1;o||r.begin?.();try{d9(i,t)}catch(s){throw e&&r2(i,s),s}finally{o||(r.end?.(),n.inlineEffectRunner?.flush())}}function d9(i,e){let t=qN();try{TA(!0),MM(i,e);let n=0;for(;Uf(i);){if(n===l9)throw new Oe(103,!1);n++,MM(i,1)}}finally{TA(t)}}function u9(i,e,t,n){let r=e[Rt];if((r&256)===256)return;let o=!1,s=!1;!o&&e[Fs].inlineEffectRunner?.flush(),yE(e);let a=!0,c=null,l=null;o||(c2(i)?(l=i9(e),c=Sf(l)):IR()===null?(a=!1,l=a9(e),c=Sf(l)):e[Ao]&&(mv(e[Ao]),e[Ao]=null));try{zN(e),n6(i.bindingStartIndex),t!==null&&Xk(i,e,t,2,n);let d=(r&3)===3;if(!o)if(d){let p=i.preOrderCheckHooks;p!==null&&e0(e,p,null)}else{let p=i.preOrderHooks;p!==null&&t0(e,p,0,null),FS(e,0)}if(s||h9(e),d2(e,0),i.contentQueries!==null&&e2(i,e),!o)if(d){let p=i.contentCheckHooks;p!==null&&e0(e,p)}else{let p=i.contentHooks;p!==null&&t0(e,p,1),FS(e,1)}T$(i,e);let u=i.components;u!==null&&h2(e,u,0);let h=i.viewQuery;if(h!==null&&SM(2,h,n),!o)if(d){let p=i.viewCheckHooks;p!==null&&e0(e,p)}else{let p=i.viewHooks;p!==null&&t0(e,p,2),FS(e,2)}if(i.firstUpdatePass===!0&&(i.firstUpdatePass=!1),e[Jv]){for(let p of e[Jv])p();e[Jv]=null}o||(e[Rt]&=-73)}catch(d){throw o||B0(e),d}finally{l!==null&&(pv(l,c),a&&o9(l)),xE()}}function d2(i,e){for(let t=_k(i);t!==null;t=vk(t))for(let n=fr;n-1&&(Hf(e,n),a0(t,n))}this._attachedToViewContainer=!1}X0(this._lView[Gt],this._lView)}onDestroy(e){HN(this._lView,e)}markForCheck(){zE(this._cdRefInjectingView||this._lView,4)}detach(){this._lView[Rt]&=-129}reattach(){oM(this._lView),this._lView[Rt]|=128}detectChanges(){this._lView[Rt]|=1024,l2(this._lView,this.notifyErrorHandler)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new Oe(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null;let e=iM(this._lView),t=this._lView[zl];t!==null&&!e&&IE(t,this._lView),Fk(this._lView[Gt],this._lView)}attachToAppRef(e){if(this._attachedToViewContainer)throw new Oe(902,!1);this._appRef=e;let t=iM(this._lView),n=this._lView[zl];n!==null&&!t&&Bk(n,this._lView),oM(this._lView)}},Wn=(()=>{let e=class e{};e.__NG_ELEMENT_ID__=g9;let i=e;return i})(),f9=Wn,m9=class extends f9{constructor(e,t,n){super(),this._declarationLView=e,this._declarationTContainer=t,this.elementRef=n}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(e,t){return this.createEmbeddedViewImpl(e,t)}createEmbeddedViewImpl(e,t,n){let r=Zf(this._declarationLView,this._declarationTContainer,e,{embeddedViewInjector:t,dehydratedView:n});return new $l(r)}};function g9(){return eb(Qi(),jt())}function eb(i,e){return i.type&4?new m9(e,i,oh(i,e)):null}var UEe=new RegExp(`^(\\d+)*(${L6}|${k6})*(.*)`);var _9=()=>null;function Ju(i,e){return _9(i,e)}var eh=class{},UE=new me("",{providedIn:"root",factory:()=>!1});var p2=new me(""),EM=class{},_0=class{};function v9(i){let e=Error(`No component factory found for ${Rr(i)}.`);return e[b9]=i,e}var b9="ngComponent";var IM=class{resolveComponentFactory(e){throw v9(e)}},KE=class KE{};KE.NULL=new IM;var us=KE,Pc=class{},Kl=(()=>{let e=class e{constructor(){this.destroyNode=null}};e.__NG_ELEMENT_ID__=()=>y9();let i=e;return i})();function y9(){let i=jt(),e=Qi(),t=Rc(e.index,i);return(Mc(t)?t:i)[ai]}var x9=(()=>{let e=class e{};e.\u0275prov=J({token:e,providedIn:"root",factory:()=>null});let i=e;return i})();var GA=new Set;function Lo(i){GA.has(i)||(GA.add(i),performance?.mark?.("mark_feature_usage",{detail:{feature:i}}))}function f2(i){let e=!0;return setTimeout(()=>{e&&(e=!1,i())}),typeof Lf.requestAnimationFrame=="function"&&Lf.requestAnimationFrame(()=>{e&&(e=!1,i())}),()=>{e=!1}}function jA(i){let e=!0;return queueMicrotask(()=>{e&&i()}),()=>{e=!1}}function WA(...i){}var Fe=class i{constructor({enableLongStackTrace:e=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:n=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Ie(!1),this.onMicrotaskEmpty=new Ie(!1),this.onStable=new Ie(!1),this.onError=new Ie(!1),typeof Zone>"u")throw new Oe(908,!1);Zone.assertZonePatched();let r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),e&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!n&&t,r.shouldCoalesceRunChangeDetection=n,r.callbackScheduled=!1,S9(r)}static isInAngularZone(){return typeof Zone<"u"&&Zone.current.get("isAngularZone")===!0}static assertInAngularZone(){if(!i.isInAngularZone())throw new Oe(909,!1)}static assertNotInAngularZone(){if(i.isInAngularZone())throw new Oe(909,!1)}run(e,t,n){return this._inner.run(e,t,n)}runTask(e,t,n,r){let o=this._inner,s=o.scheduleEventTask("NgZoneEvent: "+r,e,w9,WA,WA);try{return o.runTask(s,t,n)}finally{o.cancelTask(s)}}runGuarded(e,t,n){return this._inner.runGuarded(e,t,n)}runOutsideAngular(e){return this._outer.run(e)}},w9={};function HE(i){if(i._nesting==0&&!i.hasPendingMicrotasks&&!i.isStable)try{i._nesting++,i.onMicrotaskEmpty.emit(null)}finally{if(i._nesting--,!i.hasPendingMicrotasks)try{i.runOutsideAngular(()=>i.onStable.emit(null))}finally{i.isStable=!0}}}function C9(i){i.isCheckStableRunning||i.callbackScheduled||(i.callbackScheduled=!0,Zone.root.run(()=>{f2(()=>{i.callbackScheduled=!1,TM(i),i.isCheckStableRunning=!0,HE(i),i.isCheckStableRunning=!1})}),TM(i))}function S9(i){let e=()=>{C9(i)};i._inner=i._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,n,r,o,s,a)=>{if(M9(a))return t.invokeTask(r,o,s,a);try{return $A(i),t.invokeTask(r,o,s,a)}finally{(i.shouldCoalesceEventChangeDetection&&o.type==="eventTask"||i.shouldCoalesceRunChangeDetection)&&e(),qA(i)}},onInvoke:(t,n,r,o,s,a,c)=>{try{return $A(i),t.invoke(r,o,s,a,c)}finally{i.shouldCoalesceRunChangeDetection&&!i.callbackScheduled&&!E9(a)&&e(),qA(i)}},onHasTask:(t,n,r,o)=>{t.hasTask(r,o),n===r&&(o.change=="microTask"?(i._hasPendingMicrotasks=o.microTask,TM(i),HE(i)):o.change=="macroTask"&&(i.hasPendingMacrotasks=o.macroTask))},onHandleError:(t,n,r,o)=>(t.handleError(r,o),i.runOutsideAngular(()=>i.onError.emit(o)),!1)})}function TM(i){i._hasPendingMicrotasks||(i.shouldCoalesceEventChangeDetection||i.shouldCoalesceRunChangeDetection)&&i.callbackScheduled===!0?i.hasPendingMicrotasks=!0:i.hasPendingMicrotasks=!1}function $A(i){i._nesting++,i.isStable&&(i.isStable=!1,i.onUnstable.emit(null))}function qA(i){i._nesting--,HE(i)}var DM=class{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Ie,this.onMicrotaskEmpty=new Ie,this.onStable=new Ie,this.onError=new Ie}run(e,t,n){return e.apply(t,n)}runGuarded(e,t,n){return e.apply(t,n)}runOutsideAngular(e){return e()}runTask(e,t,n,r){return e.apply(t,n)}};function M9(i){return m2(i,"__ignore_ng_zone__")}function E9(i){return m2(i,"__scheduler_tick__")}function m2(i,e){return!Array.isArray(i)||i.length!==1?!1:i[0]?.data?.[e]===!0}var Or=function(i){return i[i.EarlyRead=0]="EarlyRead",i[i.Write=1]="Write",i[i.MixedReadWrite=2]="MixedReadWrite",i[i.Read=3]="Read",i}(Or||{}),g2={destroy(){}};function Kf(i,e){!e&&ih(Kf);let t=e?.injector??te(vt);return kk(t)?(Lo("NgAfterRender"),_2(i,t,!1,e?.phase??Or.MixedReadWrite)):g2}function Hi(i,e){!e&&ih(Hi);let t=e?.injector??te(vt);return kk(t)?(Lo("NgAfterNextRender"),_2(i,t,!0,e?.phase??Or.MixedReadWrite)):g2}function I9(i,e){if(i instanceof Function)switch(e){case Or.EarlyRead:return{earlyRead:i};case Or.Write:return{write:i};case Or.MixedReadWrite:return{mixedReadWrite:i};case Or.Read:return{read:i}}return i}function _2(i,e,t,n){let r=I9(i,n),o=e.get(GE),s=o.handler??=new OM,a=[],c=[],l=()=>{for(let p of c)s.unregister(p);d()},d=e.get(Fi).onDestroy(l),u=0,h=(p,f)=>{if(!f)return;let m=t?(...g)=>(u--,u<1&&l(),f(...g)):f,y=Vs(e,()=>new PM(p,a,m));s.register(y),c.push(y),u++};return h(Or.EarlyRead,r.earlyRead),h(Or.Write,r.write),h(Or.MixedReadWrite,r.mixedReadWrite),h(Or.Read,r.read),{destroy:l}}var PM=class{constructor(e,t,n){this.phase=e,this.pipelinedArgs=t,this.callbackFn=n,this.zone=te(Fe),this.errorHandler=te(Nr,{optional:!0}),te(eh,{optional:!0})?.notify(6)}invoke(){try{let e=this.zone.runOutsideAngular(()=>this.callbackFn.apply(null,this.pipelinedArgs));this.pipelinedArgs.splice(0,this.pipelinedArgs.length,e)}catch(e){this.errorHandler?.handleError(e)}}},OM=class{constructor(){this.executingCallbacks=!1,this.buckets={[Or.EarlyRead]:new Set,[Or.Write]:new Set,[Or.MixedReadWrite]:new Set,[Or.Read]:new Set},this.deferredCallbacks=new Set}register(e){(this.executingCallbacks?this.deferredCallbacks:this.buckets[e.phase]).add(e)}unregister(e){this.buckets[e.phase].delete(e),this.deferredCallbacks.delete(e)}execute(){this.executingCallbacks=!0;for(let e of Object.values(this.buckets))for(let t of e)t.invoke();this.executingCallbacks=!1;for(let e of this.deferredCallbacks)this.buckets[e.phase].add(e);this.deferredCallbacks.clear()}destroy(){for(let e of Object.values(this.buckets))e.clear();this.deferredCallbacks.clear()}},GE=(()=>{let e=class e{constructor(){this.handler=null,this.internalCallbacks=[]}execute(){this.executeInternalCallbacks(),this.handler?.execute()}executeInternalCallbacks(){let n=[...this.internalCallbacks];this.internalCallbacks.length=0;for(let r of n)r()}ngOnDestroy(){this.handler?.destroy(),this.handler=null,this.internalCallbacks.length=0}};e.\u0275prov=J({token:e,providedIn:"root",factory:()=>new e});let i=e;return i})();function v0(i,e,t){let n=t?i.styles:null,r=t?i.classes:null,o=0;if(e!==null)for(let s=0;s0&&jk(i,t,o.join(" "))}}function N9(i,e,t){let n=i.projection=[];for(let r=0;r{let e=class e{};e.__NG_ELEMENT_ID__=L9;let i=e;return i})();function L9(){let i=Qi();return b2(i,jt())}var F9=Zt,v2=class extends F9{constructor(e,t,n){super(),this._lContainer=e,this._hostTNode=t,this._hostLView=n}get element(){return oh(this._hostTNode,this._hostLView)}get injector(){return new Vl(this._hostTNode,this._hostLView)}get parentInjector(){let e=wE(this._hostTNode,this._hostLView);if(ik(e)){let t=p0(e,this._hostLView),n=h0(e),r=t[Gt].data[n+8];return new Vl(r,t)}else return new Vl(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(e){let t=XA(this._lContainer);return t!==null&&t[e]||null}get length(){return this._lContainer.length-fr}createEmbeddedView(e,t,n){let r,o;typeof n=="number"?r=n:n!=null&&(r=n.index,o=n.injector);let s=Ju(this._lContainer,e.ssrId),a=e.createEmbeddedViewImpl(t||{},o,s);return this.insertImpl(a,r,Ku(this._hostTNode,s)),a}createComponent(e,t,n,r,o){let s=e&&!BW(e),a;if(s)a=t;else{let f=t||{};a=f.index,n=f.injector,r=f.projectableNodes,o=f.environmentInjector||f.ngModuleRef}let c=s?e:new th(Ic(e)),l=n||this.parentInjector;if(!o&&c.ngModule==null){let m=(s?l:this.parentInjector).get(Xi,null);m&&(o=m)}let d=Ic(c.componentType??{}),u=Ju(this._lContainer,d?.id??null),h=u?.firstChild??null,p=c.create(l,r,h,o);return this.insertImpl(p.hostView,a,Ku(this._hostTNode,u)),p}insert(e,t){return this.insertImpl(e,t,!0)}insertImpl(e,t,n){let r=e._lView;if($W(r)){let a=this.indexOf(e);if(a!==-1)this.detach(a);else{let c=r[mr],l=new v2(c,c[to],c[mr]);l.detach(l.indexOf(e))}}let o=this._adjustIndex(t),s=this._lContainer;return Qf(s,r,o,n),e.attachToViewContainerRef(),gN(HS(s),o,e),e}move(e,t){return this.insert(e,t)}indexOf(e){let t=XA(this._lContainer);return t!==null?t.indexOf(e):-1}remove(e){let t=this._adjustIndex(e,-1),n=Hf(this._lContainer,t);n&&(a0(HS(this._lContainer),t),X0(n[Gt],n))}detach(e){let t=this._adjustIndex(e,-1),n=Hf(this._lContainer,t);return n&&a0(HS(this._lContainer),t)!=null?new $l(n):null}_adjustIndex(e,t=0){return e??this.length+t}};function XA(i){return i[d0]}function HS(i){return i[d0]||(i[d0]=[])}function b2(i,e){let t,n=e[i.index];return Ta(n)?t=n:(t=Jk(n,e,null,i),e[i.index]=t,J0(e,t)),V9(t,e,i,n),new v2(t,i,e)}function B9(i,e){let t=i[ai],n=t.createComment(""),r=ko(e,i),o=TE(t,r);return m0(t,o,n,y$(t,r),!1),n}var V9=H9,z9=()=>!1;function U9(i,e,t){return z9(i,e,t)}function H9(i,e,t,n){if(i[Ul])return;let r;t.type&8?r=Bs(n):r=B9(e,t),i[Ul]=r}var AM=class i{constructor(e){this.queryList=e,this.matches=null}clone(){return new i(this.queryList)}setDirty(){this.queryList.setDirty()}},NM=class i{constructor(e=[]){this.queries=e}createEmbeddedView(e){let t=e.queries;if(t!==null){let n=e.contentQueries!==null?e.contentQueries[0]:t.length,r=[];for(let o=0;o0)n.push(s[a/2]);else{let l=o[a+1],d=e[-c];for(let u=fr;ue.trim())}function C2(i,e,t){i.queries===null&&(i.queries=new kM),i.queries.track(new LM(e,t))}function X9(i,e){let t=i.contentQueries||(i.contentQueries=[]),n=t.length?t[t.length-1]:-1;e!==n&&t.push(i.queries.length-1,e)}function WE(i,e){return i.queries.getByIndex(e)}function S2(i,e){let t=i[Gt],n=WE(t,e);return n.crossesNgTemplate?FM(t,i,e,[]):y2(t,i,n,e)}function $E(i){return typeof i=="function"&&i[Do]!==void 0}function ct(i,e){Lo("NgSignals");let t=BR(i),n=t[Do];return e?.equal&&(n.equal=e.equal),t.set=r=>gS(n,r),t.update=r=>VR(n,r),t.asReadonly=Z9.bind(t),t}function Z9(){let i=this[Do];if(i.readonlyFn===void 0){let e=()=>this();e[Do]=i,i.readonlyFn=e}return i.readonlyFn}function M2(i,e){let t,n=mS(()=>{t._dirtyCounter();let r=e7(t,i);if(e&&r===void 0)throw new Oe(-951,!1);return r});return t=n[Do],t._dirtyCounter=ct(0),t._flatValue=void 0,n}function Q9(){return M2(!0,!1)}function K9(){return M2(!0,!0)}function J9(i,e){let t=i[Do];t._lView=jt(),t._queryIndex=e,t._queryList=jE(t._lView,e),t._queryList.onDirty(()=>t._dirtyCounter.update(n=>n+1))}function e7(i,e){let t=i._lView,n=i._queryIndex;if(t===void 0||n===void 0||t[Rt]&4)return e?void 0:Pr;let r=jE(t,n),o=S2(t,n);return r.reset(o,fk),e?r.first:r._changesDetected||i._flatValue===void 0?i._flatValue=r.toArray():i._flatValue}function ZA(i,e){return Q9()}function t7(i,e){return K9()}var E2=(ZA.required=t7,ZA);function n7(i){return Object.getPrototypeOf(i.prototype).constructor}function sn(i){let e=n7(i.type),t=!0,n=[i];for(;e;){let r;if(Ma(i))r=e.\u0275cmp||e.\u0275dir;else{if(e.\u0275cmp)throw new Oe(903,!1);r=e.\u0275dir}if(r){if(t){n.push(r);let s=i;s.inputs=Zv(i.inputs),s.inputTransforms=Zv(i.inputTransforms),s.declaredInputs=Zv(i.declaredInputs),s.outputs=Zv(i.outputs);let a=r.hostBindings;a&&a7(i,a);let c=r.viewQuery,l=r.contentQueries;if(c&&o7(i,c),l&&s7(i,l),i7(i,r),U8(i.outputs,r.outputs),Ma(r)&&r.data.animation){let d=i.data;d.animation=(d.animation||[]).concat(r.data.animation)}}let o=r.features;if(o)for(let s=0;s=0;n--){let r=i[n];r.hostVars=e+=r.hostVars,r.hostAttrs=Bf(r.hostAttrs,t=Bf(t,r.hostAttrs))}}function Zv(i){return i===Ca?{}:i===Pr?[]:i}function o7(i,e){let t=i.viewQuery;t?i.viewQuery=(n,r)=>{e(n,r),t(n,r)}:i.viewQuery=e}function s7(i,e){let t=i.contentQueries;t?i.contentQueries=(n,r,o)=>{e(n,r,o),t(n,r,o)}:i.contentQueries=e}function a7(i,e){let t=i.hostBindings;t?i.hostBindings=(n,r)=>{e(n,r),t(n,r)}:i.hostBindings=e}function I2(i){let e=t=>{let n=(Array.isArray(i)?i:i()).map(r=>typeof r=="function"?{directive:Yi(r),inputs:Ca,outputs:Ca}:{directive:Yi(r.directive),inputs:QA(r.inputs),outputs:QA(r.outputs)});t.hostDirectives===null?(t.findHostDirectiveDefs=T2,t.hostDirectives=n):t.hostDirectives.unshift(...n)};return e.ngInherit=!0,e}function T2(i,e,t){if(i.hostDirectives!==null)for(let n of i.hostDirectives){let r=dE(n.directive);c7(r.declaredInputs,n.inputs),T2(r,e,t),t.set(r,n),e.push(r)}}function QA(i){if(i===void 0||i.length===0)return Ca;let e={};for(let t=0;tt()),this.destroyCbs=null}onDestroy(e){this.destroyCbs.push(e)}},VM=class extends Gf{constructor(e){super(),this.moduleType=e}create(e){return new BM(this.moduleType,e,[])}};var x0=class extends Oc{constructor(e){super(),this.componentFactoryResolver=new b0(this),this.instance=null;let t=new Vf([...e.providers,{provide:Oc,useValue:this},{provide:us,useValue:this.componentFactoryResolver}],e.parent||N0(),e.debugName,new Set(["environment"]));this.injector=t,e.runEnvironmentInitializers&&t.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(e){this.injector.onDestroy(e)}};function qE(i,e,t=null){return new x0({providers:i,parent:e,debugName:t,runEnvironmentInitializers:!0}).injector}function D2(i){return d7(i)?Array.isArray(i)||!(i instanceof Map)&&Symbol.iterator in i:!1}function l7(i,e){if(Array.isArray(i))for(let t=0;t>17&32767}function b7(i){return(i&2)==2}function y7(i,e){return i&131071|e<<17}function UM(i){return i|2}function nh(i){return(i&131068)>>2}function GS(i,e){return i&-131069|e<<2}function x7(i){return(i&1)===1}function HM(i){return i|1}function w7(i,e,t,n,r,o){let s=o?e.classBindings:e.styleBindings,a=ql(s),c=nh(s);i[n]=t;let l=!1,d;if(Array.isArray(t)){let u=t;d=u[1],(d===null||$f(u,d)>0)&&(l=!0)}else d=t;if(r)if(c!==0){let h=ql(i[a+1]);i[n+1]=Qv(h,a),h!==0&&(i[h+1]=GS(i[h+1],n)),i[a+1]=y7(i[a+1],n)}else i[n+1]=Qv(a,0),a!==0&&(i[a+1]=GS(i[a+1],n)),a=n;else i[n+1]=Qv(c,0),a===0?a=n:i[c+1]=GS(i[c+1],n),c=n;l&&(i[n+1]=UM(i[n+1])),KA(i,d,n,!0),KA(i,d,n,!1),C7(e,d,i,n,o),s=Qv(a,c),o?e.classBindings=s:e.styleBindings=s}function C7(i,e,t,n,r){let o=r?i.residualClasses:i.residualStyles;o!=null&&typeof e=="string"&&$f(o,e)>=0&&(t[n+1]=HM(t[n+1]))}function KA(i,e,t,n){let r=i[t+1],o=e===null,s=n?ql(r):nh(r),a=!1;for(;s!==0&&(a===!1||o);){let c=i[s],l=i[s+1];S7(c,e)&&(a=!0,i[s+1]=n?HM(l):UM(l)),s=n?ql(l):nh(l)}a&&(i[t+1]=n?UM(r):HM(r))}function S7(i,e){return i===null||e==null||(Array.isArray(i)?i[1]:i)===e?!0:Array.isArray(i)&&typeof e=="string"?$f(i,e)>=0:!1}var ls={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function M7(i){return i.substring(ls.key,ls.keyEnd)}function E7(i){return I7(i),R2(i,A2(i,0,ls.textEnd))}function R2(i,e){let t=ls.textEnd;return t===e?-1:(e=ls.keyEnd=T7(i,ls.key=e,t),A2(i,e,t))}function I7(i){ls.key=0,ls.keyEnd=0,ls.value=0,ls.valueEnd=0,ls.textEnd=i.length}function A2(i,e,t){for(;e32;)e++;return e}function R(i,e,t){let n=jt(),r=Xl();if(No(n,r,e)){let o=ci(),s=U0();kE(o,s,n,i,e,n[ai],t,!1)}return R}function GM(i,e,t,n,r){let o=e.inputs,s=r?"class":"style";FE(i,t,o[s],s,n)}function Jt(i,e,t){return k2(i,e,t,!1),Jt}function re(i,e){return k2(i,e,null,!0),re}function Vr(i){L2(N7,N2,i,!0)}function N2(i,e){for(let t=E7(e);t>=0;t=R2(e,t))O0(i,M7(e),!0)}function k2(i,e,t,n){let r=jt(),o=ci(),s=V0(2);if(o.firstUpdatePass&&B2(o,i,s,n),e!==Br&&No(r,s,e)){let a=o.data[Us()];V2(o,a,r,r[ai],i,r[s+1]=L7(e,t),n,s)}}function L2(i,e,t,n){let r=ci(),o=V0(2);r.firstUpdatePass&&B2(r,null,o,n);let s=jt();if(t!==Br&&No(s,o,t)){let a=r.data[Us()];if(z2(a,n)&&!F2(r,o)){let c=n?a.classesWithoutHost:a.stylesWithoutHost;c!==null&&(t=XS(c,t||"")),GM(r,a,s,t,n)}else k7(r,a,s,s[ai],s[o+1],s[o+1]=A7(i,e,t),n,o)}}function F2(i,e){return e>=i.expandoStartIndex}function B2(i,e,t,n){let r=i.data;if(r[t+1]===null){let o=r[Us()],s=F2(i,t);z2(o,n)&&e===null&&!s&&(e=!1),e=D7(r,o,e,n),w7(r,o,e,t,s,n)}}function D7(i,e,t,n){let r=vE(i),o=n?e.residualClasses:e.residualStyles;if(r===null)(n?e.classBindings:e.styleBindings)===0&&(t=jS(null,i,e,t,n),t=jf(t,e.attrs,n),o=null);else{let s=e.directiveStylingLast;if(s===-1||i[s]!==r)if(t=jS(r,i,e,t,n),o===null){let c=P7(i,e,n);c!==void 0&&Array.isArray(c)&&(c=jS(null,i,e,c[1],n),c=jf(c,e.attrs,n),O7(i,e,n,c))}else o=R7(i,e,n)}return o!==void 0&&(n?e.residualClasses=o:e.residualStyles=o),t}function P7(i,e,t){let n=t?e.classBindings:e.styleBindings;if(nh(n)!==0)return i[ql(n)]}function O7(i,e,t,n){let r=t?e.classBindings:e.styleBindings;i[ql(r)]=n}function R7(i,e,t){let n,r=e.directiveEnd;for(let o=1+e.directiveStylingLast;o0;){let c=i[r],l=Array.isArray(c),d=l?c[1]:c,u=d===null,h=t[r+1];h===Br&&(h=u?Pr:void 0);let p=u?kS(h,n):d===n?h:void 0;if(l&&!C0(p)&&(p=kS(c,n)),C0(p)&&(a=p,s))return a;let f=i[r+1];r=s?ql(f):nh(f)}if(e!==null){let c=o?e.residualClasses:e.residualStyles;c!=null&&(a=kS(c,n))}return a}function C0(i){return i!==void 0}function L7(i,e){return i==null||i===""||(typeof e=="string"?i=i+e:typeof i=="object"&&(i=Rr(Hs(i)))),i}function z2(i,e){return(i.flags&(e?8:16))!==0}function U2(i,e,t){let n=jt(),r=O2(n,i,e,t);L2(O0,N2,r,!0)}var jM=class{destroy(e){}updateValue(e,t){}swap(e,t){let n=Math.min(e,t),r=Math.max(e,t),o=this.detach(r);if(r-n>1){let s=this.detach(n);this.attach(n,o),this.attach(r,s)}else this.attach(n,o)}move(e,t){this.attach(t,this.detach(e))}};function WS(i,e,t,n,r){return i===t&&Object.is(e,n)?1:Object.is(r(i,e),r(t,n))?-1:0}function F7(i,e,t){let n,r,o=0,s=i.length-1,a=void 0;if(Array.isArray(e)){let c=e.length-1;for(;o<=s&&o<=c;){let l=i.at(o),d=e[o],u=WS(o,l,o,d,t);if(u!==0){u<0&&i.updateValue(o,d),o++;continue}let h=i.at(s),p=e[c],f=WS(s,h,c,p,t);if(f!==0){f<0&&i.updateValue(s,p),s--,c--;continue}let m=t(o,l),y=t(s,h),g=t(o,d);if(Object.is(g,y)){let _=t(c,p);Object.is(_,m)?(i.swap(o,s),i.updateValue(s,p),c--,s--):i.move(s,o),i.updateValue(o,d),o++;continue}if(n??=new S0,r??=tN(i,o,s,t),WM(i,n,o,g))i.updateValue(o,d),o++,s++;else if(r.has(g))n.set(m,i.detach(o)),s--;else{let _=i.create(o,e[o]);i.attach(o,_),o++,s++}}for(;o<=c;)eN(i,n,t,o,e[o]),o++}else if(e!=null){let c=e[Symbol.iterator](),l=c.next();for(;!l.done&&o<=s;){let d=i.at(o),u=l.value,h=WS(o,d,o,u,t);if(h!==0)h<0&&i.updateValue(o,u),o++,l=c.next();else{n??=new S0,r??=tN(i,o,s,t);let p=t(o,u);if(WM(i,n,o,p))i.updateValue(o,u),o++,s++,l=c.next();else if(!r.has(p))i.attach(o,i.create(o,u)),o++,s++,l=c.next();else{let f=t(o,d);n.set(f,i.detach(o)),s--}}}for(;!l.done;)eN(i,n,t,i.length,l.value),l=c.next()}for(;o<=s;)i.destroy(i.detach(s--));n?.forEach(c=>{i.destroy(c)})}function WM(i,e,t,n){return e!==void 0&&e.has(n)?(i.attach(t,e.get(n)),e.delete(n),!0):!1}function eN(i,e,t,n,r){if(WM(i,e,n,t(n,r)))i.updateValue(n,r);else{let o=i.create(n,r);i.attach(n,o)}}function tN(i,e,t,n){let r=new Set;for(let o=e;o<=t;o++)r.add(n(o,i.at(o)));return r}var S0=class{constructor(){this.kvMap=new Map,this._vMap=void 0}has(e){return this.kvMap.has(e)}delete(e){if(!this.has(e))return!1;let t=this.kvMap.get(e);return this._vMap!==void 0&&this._vMap.has(t)?(this.kvMap.set(e,this._vMap.get(t)),this._vMap.delete(t)):this.kvMap.delete(e),!0}get(e){return this.kvMap.get(e)}set(e,t){if(this.kvMap.has(e)){let n=this.kvMap.get(e);this._vMap===void 0&&(this._vMap=new Map);let r=this._vMap;for(;r.has(n);)n=r.get(n);r.set(n,t)}else this.kvMap.set(e,t)}forEach(e){for(let[t,n]of this.kvMap)if(e(n,t),this._vMap!==void 0){let r=this._vMap;for(;r.has(n);)n=r.get(n),e(n,t)}}};function oe(i,e){Lo("NgControlFlow");let t=jt(),n=Xl(),r=t[n]!==Br?t[n]:-1,o=r!==-1?M0(t,Ar+r):void 0,s=0;if(No(t,n,i)){let a=ln(null);try{if(o!==void 0&&s2(o,s),i!==-1){let c=Ar+i,l=M0(t,c),d=XM(t[Gt],c),u=Ju(l,d.tView.ssrId),h=Zf(t,d,e,{dehydratedView:u});Qf(l,h,s,Ku(d,u))}}finally{ln(a)}}else if(o!==void 0){let a=o2(o,s);a!==void 0&&(a[pr]=e)}}var $M=class{constructor(e,t,n){this.lContainer=e,this.$implicit=t,this.$index=n}get $count(){return this.lContainer.length-fr}};function tb(i){return i}function gr(i,e){return e}var qM=class{constructor(e,t,n){this.hasEmptyBlock=e,this.trackByFn=t,this.liveCollection=n}};function rn(i,e,t,n,r,o,s,a,c,l,d,u,h){Lo("NgControlFlow");let p=jt(),f=ci(),m=c!==void 0,y=jt(),g=a?s.bind(y[lo][pr]):s,_=new qM(m,g);y[Ar+i]=_,w0(p,f,i+1,e,t,n,r,Tc(f.consts,o)),m&&w0(p,f,i+2,c,l,d,u,Tc(f.consts,h))}var YM=class extends jM{constructor(e,t,n){super(),this.lContainer=e,this.hostLView=t,this.templateTNode=n,this.operationsCounter=void 0,this.needsIndexUpdate=!1}get length(){return this.lContainer.length-fr}at(e){return this.getLView(e)[pr].$implicit}attach(e,t){let n=t[Xu];this.needsIndexUpdate||=e!==this.length,Qf(this.lContainer,t,e,Ku(this.templateTNode,n))}detach(e){return this.needsIndexUpdate||=e!==this.length-1,B7(this.lContainer,e)}create(e,t){let n=Ju(this.lContainer,this.templateTNode.tView.ssrId),r=Zf(this.hostLView,this.templateTNode,new $M(this.lContainer,t,e),{dehydratedView:n});return this.operationsCounter?.recordCreate(),r}destroy(e){X0(e[Gt],e),this.operationsCounter?.recordDestroy()}updateValue(e,t){this.getLView(e)[pr].$implicit=t}reset(){this.needsIndexUpdate=!1,this.operationsCounter?.reset()}updateIndexes(){if(this.needsIndexUpdate)for(let e=0;e(j0(!0),Lk(n,r,l6()));function H7(i,e,t,n,r){let o=e.consts,s=Tc(o,n),a=sh(e,i,8,"ng-container",s);s!==null&&v0(a,s,!0);let c=Tc(o,r);return LE(e,t,a,c),e.queries!==null&&e.queries.elementStart(e,a),a}function ho(i,e,t){let n=jt(),r=ci(),o=i+Ar,s=r.firstCreatePass?H7(o,r,n,e,t):r.data[o];Yl(s,!0);let a=G7(r,n,s,i);return n[o]=a,G0()&&Z0(r,n,a,s),Dc(a,n),F0(s)&&(RE(r,n,s),OE(r,s,n)),t!=null&&AE(n,s),ho}function po(){let i=Qi(),e=ci();return gE()?_E():(i=i.parent,Yl(i,!1)),e.firstCreatePass&&(W0(e,i),pE(i)&&e.queries.elementEnd(i)),po}function Ki(i,e,t){return ho(i,e,t),po(),Ki}var G7=(i,e,t,n)=>(j0(!0),u$(e[ai],""));function ne(){return jt()}function Fo(i,e,t){let n=jt(),r=Xl();if(No(n,r,e)){let o=ci(),s=U0();kE(o,s,n,i,e,n[ai],t,!0)}return Fo}function Jf(i,e,t){let n=jt(),r=Xl();if(No(n,r,e)){let o=ci(),s=U0(),a=vE(o.data),c=i2(a,s,n);kE(o,s,n,i,e,c,t,!0)}return Jf}var E0="en-US";var j7=E0;function W7(i){typeof i=="string"&&(j7=i.toLowerCase().replace(/_/g,"-"))}var $7=(i,e,t)=>{};function H(i,e,t,n){let r=jt(),o=ci(),s=Qi();return H2(o,r,r[ai],s,i,e,n),H}function YE(i,e){let t=Qi(),n=jt(),r=ci(),o=vE(r.data),s=i2(o,t,n);return H2(r,n,s,t,i,e),YE}function q7(i,e,t,n){let r=i.cleanup;if(r!=null)for(let o=0;oc?a[c]:null}typeof s=="string"&&(o+=2)}return null}function H2(i,e,t,n,r,o,s){let a=F0(n),l=i.firstCreatePass&&n2(i),d=e[pr],u=t2(e),h=!0;if(n.type&3||s){let m=ko(n,e),y=s?s(m):m,g=u.length,_=s?C=>s(Bs(C[n.index])):n.index,x=null;if(!s&&a&&(x=q7(i,e,r,n.index)),x!==null){let C=x.__ngLastListenerFn__||x;C.__ngNextListenerFn__=o,x.__ngLastListenerFn__=o,h=!1}else{o=iN(n,e,d,o),$7(m,r,o);let C=t.listen(y,r,o);u.push(o,C),l&&l.push(r,_,g,g+1)}}else o=iN(n,e,d,o);let p=n.outputs,f;if(h&&p!==null&&(f=p[r])){let m=f.length;if(m)for(let y=0;y-1?Rc(i.index,e):e;zE(s,5);let a=nN(e,t,n,o),c=r.__ngNextListenerFn__;for(;c;)a=nN(e,t,c,o)&&a,c=c.__ngNextListenerFn__;return a}}function I(i=1){return a6(i)}function Y7(i,e){let t=null,n=_W(i);for(let r=0;r(j0(!0),l$(e[ai],n));function st(i){return Se("",i,""),st}function Se(i,e,t){let n=jt(),r=O2(n,i,e,t);return r!==Br&&BE(n,Us(),r),Se}function XE(i,e,t,n,r){let o=jt(),s=_7(o,i,e,t,n,r);return s!==Br&&BE(o,Us(),s),XE}function Jl(i,e,t,n,r,o,s,a,c){let l=jt(),d=v7(l,i,e,t,n,r,o,s,a,c);return d!==Br&&BE(l,Us(),d),Jl}function Q7(i,e,t){let n=ci();if(n.firstCreatePass){let r=Ma(i);ZM(t,n.data,n.blueprint,r,!0),ZM(e,n.data,n.blueprint,r,!1)}}function ZM(i,e,t,n,r){if(i=Yi(i),Array.isArray(i))for(let o=0;o>20;if(Yu(i)||!i.multi){let p=new jl(l,r,M),f=qS(c,e,r?d:d+h,u);f===-1?(lM(f0(a,s),o,c),$S(o,i,e.length),e.push(c),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),t.push(p),s.push(p)):(t[f]=p,s[f]=p)}else{let p=qS(c,e,d+h,u),f=qS(c,e,d,d+h),m=p>=0&&t[p],y=f>=0&&t[f];if(r&&!y||!r&&!m){lM(f0(a,s),o,c);let g=eq(r?J7:K7,t.length,r,n,l);!r&&y&&(t[f].providerFactory=g),$S(o,i,e.length,0),e.push(c),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),t.push(g),s.push(g)}else{let g=W2(t[r?f:p],l,!r&&n);$S(o,i,p>-1?p:f,g)}!r&&n&&y&&t[f].componentProviders++}}}function $S(i,e,t,n){let r=Yu(e),o=OW(e);if(r||o){let c=(o?Yi(e.useClass):e).prototype.ngOnDestroy;if(c){let l=i.destroyHooks||(i.destroyHooks=[]);if(!r&&e.multi){let d=l.indexOf(t);d===-1?l.push(t,[n,c]):l[d+1].push(n,c)}else l.push(t,c)}}}function W2(i,e,t){return t&&i.componentProviders++,i.multi.push(e)-1}function qS(i,e,t,n){for(let r=t;r{t.providersResolver=(n,r)=>Q7(n,r?r(i):i,e)}}var tq=(()=>{let e=class e{constructor(n){this._injector=n,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(n){if(!n.standalone)return null;if(!this.cachedInjectors.has(n)){let r=TN(!1,n.type),o=r.length>0?qE([r],this._injector,`Standalone[${n.type.name}]`):null;this.cachedInjectors.set(n,o)}return this.cachedInjectors.get(n)}ngOnDestroy(){try{for(let n of this.cachedInjectors.values())n!==null&&n.destroy()}finally{this.cachedInjectors.clear()}}};e.\u0275prov=J({token:e,providedIn:"environment",factory:()=>new e(X(Xi))});let i=e;return i})();function le(i){Lo("NgStandalone"),i.getStandaloneInjector=e=>e.get(tq).getOrCreateStandaloneInjector(i)}function $2(i,e,t){let n=YN()+i,r=jt();return r[n]===Br?P2(r,n,t?e.call(t):e()):u7(r,n)}function Ac(i,e,t,n){return iq(jt(),YN(),i,e,t,n)}function nq(i,e){let t=i[e];return t===Br?void 0:t}function iq(i,e,t,n,r,o){let s=e+t;return No(i,s,r)?P2(i,s+1,o?n.call(o,r):n(r)):nq(i,s+1)}function Tt(i,e){return eb(i,e)}var nb=(()=>{let e=class e{log(n){console.log(n)}warn(n){console.warn(n)}};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"platform"});let i=e;return i})();var q2=new me("");function ed(i){return!!i&&typeof i.then=="function"}function Y2(i){return!!i&&typeof i.subscribe=="function"}var X2=new me(""),Z2=(()=>{let e=class e{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((n,r)=>{this.resolve=n,this.reject=r}),this.appInits=te(X2,{optional:!0})??[]}runInitializers(){if(this.initialized)return;let n=[];for(let o of this.appInits){let s=o();if(ed(s))n.push(s);else if(Y2(s)){let a=new Promise((c,l)=>{s.subscribe({complete:c,error:l})});n.push(a)}}let r=()=>{this.done=!0,this.resolve()};Promise.all(n).then(()=>{r()}).catch(o=>{this.reject(o)}),n.length===0&&r(),this.initialized=!0}};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})(),ZE=new me("");function rq(){FR(()=>{throw new Oe(600,!1)})}function oq(i){return i.isBoundToModule}var sq=10;function aq(i,e,t){try{let n=t();return ed(n)?n.catch(r=>{throw e.runOutsideAngular(()=>i.handleError(r)),r}):n}catch(n){throw e.runOutsideAngular(()=>i.handleError(n)),n}}var hs=(()=>{let e=class e{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=te(pk),this.afterRenderEffectManager=te(GE),this.zonelessEnabled=te(UE),this.externalTestViews=new Set,this.beforeRender=new pe,this.afterTick=new pe,this.componentTypes=[],this.components=[],this.isStable=te(Zl).hasPendingTasks.pipe(Je(n=>!n)),this._injector=te(Xi)}get allViews(){return[...this.externalTestViews.keys(),...this._views]}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(n,r){let o=n instanceof _0;if(!this._injector.get(Z2).done){let p=!o&&SN(n),f=!1;throw new Oe(405,f)}let a;o?a=n:a=this._injector.get(us).resolveComponentFactory(n),this.componentTypes.push(a.componentType);let c=oq(a)?void 0:this._injector.get(Oc),l=r||a.selector,d=a.create(vt.NULL,[],l,c),u=d.location.nativeElement,h=d.injector.get(q2,null);return h?.registerApplication(u),d.onDestroy(()=>{this.detachView(d.hostView),YS(this.components,d),h?.unregisterApplication(u)}),this._loadComponent(d),d}tick(){this._tick(!0)}_tick(n){if(this._runningTick)throw new Oe(101,!1);let r=ln(null);try{this._runningTick=!0,this.detectChangesInAttachedViews(n)}catch(o){this.internalErrorHandler(o)}finally{this._runningTick=!1,ln(r),this.afterTick.next()}}detectChangesInAttachedViews(n){let r=null;this._injector.destroyed||(r=this._injector.get(Pc,null,{optional:!0}));let o=0,s=this.afterRenderEffectManager;for(;oUf(c))&&(s.execute(),!this.allViews.some(({_lView:c})=>Uf(c))))break}}attachView(n){let r=n;this._views.push(r),r.attachToAppRef(this)}detachView(n){let r=n;YS(this._views,r),r.detachFromAppRef()}_loadComponent(n){this.attachView(n.hostView),this.tick(),this.components.push(n);let r=this._injector.get(ZE,[]);[...this._bootstrapListeners,...r].forEach(o=>o(n))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(n=>n()),this._views.slice().forEach(n=>n.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(n){return this._destroyListeners.push(n),()=>YS(this._destroyListeners,n)}destroy(){if(this._destroyed)throw new Oe(406,!1);let n=this._injector;n.destroy&&!n.destroyed&&n.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();function YS(i,e){let t=i.indexOf(e);t>-1&&i.splice(t,1)}function cq(i,e,t,n){if(!t&&!Uf(i))return;l2(i,e,t&&!n?0:1)}var KM=class{constructor(e,t){this.ngModuleFactory=e,this.componentFactories=t}},QE=(()=>{let e=class e{compileModuleSync(n){return new VM(n)}compileModuleAsync(n){return Promise.resolve(this.compileModuleSync(n))}compileModuleAndAllComponentsSync(n){let r=this.compileModuleSync(n),o=MN(n),s=Nk(o.declarations).reduce((a,c)=>{let l=Ic(c);return l&&a.push(new th(l)),a},[]);return new KM(r,s)}compileModuleAndAllComponentsAsync(n){return Promise.resolve(this.compileModuleAndAllComponentsSync(n))}clearCache(){}clearCacheFor(n){}getModuleId(n){}};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();var lq=(()=>{let e=class e{constructor(){this.zone=te(Fe),this.changeDetectionScheduler=te(eh),this.applicationRef=te(hs)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.changeDetectionScheduler.runningTick||this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})(),dq=new me("",{factory:()=>!1});function Q2({ngZoneFactory:i,ignoreChangesOutsideZone:e}){return i??=()=>new Fe(J2()),[{provide:Fe,useFactory:i},{provide:qu,multi:!0,useFactory:()=>{let t=te(lq,{optional:!0});return()=>t.initialize()}},{provide:qu,multi:!0,useFactory:()=>{let t=te(hq);return()=>{t.initialize()}}},{provide:pk,useFactory:uq},e===!0?{provide:p2,useValue:!0}:[]]}function uq(){let i=te(Fe),e=te(Nr);return t=>i.runOutsideAngular(()=>e.handleError(t))}function K2(i){let e=i?.ignoreChangesOutsideZone,t=Q2({ngZoneFactory:()=>{let n=J2(i);return n.shouldCoalesceEventChangeDetection&&Lo("NgZone_CoalesceEvent"),new Fe(n)},ignoreChangesOutsideZone:e});return R0([{provide:dq,useValue:!0},{provide:UE,useValue:!1},t])}function J2(i){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:i?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:i?.runCoalescing??!1}}var hq=(()=>{let e=class e{constructor(){this.subscription=new Ct,this.initialized=!1,this.zone=te(Fe),this.pendingTasks=te(Zl)}initialize(){if(this.initialized)return;this.initialized=!0;let n=null;!this.zone.isStable&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(n=this.pendingTasks.add()),this.zone.runOutsideAngular(()=>{this.subscription.add(this.zone.onStable.subscribe(()=>{Fe.assertNotInAngularZone(),queueMicrotask(()=>{n!==null&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(this.pendingTasks.remove(n),n=null)})}))}),this.subscription.add(this.zone.onUnstable.subscribe(()=>{Fe.assertInAngularZone(),n??=this.pendingTasks.add()}))}ngOnDestroy(){this.subscription.unsubscribe()}};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();var pq=(()=>{let e=class e{constructor(){this.appRef=te(hs),this.taskService=te(Zl),this.ngZone=te(Fe),this.zonelessEnabled=te(UE),this.disableScheduling=te(p2,{optional:!0})??!1,this.zoneIsDefined=typeof Zone<"u"&&!!Zone.root.run,this.schedulerTickApplyArgs=[{data:{__scheduler_tick__:!0}}],this.subscriptions=new Ct,this.cancelScheduledCallback=null,this.shouldRefreshViews=!1,this.useMicrotaskScheduler=!1,this.runningTick=!1,this.pendingRenderTaskId=null,this.subscriptions.add(this.appRef.afterTick.subscribe(()=>{this.runningTick||this.cleanup()})),this.subscriptions.add(this.ngZone.onUnstable.subscribe(()=>{this.runningTick||this.cleanup()})),this.disableScheduling||=!this.zonelessEnabled&&(this.ngZone instanceof DM||!this.zoneIsDefined)}notify(n){if(!this.zonelessEnabled&&n===5)return;switch(n){case 3:case 2:case 0:case 4:case 5:case 1:{this.shouldRefreshViews=!0;break}case 8:case 7:case 6:case 9:default:}if(!this.shouldScheduleTick())return;let r=this.useMicrotaskScheduler?jA:f2;this.pendingRenderTaskId=this.taskService.add(),this.zoneIsDefined?Zone.root.run(()=>{this.cancelScheduledCallback=r(()=>{this.tick(this.shouldRefreshViews)})}):this.cancelScheduledCallback=r(()=>{this.tick(this.shouldRefreshViews)})}shouldScheduleTick(){return!(this.disableScheduling||this.pendingRenderTaskId!==null||this.runningTick||this.appRef._runningTick||!this.zonelessEnabled&&this.zoneIsDefined&&Fe.isInAngularZone())}tick(n){if(this.runningTick||this.appRef.destroyed)return;let r=this.taskService.add();try{this.ngZone.run(()=>{this.runningTick=!0,this.appRef._tick(n)},void 0,this.schedulerTickApplyArgs)}catch(o){throw this.taskService.remove(r),o}finally{this.cleanup()}this.useMicrotaskScheduler=!0,jA(()=>{this.useMicrotaskScheduler=!1,this.taskService.remove(r)})}ngOnDestroy(){this.subscriptions.unsubscribe(),this.cleanup()}cleanup(){if(this.shouldRefreshViews=!1,this.runningTick=!1,this.cancelScheduledCallback?.(),this.cancelScheduledCallback=null,this.pendingRenderTaskId!==null){let n=this.pendingRenderTaskId;this.pendingRenderTaskId=null,this.taskService.remove(n)}}};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();function fq(){return typeof $localize<"u"&&$localize.locale||E0}var ib=new me("",{providedIn:"root",factory:()=>te(ib,tn.Optional|tn.SkipSelf)||fq()});var eL=new me("");var r0=null;function mq(i=[],e){return vt.create({name:e,providers:[{provide:A0,useValue:"platform"},{provide:eL,useValue:new Set([()=>r0=null])},...i]})}function gq(i=[]){if(r0)return r0;let e=mq(i);return r0=e,rq(),_q(e),e}function _q(i){i.get(CE,null)?.forEach(t=>t())}var Ne=(()=>{let e=class e{};e.__NG_ELEMENT_ID__=vq;let i=e;return i})();function vq(i){return bq(Qi(),jt(),(i&16)===16)}function bq(i,e,t){if(L0(i)&&!t){let n=Rc(i.index,e);return new $l(n,n)}else if(i.type&175){let n=e[lo];return new $l(n,e)}return null}var JM=class{constructor(){}supports(e){return D2(e)}create(e){return new eE(e)}},yq=(i,e)=>e,eE=class{constructor(e){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=e||yq}forEachItem(e){let t;for(t=this._itHead;t!==null;t=t._next)e(t)}forEachOperation(e){let t=this._itHead,n=this._removalsHead,r=0,o=null;for(;t||n;){let s=!n||t&&t.currentIndex{s=this._trackByFn(r,a),t===null||!Object.is(t.trackById,s)?(t=this._mismatch(t,a,s,r),n=!0):(n&&(t=this._verifyReinsertion(t,a,s,r)),Object.is(t.item,a)||this._addIdentityChange(t,a)),t=t._next,r++}),this.length=r;return this._truncate(t),this.collection=e,this.isDirty}get isDirty(){return this._additionsHead!==null||this._movesHead!==null||this._removalsHead!==null||this._identityChangesHead!==null}_reset(){if(this.isDirty){let e;for(e=this._previousItHead=this._itHead;e!==null;e=e._next)e._nextPrevious=e._next;for(e=this._additionsHead;e!==null;e=e._nextAdded)e.previousIndex=e.currentIndex;for(this._additionsHead=this._additionsTail=null,e=this._movesHead;e!==null;e=e._nextMoved)e.previousIndex=e.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(e,t,n,r){let o;return e===null?o=this._itTail:(o=e._prev,this._remove(e)),e=this._unlinkedRecords===null?null:this._unlinkedRecords.get(n,null),e!==null?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._reinsertAfter(e,o,r)):(e=this._linkedRecords===null?null:this._linkedRecords.get(n,r),e!==null?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._moveAfter(e,o,r)):e=this._addAfter(new tE(t,n),o,r)),e}_verifyReinsertion(e,t,n,r){let o=this._unlinkedRecords===null?null:this._unlinkedRecords.get(n,null);return o!==null?e=this._reinsertAfter(o,e._prev,r):e.currentIndex!=r&&(e.currentIndex=r,this._addToMoves(e,r)),e}_truncate(e){for(;e!==null;){let t=e._next;this._addToRemovals(this._unlink(e)),e=t}this._unlinkedRecords!==null&&this._unlinkedRecords.clear(),this._additionsTail!==null&&(this._additionsTail._nextAdded=null),this._movesTail!==null&&(this._movesTail._nextMoved=null),this._itTail!==null&&(this._itTail._next=null),this._removalsTail!==null&&(this._removalsTail._nextRemoved=null),this._identityChangesTail!==null&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(e,t,n){this._unlinkedRecords!==null&&this._unlinkedRecords.remove(e);let r=e._prevRemoved,o=e._nextRemoved;return r===null?this._removalsHead=o:r._nextRemoved=o,o===null?this._removalsTail=r:o._prevRemoved=r,this._insertAfter(e,t,n),this._addToMoves(e,n),e}_moveAfter(e,t,n){return this._unlink(e),this._insertAfter(e,t,n),this._addToMoves(e,n),e}_addAfter(e,t,n){return this._insertAfter(e,t,n),this._additionsTail===null?this._additionsTail=this._additionsHead=e:this._additionsTail=this._additionsTail._nextAdded=e,e}_insertAfter(e,t,n){let r=t===null?this._itHead:t._next;return e._next=r,e._prev=t,r===null?this._itTail=e:r._prev=e,t===null?this._itHead=e:t._next=e,this._linkedRecords===null&&(this._linkedRecords=new I0),this._linkedRecords.put(e),e.currentIndex=n,e}_remove(e){return this._addToRemovals(this._unlink(e))}_unlink(e){this._linkedRecords!==null&&this._linkedRecords.remove(e);let t=e._prev,n=e._next;return t===null?this._itHead=n:t._next=n,n===null?this._itTail=t:n._prev=t,e}_addToMoves(e,t){return e.previousIndex===t||(this._movesTail===null?this._movesTail=this._movesHead=e:this._movesTail=this._movesTail._nextMoved=e),e}_addToRemovals(e){return this._unlinkedRecords===null&&(this._unlinkedRecords=new I0),this._unlinkedRecords.put(e),e.currentIndex=null,e._nextRemoved=null,this._removalsTail===null?(this._removalsTail=this._removalsHead=e,e._prevRemoved=null):(e._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=e),e}_addIdentityChange(e,t){return e.item=t,this._identityChangesTail===null?this._identityChangesTail=this._identityChangesHead=e:this._identityChangesTail=this._identityChangesTail._nextIdentityChange=e,e}},tE=class{constructor(e,t){this.item=e,this.trackById=t,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}},nE=class{constructor(){this._head=null,this._tail=null}add(e){this._head===null?(this._head=this._tail=e,e._nextDup=null,e._prevDup=null):(this._tail._nextDup=e,e._prevDup=this._tail,e._nextDup=null,this._tail=e)}get(e,t){let n;for(n=this._head;n!==null;n=n._nextDup)if((t===null||t<=n.currentIndex)&&Object.is(n.trackById,e))return n;return null}remove(e){let t=e._prevDup,n=e._nextDup;return t===null?this._head=n:t._nextDup=n,n===null?this._tail=t:n._prevDup=t,this._head===null}},I0=class{constructor(){this.map=new Map}put(e){let t=e.trackById,n=this.map.get(t);n||(n=new nE,this.map.set(t,n)),n.add(e)}get(e,t){let n=e,r=this.map.get(n);return r?r.get(e,t):null}remove(e){let t=e.trackById;return this.map.get(t).remove(e)&&this.map.delete(t),e}get isEmpty(){return this.map.size===0}clear(){this.map.clear()}};function rN(i,e,t){let n=i.previousIndex;if(n===null)return n;let r=0;return t&&n{let e=class e{constructor(n){this.factories=n}static create(n,r){if(r!=null){let o=r.factories.slice();n=n.concat(o)}return new e(n)}static extend(n){return{provide:e,useFactory:r=>e.create(n,r||oN()),deps:[[e,new aE,new P0]]}}find(n){let r=this.factories.find(o=>o.supports(n));if(r!=null)return r;throw new Oe(901,!1)}};e.\u0275prov=J({token:e,providedIn:"root",factory:oN});let i=e;return i})();function tL(i){try{let{rootComponent:e,appProviders:t,platformProviders:n}=i,r=gq(n),o=[Q2({}),{provide:eh,useExisting:pq},...t||[]],a=new x0({providers:o,parent:r,debugName:"",runEnvironmentInitializers:!1}).injector,c=a.get(Fe);return c.run(()=>{a.resolveInjectorInitializers();let l=a.get(Nr,null),d;c.runOutsideAngular(()=>{d=c.onError.subscribe({next:p=>{l.handleError(p)}})});let u=()=>a.destroy(),h=r.get(eL);return h.add(u),a.onDestroy(()=>{d.unsubscribe(),h.delete(u)}),aq(l,c,()=>{let p=a.get(Z2);return p.runInitializers(),p.donePromise.then(()=>{let f=a.get(ib,E0);W7(f||E0);let m=a.get(hs);return e!==void 0&&m.bootstrap(e),m})})})}catch(e){return Promise.reject(e)}}var nL=new me("");function et(i){return typeof i=="boolean"?i:i!=null&&i!=="false"}function ni(i,e=NaN){return!isNaN(parseFloat(i))&&!isNaN(Number(i))?Number(i):e}function Bt(i,e){Lo("NgSignals");let t=mS(i);return e?.equal&&(t[Do].equal=e.equal),t}function zr(i){let e=ln(null);try{return i()}finally{ln(e)}}var xq=new me("",{providedIn:"root",factory:()=>te(wq)}),wq=(()=>{let e=class e{};e.\u0275prov=J({token:e,providedIn:"root",factory:()=>new iE});let i=e;return i})(),iE=class{constructor(){this.queuedEffectCount=0,this.queues=new Map,this.pendingTasks=te(Zl),this.taskId=null}scheduleEffect(e){if(this.enqueue(e),this.taskId===null){let t=this.taskId=this.pendingTasks.add();queueMicrotask(()=>{this.flush(),this.pendingTasks.remove(t),this.taskId=null})}}enqueue(e){let t=e.creationZone;this.queues.has(t)||this.queues.set(t,new Set);let n=this.queues.get(t);n.has(e)||(this.queuedEffectCount++,n.add(e))}flush(){for(;this.queuedEffectCount>0;)for(let[e,t]of this.queues)e===null?this.flushQueue(t):e.run(()=>this.flushQueue(t))}flushQueue(e){for(let t of e)e.delete(t),this.queuedEffectCount--,t.run()}},rE=class{constructor(e,t,n,r,o,s){this.scheduler=e,this.effectFn=t,this.creationZone=n,this.injector=o,this.watcher=UR(a=>this.runEffect(a),()=>this.schedule(),s),this.unregisterOnDestroy=r?.onDestroy(()=>this.destroy())}runEffect(e){try{this.effectFn(e)}catch(t){this.injector.get(Nr,null,{optional:!0})?.handleError(t)}}run(){this.watcher.run()}schedule(){this.scheduler.scheduleEffect(this)}destroy(){this.watcher.destroy(),this.unregisterOnDestroy?.()}};function lt(i,e){Lo("NgSignals"),!e?.injector&&ih(lt);let t=e?.injector??te(vt),n=e?.manualCleanup!==!0?t.get(Fi):null,r=new rE(t.get(xq),i,typeof Zone>"u"?null:Zone.current,n,t,e?.allowSignalWrites??!1),o=t.get(Ne,null,{optional:!0});return!o||!(o._lView[Rt]&8)?r.watcher.notify():(o._lView[Jv]??=[]).push(r.watcher.notify),r}function iL(i,e){let t=Ic(i),n=e.elementInjector||N0();return new th(t).create(n,e.projectableNodes,e.hostElement,e.environmentInjector)}var lL=null;function Oa(){return lL}function dL(i){lL??=i}var rb=class{};var Xe=new me(""),uL=(()=>{let e=class e{historyGo(n){throw new Error("")}};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:()=>te(Cq),providedIn:"platform"});let i=e;return i})();var Cq=(()=>{let e=class e extends uL{constructor(){super(),this._doc=te(Xe),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return Oa().getBaseHref(this._doc)}onPopState(n){let r=Oa().getGlobalEventTarget(this._doc,"window");return r.addEventListener("popstate",n,!1),()=>r.removeEventListener("popstate",n)}onHashChange(n){let r=Oa().getGlobalEventTarget(this._doc,"window");return r.addEventListener("hashchange",n,!1),()=>r.removeEventListener("hashchange",n)}get href(){return this._location.href}get protocol(){return this._location.protocol}get hostname(){return this._location.hostname}get port(){return this._location.port}get pathname(){return this._location.pathname}get search(){return this._location.search}get hash(){return this._location.hash}set pathname(n){this._location.pathname=n}pushState(n,r,o){this._history.pushState(n,r,o)}replaceState(n,r,o){this._history.replaceState(n,r,o)}forward(){this._history.forward()}back(){this._history.back()}historyGo(n=0){this._history.go(n)}getState(){return this._history.state}};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:()=>new e,providedIn:"platform"});let i=e;return i})();function hL(i,e){if(i.length==0)return e;if(e.length==0)return i;let t=0;return i.endsWith("/")&&t++,e.startsWith("/")&&t++,t==2?i+e.substring(1):t==1?i+e:i+"/"+e}function rL(i){let e=i.match(/#|\?|$/),t=e&&e.index||i.length,n=t-(i[t-1]==="/"?1:0);return i.slice(0,n)+i.slice(t)}function nd(i){return i&&i[0]!=="?"?"?"+i:i}var ab=(()=>{let e=class e{historyGo(n){throw new Error("")}};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:()=>te(pL),providedIn:"root"});let i=e;return i})(),Sq=new me(""),pL=(()=>{let e=class e extends ab{constructor(n,r){super(),this._platformLocation=n,this._removeListenerFns=[],this._baseHref=r??this._platformLocation.getBaseHrefFromDOM()??te(Xe).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(n){this._removeListenerFns.push(this._platformLocation.onPopState(n),this._platformLocation.onHashChange(n))}getBaseHref(){return this._baseHref}prepareExternalUrl(n){return hL(this._baseHref,n)}path(n=!1){let r=this._platformLocation.pathname+nd(this._platformLocation.search),o=this._platformLocation.hash;return o&&n?`${r}${o}`:r}pushState(n,r,o,s){let a=this.prepareExternalUrl(o+nd(s));this._platformLocation.pushState(n,r,a)}replaceState(n,r,o,s){let a=this.prepareExternalUrl(o+nd(s));this._platformLocation.replaceState(n,r,a)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(n=0){this._platformLocation.historyGo?.(n)}};e.\u0275fac=function(r){return new(r||e)(X(uL),X(Sq,8))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();var Ra=(()=>{let e=class e{constructor(n){this._subject=new Ie,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=n;let r=this._locationStrategy.getBaseHref();this._basePath=Iq(rL(oL(r))),this._locationStrategy.onPopState(o=>{this._subject.emit({url:this.path(!0),pop:!0,state:o.state,type:o.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(n=!1){return this.normalize(this._locationStrategy.path(n))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(n,r=""){return this.path()==this.normalize(n+nd(r))}normalize(n){return e.stripTrailingSlash(Eq(this._basePath,oL(n)))}prepareExternalUrl(n){return n&&n[0]!=="/"&&(n="/"+n),this._locationStrategy.prepareExternalUrl(n)}go(n,r="",o=null){this._locationStrategy.pushState(o,"",n,r),this._notifyUrlChangeListeners(this.prepareExternalUrl(n+nd(r)),o)}replaceState(n,r="",o=null){this._locationStrategy.replaceState(o,"",n,r),this._notifyUrlChangeListeners(this.prepareExternalUrl(n+nd(r)),o)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(n=0){this._locationStrategy.historyGo?.(n)}onUrlChange(n){return this._urlChangeListeners.push(n),this._urlChangeSubscription??=this.subscribe(r=>{this._notifyUrlChangeListeners(r.url,r.state)}),()=>{let r=this._urlChangeListeners.indexOf(n);this._urlChangeListeners.splice(r,1),this._urlChangeListeners.length===0&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(n="",r){this._urlChangeListeners.forEach(o=>o(n,r))}subscribe(n,r,o){return this._subject.subscribe({next:n,error:r,complete:o})}};e.normalizeQueryParams=nd,e.joinWithSlash=hL,e.stripTrailingSlash=rL,e.\u0275fac=function(r){return new(r||e)(X(ab))},e.\u0275prov=J({token:e,factory:()=>Mq(),providedIn:"root"});let i=e;return i})();function Mq(){return new Ra(X(ab))}function Eq(i,e){if(!i||!e.startsWith(i))return e;let t=e.substring(i.length);return t===""||["/",";","?","#"].includes(t[0])?t:e}function oL(i){return i.replace(/\/index.html$/,"")}function Iq(i){if(new RegExp("^(https?:)?//").test(i)){let[,t]=i.split(/\/\/[^\/]+/);return t}return i}function fL(i,e){e=encodeURIComponent(e);for(let t of i.split(";")){let n=t.indexOf("="),[r,o]=n==-1?[t,""]:[t.slice(0,n),t.slice(n+1)];if(r.trim()===e)return decodeURIComponent(o)}return null}var JE=/\s+/,sL=[],cb=(()=>{let e=class e{constructor(n,r){this._ngEl=n,this._renderer=r,this.initialClasses=sL,this.stateMap=new Map}set klass(n){this.initialClasses=n!=null?n.trim().split(JE):sL}set ngClass(n){this.rawClass=typeof n=="string"?n.trim().split(JE):n}ngDoCheck(){for(let r of this.initialClasses)this._updateState(r,!0);let n=this.rawClass;if(Array.isArray(n)||n instanceof Set)for(let r of n)this._updateState(r,!0);else if(n!=null)for(let r of Object.keys(n))this._updateState(r,!!n[r]);this._applyStateDiff()}_updateState(n,r){let o=this.stateMap.get(n);o!==void 0?(o.enabled!==r&&(o.changed=!0,o.enabled=r),o.touched=!0):this.stateMap.set(n,{enabled:r,changed:!0,touched:!0})}_applyStateDiff(){for(let n of this.stateMap){let r=n[0],o=n[1];o.changed?(this._toggleClass(r,o.enabled),o.changed=!1):o.touched||(o.enabled&&this._toggleClass(r,!1),this.stateMap.delete(r)),o.touched=!1}}_toggleClass(n,r){n=n.trim(),n.length>0&&n.split(JE).forEach(o=>{r?this._renderer.addClass(this._ngEl.nativeElement,o):this._renderer.removeClass(this._ngEl.nativeElement,o)})}};e.\u0275fac=function(r){return new(r||e)(M(Re),M(Kl))},e.\u0275dir=Ve({type:e,selectors:[["","ngClass",""]],inputs:{klass:[0,"class","klass"],ngClass:"ngClass"},standalone:!0});let i=e;return i})();var e1=class{constructor(e,t,n,r){this.$implicit=e,this.ngForOf=t,this.index=n,this.count=r}get first(){return this.index===0}get last(){return this.index===this.count-1}get even(){return this.index%2===0}get odd(){return!this.even}},Mi=(()=>{let e=class e{set ngForOf(n){this._ngForOf=n,this._ngForOfDirty=!0}set ngForTrackBy(n){this._trackByFn=n}get ngForTrackBy(){return this._trackByFn}constructor(n,r,o){this._viewContainer=n,this._template=r,this._differs=o,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(n){n&&(this._template=n)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;let n=this._ngForOf;if(!this._differ&&n)if(0)try{}catch{}else this._differ=this._differs.find(n).create(this.ngForTrackBy)}if(this._differ){let n=this._differ.diff(this._ngForOf);n&&this._applyChanges(n)}}_applyChanges(n){let r=this._viewContainer;n.forEachOperation((o,s,a)=>{if(o.previousIndex==null)r.createEmbeddedView(this._template,new e1(o.item,this._ngForOf,-1,-1),a===null?void 0:a);else if(a==null)r.remove(s===null?void 0:s);else if(s!==null){let c=r.get(s);r.move(c,a),aL(c,o)}});for(let o=0,s=r.length;o{let s=r.get(o.currentIndex);aL(s,o)})}static ngTemplateContextGuard(n,r){return!0}};e.\u0275fac=function(r){return new(r||e)(M(Zt),M(Wn),M(td))},e.\u0275dir=Ve({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0});let i=e;return i})();function aL(i,e){i.context.$implicit=e.item}var Tn=(()=>{let e=class e{constructor(n,r){this._viewContainer=n,this._context=new t1,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=r}set ngIf(n){this._context.$implicit=this._context.ngIf=n,this._updateView()}set ngIfThen(n){cL("ngIfThen",n),this._thenTemplateRef=n,this._thenViewRef=null,this._updateView()}set ngIfElse(n){cL("ngIfElse",n),this._elseTemplateRef=n,this._elseViewRef=null,this._updateView()}_updateView(){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)))}static ngTemplateContextGuard(n,r){return!0}};e.\u0275fac=function(r){return new(r||e)(M(Zt),M(Wn))},e.\u0275dir=Ve({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0});let i=e;return i})(),t1=class{constructor(){this.$implicit=null,this.ngIf=null}};function cL(i,e){if(!!!(!e||e.createEmbeddedView))throw new Error(`${i} must be a TemplateRef, but received '${Rr(e)}'.`)}var n1=class{constructor(e,t){this._viewContainerRef=e,this._templateRef=t,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(e){e&&!this._created?this.create():!e&&this._created&&this.destroy()}},i1=(()=>{let e=class e{constructor(){this._defaultViews=[],this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(n){this._ngSwitch=n,this._caseCount===0&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(n){this._defaultViews.push(n)}_matchCase(n){let r=n===this._ngSwitch;return this._lastCasesMatched||=r,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),r}_updateDefaultCases(n){if(this._defaultViews.length>0&&n!==this._defaultUsed){this._defaultUsed=n;for(let r of this._defaultViews)r.enforceState(n)}}};e.\u0275fac=function(r){return new(r||e)},e.\u0275dir=Ve({type:e,selectors:[["","ngSwitch",""]],inputs:{ngSwitch:"ngSwitch"},standalone:!0});let i=e;return i})(),mL=(()=>{let e=class e{constructor(n,r,o){this.ngSwitch=o,o._addCase(),this._view=new n1(n,r)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}};e.\u0275fac=function(r){return new(r||e)(M(Zt),M(Wn),M(i1,9))},e.\u0275dir=Ve({type:e,selectors:[["","ngSwitchCase",""]],inputs:{ngSwitchCase:"ngSwitchCase"},standalone:!0});let i=e;return i})();var Gs=(()=>{let e=class e{constructor(n){this._viewContainerRef=n,this._viewRef=null,this.ngTemplateOutletContext=null,this.ngTemplateOutlet=null,this.ngTemplateOutletInjector=null}ngOnChanges(n){if(this._shouldRecreateView(n)){let r=this._viewContainerRef;if(this._viewRef&&r.remove(r.indexOf(this._viewRef)),!this.ngTemplateOutlet){this._viewRef=null;return}let o=this._createContextForwardProxy();this._viewRef=r.createEmbeddedView(this.ngTemplateOutlet,o,{injector:this.ngTemplateOutletInjector??void 0})}}_shouldRecreateView(n){return!!n.ngTemplateOutlet||!!n.ngTemplateOutletInjector}_createContextForwardProxy(){return new Proxy({},{set:(n,r,o)=>this.ngTemplateOutletContext?Reflect.set(this.ngTemplateOutletContext,r,o):!1,get:(n,r,o)=>{if(this.ngTemplateOutletContext)return Reflect.get(this.ngTemplateOutletContext,r,o)}})}};e.\u0275fac=function(r){return new(r||e)(M(Zt))},e.\u0275dir=Ve({type:e,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet",ngTemplateOutletInjector:"ngTemplateOutletInjector"},standalone:!0,features:[dn]});let i=e;return i})();var Ae=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=rt({type:e}),e.\u0275inj=it({});let i=e;return i})(),r1="browser",Tq="server";function gL(i){return i===r1}function o1(i){return i===Tq}var ob=class{};var a1=class{};var ah=class i{constructor(e){this.normalizedNames=new Map,this.lazyUpdate=null,e?typeof e=="string"?this.lazyInit=()=>{this.headers=new Map,e.split(` +`).forEach(t=>{let n=t.indexOf(":");if(n>0){let r=t.slice(0,n),o=r.toLowerCase(),s=t.slice(n+1).trim();this.maybeSetNormalizedName(r,o),this.headers.has(o)?this.headers.get(o).push(s):this.headers.set(o,[s])}})}:typeof Headers<"u"&&e instanceof Headers?(this.headers=new Map,e.forEach((t,n)=>{this.setHeaderEntries(n,t)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(e).forEach(([t,n])=>{this.setHeaderEntries(t,n)})}:this.headers=new Map}has(e){return this.init(),this.headers.has(e.toLowerCase())}get(e){this.init();let t=this.headers.get(e.toLowerCase());return t&&t.length>0?t[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(e){return this.init(),this.headers.get(e.toLowerCase())||null}append(e,t){return this.clone({name:e,value:t,op:"a"})}set(e,t){return this.clone({name:e,value:t,op:"s"})}delete(e,t){return this.clone({name:e,value:t,op:"d"})}maybeSetNormalizedName(e,t){this.normalizedNames.has(t)||this.normalizedNames.set(t,e)}init(){this.lazyInit&&(this.lazyInit instanceof i?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(e=>this.applyUpdate(e)),this.lazyUpdate=null))}copyFrom(e){e.init(),Array.from(e.headers.keys()).forEach(t=>{this.headers.set(t,e.headers.get(t)),this.normalizedNames.set(t,e.normalizedNames.get(t))})}clone(e){let t=new i;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof i?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([e]),t}applyUpdate(e){let t=e.name.toLowerCase();switch(e.op){case"a":case"s":let n=e.value;if(typeof n=="string"&&(n=[n]),n.length===0)return;this.maybeSetNormalizedName(e.name,t);let r=(e.op==="a"?this.headers.get(t):void 0)||[];r.push(...n),this.headers.set(t,r);break;case"d":let o=e.value;if(!o)this.headers.delete(t),this.normalizedNames.delete(t);else{let s=this.headers.get(t);if(!s)return;s=s.filter(a=>o.indexOf(a)===-1),s.length===0?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,s)}break}}setHeaderEntries(e,t){let n=(Array.isArray(t)?t:[t]).map(o=>o.toString()),r=e.toLowerCase();this.headers.set(r,n),this.maybeSetNormalizedName(e,r)}forEach(e){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>e(this.normalizedNames.get(t),this.headers.get(t)))}};var c1=class{encodeKey(e){return _L(e)}encodeValue(e){return _L(e)}decodeKey(e){return decodeURIComponent(e)}decodeValue(e){return decodeURIComponent(e)}};function Dq(i,e){let t=new Map;return i.length>0&&i.replace(/^\?/,"").split("&").forEach(r=>{let o=r.indexOf("="),[s,a]=o==-1?[e.decodeKey(r),""]:[e.decodeKey(r.slice(0,o)),e.decodeValue(r.slice(o+1))],c=t.get(s)||[];c.push(a),t.set(s,c)}),t}var Pq=/%(\d[a-f0-9])/gi,Oq={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function _L(i){return encodeURIComponent(i).replace(Pq,(e,t)=>Oq[t]??e)}function lb(i){return`${i}`}var Nc=class i{constructor(e={}){if(this.updates=null,this.cloneFrom=null,this.encoder=e.encoder||new c1,e.fromString){if(e.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=Dq(e.fromString,this.encoder)}else e.fromObject?(this.map=new Map,Object.keys(e.fromObject).forEach(t=>{let n=e.fromObject[t],r=Array.isArray(n)?n.map(lb):[lb(n)];this.map.set(t,r)})):this.map=null}has(e){return this.init(),this.map.has(e)}get(e){this.init();let t=this.map.get(e);return t?t[0]:null}getAll(e){return this.init(),this.map.get(e)||null}keys(){return this.init(),Array.from(this.map.keys())}append(e,t){return this.clone({param:e,value:t,op:"a"})}appendAll(e){let t=[];return Object.keys(e).forEach(n=>{let r=e[n];Array.isArray(r)?r.forEach(o=>{t.push({param:n,value:o,op:"a"})}):t.push({param:n,value:r,op:"a"})}),this.clone(t)}set(e,t){return this.clone({param:e,value:t,op:"s"})}delete(e,t){return this.clone({param:e,value:t,op:"d"})}toString(){return this.init(),this.keys().map(e=>{let t=this.encoder.encodeKey(e);return this.map.get(e).map(n=>t+"="+this.encoder.encodeValue(n)).join("&")}).filter(e=>e!=="").join("&")}clone(e){let t=new i({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(e),t}init(){this.map===null&&(this.map=new Map),this.cloneFrom!==null&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(e=>this.map.set(e,this.cloneFrom.map.get(e))),this.updates.forEach(e=>{switch(e.op){case"a":case"s":let t=(e.op==="a"?this.map.get(e.param):void 0)||[];t.push(lb(e.value)),this.map.set(e.param,t);break;case"d":if(e.value!==void 0){let n=this.map.get(e.param)||[],r=n.indexOf(lb(e.value));r!==-1&&n.splice(r,1),n.length>0?this.map.set(e.param,n):this.map.delete(e.param)}else{this.map.delete(e.param);break}}}),this.cloneFrom=this.updates=null)}};var l1=class{constructor(){this.map=new Map}set(e,t){return this.map.set(e,t),this}get(e){return this.map.has(e)||this.map.set(e,e.defaultValue()),this.map.get(e)}delete(e){return this.map.delete(e),this}has(e){return this.map.has(e)}keys(){return this.map.keys()}};function Rq(i){switch(i){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}function vL(i){return typeof ArrayBuffer<"u"&&i instanceof ArrayBuffer}function bL(i){return typeof Blob<"u"&&i instanceof Blob}function yL(i){return typeof FormData<"u"&&i instanceof FormData}function Aq(i){return typeof URLSearchParams<"u"&&i instanceof URLSearchParams}var em=class i{constructor(e,t,n,r){this.url=t,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=e.toUpperCase();let o;if(Rq(this.method)||r?(this.body=n!==void 0?n:null,o=r):o=n,o&&(this.reportProgress=!!o.reportProgress,this.withCredentials=!!o.withCredentials,o.responseType&&(this.responseType=o.responseType),o.headers&&(this.headers=o.headers),o.context&&(this.context=o.context),o.params&&(this.params=o.params),this.transferCache=o.transferCache),this.headers??=new ah,this.context??=new l1,!this.params)this.params=new Nc,this.urlWithParams=t;else{let s=this.params.toString();if(s.length===0)this.urlWithParams=t;else{let a=t.indexOf("?"),c=a===-1?"?":ah.set(p,e.setHeaders[p]),l)),e.setParams&&(d=Object.keys(e.setParams).reduce((h,p)=>h.set(p,e.setParams[p]),d)),new i(t,n,s,{params:d,headers:l,context:u,reportProgress:c,responseType:r,withCredentials:a,transferCache:o})}},xL=function(i){return i[i.Sent=0]="Sent",i[i.UploadProgress=1]="UploadProgress",i[i.ResponseHeader=2]="ResponseHeader",i[i.DownloadProgress=3]="DownloadProgress",i[i.Response=4]="Response",i[i.User=5]="User",i}(xL||{}),d1=class{constructor(e,t=200,n="OK"){this.headers=e.headers||new ah,this.status=e.status!==void 0?e.status:t,this.statusText=e.statusText||n,this.url=e.url||null,this.ok=this.status>=200&&this.status<300}};var u1=class i extends d1{constructor(e={}){super(e),this.type=xL.Response,this.body=e.body!==void 0?e.body:null}clone(e={}){return new i({body:e.body!==void 0?e.body:this.body,headers:e.headers||this.headers,status:e.status!==void 0?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}};function s1(i,e){return{body:e,headers:i.headers,context:i.context,observe:i.observe,params:i.params,reportProgress:i.reportProgress,responseType:i.responseType,withCredentials:i.withCredentials,transferCache:i.transferCache}}var wL=(()=>{let e=class e{constructor(n){this.handler=n}request(n,r,o={}){let s;if(n instanceof em)s=n;else{let l;o.headers instanceof ah?l=o.headers:l=new ah(o.headers);let d;o.params&&(o.params instanceof Nc?d=o.params:d=new Nc({fromObject:o.params})),s=new em(n,r,o.body!==void 0?o.body:null,{headers:l,context:o.context,params:d,reportProgress:o.reportProgress,responseType:o.responseType||"json",withCredentials:o.withCredentials,transferCache:o.transferCache})}let a=Ke(s).pipe(bc(l=>this.handler.handle(l)));if(n instanceof em||o.observe==="events")return a;let c=a.pipe(qt(l=>l instanceof u1));switch(o.observe||"body"){case"body":switch(s.responseType){case"arraybuffer":return c.pipe(Je(l=>{if(l.body!==null&&!(l.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return l.body}));case"blob":return c.pipe(Je(l=>{if(l.body!==null&&!(l.body instanceof Blob))throw new Error("Response is not a Blob.");return l.body}));case"text":return c.pipe(Je(l=>{if(l.body!==null&&typeof l.body!="string")throw new Error("Response is not a string.");return l.body}));case"json":default:return c.pipe(Je(l=>l.body))}case"response":return c;default:throw new Error(`Unreachable: unhandled observe type ${o.observe}}`)}}delete(n,r={}){return this.request("DELETE",n,r)}get(n,r={}){return this.request("GET",n,r)}head(n,r={}){return this.request("HEAD",n,r)}jsonp(n,r){return this.request("JSONP",n,{params:new Nc().append(r,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(n,r={}){return this.request("OPTIONS",n,r)}patch(n,r,o={}){return this.request("PATCH",n,s1(o,r))}post(n,r,o={}){return this.request("POST",n,s1(o,r))}put(n,r,o={}){return this.request("PUT",n,s1(o,r))}};e.\u0275fac=function(r){return new(r||e)(X(a1))},e.\u0275prov=J({token:e,factory:e.\u0275fac});let i=e;return i})();var f1=class extends rb{constructor(){super(...arguments),this.supportsDOMEvents=!0}},m1=class i extends f1{static makeCurrent(){dL(new i)}onAndCancel(e,t,n){return e.addEventListener(t,n),()=>{e.removeEventListener(t,n)}}dispatchEvent(e,t){e.dispatchEvent(t)}remove(e){e.parentNode&&e.parentNode.removeChild(e)}createElement(e,t){return t=t||this.getDefaultDocument(),t.createElement(e)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(e){return e.nodeType===Node.ELEMENT_NODE}isShadowRoot(e){return e instanceof DocumentFragment}getGlobalEventTarget(e,t){return t==="window"?window:t==="document"?e:t==="body"?e.body:null}getBaseHref(e){let t=kq();return t==null?null:Lq(t)}resetBaseElement(){tm=null}getUserAgent(){return window.navigator.userAgent}getCookie(e){return fL(document.cookie,e)}},tm=null;function kq(){return tm=tm||document.querySelector("base"),tm?tm.getAttribute("href"):null}function Lq(i){return new URL(i,document.baseURI).pathname}var Fq=(()=>{let e=class e{build(){return new XMLHttpRequest}};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:e.\u0275fac});let i=e;return i})(),db=new me(""),ML=(()=>{let e=class e{constructor(n,r){this._zone=r,this._eventNameToPlugin=new Map,n.forEach(o=>{o.manager=this}),this._plugins=n.slice().reverse()}addEventListener(n,r,o){return this._findPluginFor(r).addEventListener(n,r,o)}getZone(){return this._zone}_findPluginFor(n){let r=this._eventNameToPlugin.get(n);if(r)return r;if(r=this._plugins.find(s=>s.supports(n)),!r)throw new Oe(5101,!1);return this._eventNameToPlugin.set(n,r),r}};e.\u0275fac=function(r){return new(r||e)(X(db),X(Fe))},e.\u0275prov=J({token:e,factory:e.\u0275fac});let i=e;return i})(),nm=class{constructor(e){this._doc=e}},h1="ng-app-id",EL=(()=>{let e=class e{constructor(n,r,o,s={}){this.doc=n,this.appId=r,this.nonce=o,this.platformId=s,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=o1(s),this.resetHostNodes()}addStyles(n){for(let r of n)this.changeUsageCount(r,1)===1&&this.onStyleAdded(r)}removeStyles(n){for(let r of n)this.changeUsageCount(r,-1)<=0&&this.onStyleRemoved(r)}ngOnDestroy(){let n=this.styleNodesInDOM;n&&(n.forEach(r=>r.remove()),n.clear());for(let r of this.getAllStyles())this.onStyleRemoved(r);this.resetHostNodes()}addHost(n){this.hostNodes.add(n);for(let r of this.getAllStyles())this.addStyleToHost(n,r)}removeHost(n){this.hostNodes.delete(n)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(n){for(let r of this.hostNodes)this.addStyleToHost(r,n)}onStyleRemoved(n){let r=this.styleRef;r.get(n)?.elements?.forEach(o=>o.remove()),r.delete(n)}collectServerRenderedStyles(){let n=this.doc.head?.querySelectorAll(`style[${h1}="${this.appId}"]`);if(n?.length){let r=new Map;return n.forEach(o=>{o.textContent!=null&&r.set(o.textContent,o)}),r}return null}changeUsageCount(n,r){let o=this.styleRef;if(o.has(n)){let s=o.get(n);return s.usage+=r,s.usage}return o.set(n,{usage:r,elements:[]}),r}getStyleElement(n,r){let o=this.styleNodesInDOM,s=o?.get(r);if(s?.parentNode===n)return o.delete(r),s.removeAttribute(h1),s;{let a=this.doc.createElement("style");return this.nonce&&a.setAttribute("nonce",this.nonce),a.textContent=r,this.platformIsServer&&a.setAttribute(h1,this.appId),n.appendChild(a),a}}addStyleToHost(n,r){let o=this.getStyleElement(n,r),s=this.styleRef,a=s.get(r)?.elements;a?a.push(o):s.set(r,{elements:[o],usage:1})}resetHostNodes(){let n=this.hostNodes;n.clear(),n.add(this.doc.head)}};e.\u0275fac=function(r){return new(r||e)(X(Xe),X(qf),X(Yf,8),X(Da))},e.\u0275prov=J({token:e,factory:e.\u0275fac});let i=e;return i})(),p1={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/Math/MathML"},_1=/%COMP%/g,IL="%COMP%",Bq=`_nghost-${IL}`,Vq=`_ngcontent-${IL}`,zq=!0,Uq=new me("",{providedIn:"root",factory:()=>zq});function Hq(i){return Vq.replace(_1,i)}function Gq(i){return Bq.replace(_1,i)}function TL(i,e){return e.map(t=>t.replace(_1,i))}var ub=(()=>{let e=class e{constructor(n,r,o,s,a,c,l,d=null){this.eventManager=n,this.sharedStylesHost=r,this.appId=o,this.removeStylesOnCompDestroy=s,this.doc=a,this.platformId=c,this.ngZone=l,this.nonce=d,this.rendererByCompId=new Map,this.platformIsServer=o1(c),this.defaultRenderer=new im(n,a,l,this.platformIsServer)}createRenderer(n,r){if(!n||!r)return this.defaultRenderer;this.platformIsServer&&r.encapsulation===Ls.ShadowDom&&(r=yt(Z({},r),{encapsulation:Ls.Emulated}));let o=this.getOrCreateRenderer(n,r);return o instanceof hb?o.applyToHost(n):o instanceof rm&&o.applyStyles(),o}getOrCreateRenderer(n,r){let o=this.rendererByCompId,s=o.get(r.id);if(!s){let a=this.doc,c=this.ngZone,l=this.eventManager,d=this.sharedStylesHost,u=this.removeStylesOnCompDestroy,h=this.platformIsServer;switch(r.encapsulation){case Ls.Emulated:s=new hb(l,d,r,this.appId,u,a,c,h);break;case Ls.ShadowDom:return new g1(l,d,n,r,a,c,this.nonce,h);default:s=new rm(l,d,r,u,a,c,h);break}o.set(r.id,s)}return s}ngOnDestroy(){this.rendererByCompId.clear()}};e.\u0275fac=function(r){return new(r||e)(X(ML),X(EL),X(qf),X(Uq),X(Xe),X(Da),X(Fe),X(Yf))},e.\u0275prov=J({token:e,factory:e.\u0275fac});let i=e;return i})(),im=class{constructor(e,t,n,r){this.eventManager=e,this.doc=t,this.ngZone=n,this.platformIsServer=r,this.data=Object.create(null),this.throwOnSyntheticProps=!0,this.destroyNode=null}destroy(){}createElement(e,t){return t?this.doc.createElementNS(p1[t]||t,e):this.doc.createElement(e)}createComment(e){return this.doc.createComment(e)}createText(e){return this.doc.createTextNode(e)}appendChild(e,t){(CL(e)?e.content:e).appendChild(t)}insertBefore(e,t,n){e&&(CL(e)?e.content:e).insertBefore(t,n)}removeChild(e,t){e&&e.removeChild(t)}selectRootElement(e,t){let n=typeof e=="string"?this.doc.querySelector(e):e;if(!n)throw new Oe(-5104,!1);return t||(n.textContent=""),n}parentNode(e){return e.parentNode}nextSibling(e){return e.nextSibling}setAttribute(e,t,n,r){if(r){t=r+":"+t;let o=p1[r];o?e.setAttributeNS(o,t,n):e.setAttribute(t,n)}else e.setAttribute(t,n)}removeAttribute(e,t,n){if(n){let r=p1[n];r?e.removeAttributeNS(r,t):e.removeAttribute(`${n}:${t}`)}else e.removeAttribute(t)}addClass(e,t){e.classList.add(t)}removeClass(e,t){e.classList.remove(t)}setStyle(e,t,n,r){r&(Ia.DashCase|Ia.Important)?e.style.setProperty(t,n,r&Ia.Important?"important":""):e.style[t]=n}removeStyle(e,t,n){n&Ia.DashCase?e.style.removeProperty(t):e.style[t]=""}setProperty(e,t,n){e!=null&&(e[t]=n)}setValue(e,t){e.nodeValue=t}listen(e,t,n){if(typeof e=="string"&&(e=Oa().getGlobalEventTarget(this.doc,e),!e))throw new Error(`Unsupported event target ${e} for event ${t}`);return this.eventManager.addEventListener(e,t,this.decoratePreventDefault(n))}decoratePreventDefault(e){return t=>{if(t==="__ngUnwrap__")return e;(this.platformIsServer?this.ngZone.runGuarded(()=>e(t)):e(t))===!1&&t.preventDefault()}}};function CL(i){return i.tagName==="TEMPLATE"&&i.content!==void 0}var g1=class extends im{constructor(e,t,n,r,o,s,a,c){super(e,o,s,c),this.sharedStylesHost=t,this.hostEl=n,this.shadowRoot=n.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);let l=TL(r.id,r.styles);for(let d of l){let u=document.createElement("style");a&&u.setAttribute("nonce",a),u.textContent=d,this.shadowRoot.appendChild(u)}}nodeOrShadowRoot(e){return e===this.hostEl?this.shadowRoot:e}appendChild(e,t){return super.appendChild(this.nodeOrShadowRoot(e),t)}insertBefore(e,t,n){return super.insertBefore(this.nodeOrShadowRoot(e),t,n)}removeChild(e,t){return super.removeChild(this.nodeOrShadowRoot(e),t)}parentNode(e){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(e)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}},rm=class extends im{constructor(e,t,n,r,o,s,a,c){super(e,o,s,a),this.sharedStylesHost=t,this.removeStylesOnCompDestroy=r,this.styles=c?TL(c,n.styles):n.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}},hb=class extends rm{constructor(e,t,n,r,o,s,a,c){let l=r+"-"+n.id;super(e,t,n,o,s,a,c,l),this.contentAttr=Hq(l),this.hostAttr=Gq(l)}applyToHost(e){this.applyStyles(),this.setAttribute(e,this.hostAttr,"")}createElement(e,t){let n=super.createElement(e,t);return super.setAttribute(n,this.contentAttr,""),n}},jq=(()=>{let e=class e extends nm{constructor(n){super(n)}supports(n){return!0}addEventListener(n,r,o){return n.addEventListener(r,o,!1),()=>this.removeEventListener(n,r,o)}removeEventListener(n,r,o){return n.removeEventListener(r,o)}};e.\u0275fac=function(r){return new(r||e)(X(Xe))},e.\u0275prov=J({token:e,factory:e.\u0275fac});let i=e;return i})(),Wq=(()=>{let e=class e extends nm{constructor(n){super(n),this.delegate=te(nL,{optional:!0})}supports(n){return this.delegate?this.delegate.supports(n):!1}addEventListener(n,r,o){return this.delegate.addEventListener(n,r,o)}removeEventListener(n,r,o){return this.delegate.removeEventListener(n,r,o)}};e.\u0275fac=function(r){return new(r||e)(X(Xe))},e.\u0275prov=J({token:e,factory:e.\u0275fac});let i=e;return i})(),SL=["alt","control","meta","shift"],$q={"\b":"Backspace"," ":"Tab","\x7F":"Delete","\x1B":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},qq={alt:i=>i.altKey,control:i=>i.ctrlKey,meta:i=>i.metaKey,shift:i=>i.shiftKey},Yq=(()=>{let e=class e extends nm{constructor(n){super(n)}supports(n){return e.parseEventName(n)!=null}addEventListener(n,r,o){let s=e.parseEventName(r),a=e.eventCallback(s.fullKey,o,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Oa().onAndCancel(n,s.domEventName,a))}static parseEventName(n){let r=n.toLowerCase().split("."),o=r.shift();if(r.length===0||!(o==="keydown"||o==="keyup"))return null;let s=e._normalizeKey(r.pop()),a="",c=r.indexOf("code");if(c>-1&&(r.splice(c,1),a="code."),SL.forEach(d=>{let u=r.indexOf(d);u>-1&&(r.splice(u,1),a+=d+".")}),a+=s,r.length!=0||s.length===0)return null;let l={};return l.domEventName=o,l.fullKey=a,l}static matchEventFullKeyCode(n,r){let o=$q[n.key]||n.key,s="";return r.indexOf("code.")>-1&&(o=n.code,s="code."),o==null||!o?!1:(o=o.toLowerCase(),o===" "?o="space":o==="."&&(o="dot"),SL.forEach(a=>{if(a!==o){let c=qq[a];c(n)&&(s+=a+".")}}),s+=o,s===r)}static eventCallback(n,r,o){return s=>{e.matchEventFullKeyCode(s,n)&&o.runGuarded(()=>r(s))}}static _normalizeKey(n){return n==="esc"?"escape":n}};e.\u0275fac=function(r){return new(r||e)(X(Xe))},e.\u0275prov=J({token:e,factory:e.\u0275fac});let i=e;return i})();function DL(i,e){return tL(Z({rootComponent:i},Xq(e)))}function Xq(i){return{appProviders:[...eY,...i?.providers??[]],platformProviders:Jq}}function Zq(){m1.makeCurrent()}function Qq(){return new Nr}function Kq(){return yk(document),document}var Jq=[{provide:Da,useValue:r1},{provide:CE,useValue:Zq,multi:!0},{provide:Xe,useFactory:Kq,deps:[]}];var eY=[{provide:A0,useValue:"root"},{provide:Nr,useFactory:Qq,deps:[]},{provide:db,useClass:jq,multi:!0,deps:[Xe,Fe,Da]},{provide:db,useClass:Yq,multi:!0,deps:[Xe]},{provide:db,useClass:Wq,multi:!0},ub,EL,ML,{provide:Pc,useExisting:ub},{provide:ob,useClass:Fq,deps:[]},[]];var PL=(()=>{let e=class e{constructor(n){this._doc=n}getTitle(){return this._doc.title}setTitle(n){this._doc.title=n||""}};e.\u0275fac=function(r){return new(r||e)(X(Xe))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();var v1=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:function(r){let o=null;return r?o=new(r||e):o=X(tY),o},providedIn:"root"});let i=e;return i})(),tY=(()=>{let e=class e extends v1{constructor(n){super(),this._doc=n}sanitize(n,r){if(r==null)return null;switch(n){case Fr.NONE:return r;case Fr.HTML:return Ql(r,"HTML")?Hs(r):Rk(this._doc,String(r)).toString();case Fr.STYLE:return Ql(r,"Style")?Hs(r):r;case Fr.SCRIPT:if(Ql(r,"Script"))return Hs(r);throw new Oe(5200,!1);case Fr.URL:return Ql(r,"URL")?Hs(r):q0(String(r));case Fr.RESOURCE_URL:if(Ql(r,"ResourceURL"))return Hs(r);throw new Oe(5201,!1);default:throw new Oe(5202,!1)}}bypassSecurityTrustHtml(n){return wk(n)}bypassSecurityTrustStyle(n){return Ck(n)}bypassSecurityTrustScript(n){return Sk(n)}bypassSecurityTrustUrl(n){return Mk(n)}bypassSecurityTrustResourceUrl(n){return Ek(n)}};e.\u0275fac=function(r){return new(r||e)(X(Xe))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();var Qt="primary",xm=Symbol("RouteTitle"),C1=class{constructor(e){this.params=e||{}}has(e){return Object.prototype.hasOwnProperty.call(this.params,e)}get(e){if(this.has(e)){let t=this.params[e];return Array.isArray(t)?t[0]:t}return null}getAll(e){if(this.has(e)){let t=this.params[e];return Array.isArray(t)?t:[t]}return[]}get keys(){return Object.keys(this.params)}};function ph(i){return new C1(i)}function nY(i,e,t){let n=t.path.split("/");if(n.length>i.length||t.pathMatch==="full"&&(e.hasChildren()||n.lengthn[o]===r)}else return i===e}function zL(i){return i.length>0?i[i.length-1]:null}function Lc(i){return Fl(i)?i:ed(i)?Jn(Promise.resolve(i)):Ke(i)}var rY={exact:HL,subset:GL},UL={exact:oY,subset:sY,ignored:()=>!0};function RL(i,e,t){return rY[t.paths](i.root,e.root,t.matrixParams)&&UL[t.queryParams](i.queryParams,e.queryParams)&&!(t.fragment==="exact"&&i.fragment!==e.fragment)}function oY(i,e){return js(i,e)}function HL(i,e,t){if(!rd(i.segments,e.segments)||!mb(i.segments,e.segments,t)||i.numberOfChildren!==e.numberOfChildren)return!1;for(let n in e.children)if(!i.children[n]||!HL(i.children[n],e.children[n],t))return!1;return!0}function sY(i,e){return Object.keys(e).length<=Object.keys(i).length&&Object.keys(e).every(t=>VL(i[t],e[t]))}function GL(i,e,t){return jL(i,e,e.segments,t)}function jL(i,e,t,n){if(i.segments.length>t.length){let r=i.segments.slice(0,t.length);return!(!rd(r,t)||e.hasChildren()||!mb(r,t,n))}else if(i.segments.length===t.length){if(!rd(i.segments,t)||!mb(i.segments,t,n))return!1;for(let r in e.children)if(!i.children[r]||!GL(i.children[r],e.children[r],n))return!1;return!0}else{let r=t.slice(0,i.segments.length),o=t.slice(i.segments.length);return!rd(i.segments,r)||!mb(i.segments,r,n)||!i.children[Qt]?!1:jL(i.children[Qt],e,o,n)}}function mb(i,e,t){return e.every((n,r)=>UL[t](i[r].parameters,n.parameters))}var Na=class{constructor(e=new Dn([],{}),t={},n=null){this.root=e,this.queryParams=t,this.fragment=n}get queryParamMap(){return this._queryParamMap??=ph(this.queryParams),this._queryParamMap}toString(){return lY.serialize(this)}},Dn=class{constructor(e,t){this.segments=e,this.children=t,this.parent=null,Object.values(t).forEach(n=>n.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return gb(this)}},id=class{constructor(e,t){this.path=e,this.parameters=t}get parameterMap(){return this._parameterMap??=ph(this.parameters),this._parameterMap}toString(){return $L(this)}};function aY(i,e){return rd(i,e)&&i.every((t,n)=>js(t.parameters,e[n].parameters))}function rd(i,e){return i.length!==e.length?!1:i.every((t,n)=>t.path===e[n].path)}function cY(i,e){let t=[];return Object.entries(i.children).forEach(([n,r])=>{n===Qt&&(t=t.concat(e(r,n)))}),Object.entries(i.children).forEach(([n,r])=>{n!==Qt&&(t=t.concat(e(r,n)))}),t}var Z1=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:()=>new um,providedIn:"root"});let i=e;return i})(),um=class{parse(e){let t=new E1(e);return new Na(t.parseRootSegment(),t.parseQueryParams(),t.parseFragment())}serialize(e){let t=`/${om(e.root,!0)}`,n=hY(e.queryParams),r=typeof e.fragment=="string"?`#${dY(e.fragment)}`:"";return`${t}${n}${r}`}},lY=new um;function gb(i){return i.segments.map(e=>$L(e)).join("/")}function om(i,e){if(!i.hasChildren())return gb(i);if(e){let t=i.children[Qt]?om(i.children[Qt],!1):"",n=[];return Object.entries(i.children).forEach(([r,o])=>{r!==Qt&&n.push(`${r}:${om(o,!1)}`)}),n.length>0?`${t}(${n.join("//")})`:t}else{let t=cY(i,(n,r)=>r===Qt?[om(i.children[Qt],!1)]:[`${r}:${om(n,!1)}`]);return Object.keys(i.children).length===1&&i.children[Qt]!=null?`${gb(i)}/${t[0]}`:`${gb(i)}/(${t.join("//")})`}}function WL(i){return encodeURIComponent(i).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function pb(i){return WL(i).replace(/%3B/gi,";")}function dY(i){return encodeURI(i)}function M1(i){return WL(i).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function _b(i){return decodeURIComponent(i)}function AL(i){return _b(i.replace(/\+/g,"%20"))}function $L(i){return`${M1(i.path)}${uY(i.parameters)}`}function uY(i){return Object.entries(i).map(([e,t])=>`;${M1(e)}=${M1(t)}`).join("")}function hY(i){let e=Object.entries(i).map(([t,n])=>Array.isArray(n)?n.map(r=>`${pb(t)}=${pb(r)}`).join("&"):`${pb(t)}=${pb(n)}`).filter(t=>t);return e.length?`?${e.join("&")}`:""}var pY=/^[^\/()?;#]+/;function b1(i){let e=i.match(pY);return e?e[0]:""}var fY=/^[^\/()?;=#]+/;function mY(i){let e=i.match(fY);return e?e[0]:""}var gY=/^[^=?&#]+/;function _Y(i){let e=i.match(gY);return e?e[0]:""}var vY=/^[^&#]+/;function bY(i){let e=i.match(vY);return e?e[0]:""}var E1=class{constructor(e){this.url=e,this.remaining=e}parseRootSegment(){return this.consumeOptional("/"),this.remaining===""||this.peekStartsWith("?")||this.peekStartsWith("#")?new Dn([],{}):new Dn([],this.parseChildren())}parseQueryParams(){let e={};if(this.consumeOptional("?"))do this.parseQueryParam(e);while(this.consumeOptional("&"));return e}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(this.remaining==="")return{};this.consumeOptional("/");let e=[];for(this.peekStartsWith("(")||e.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),e.push(this.parseSegment());let t={};this.peekStartsWith("/(")&&(this.capture("/"),t=this.parseParens(!0));let n={};return this.peekStartsWith("(")&&(n=this.parseParens(!1)),(e.length>0||Object.keys(t).length>0)&&(n[Qt]=new Dn(e,t)),n}parseSegment(){let e=b1(this.remaining);if(e===""&&this.peekStartsWith(";"))throw new Oe(4009,!1);return this.capture(e),new id(_b(e),this.parseMatrixParams())}parseMatrixParams(){let e={};for(;this.consumeOptional(";");)this.parseParam(e);return e}parseParam(e){let t=mY(this.remaining);if(!t)return;this.capture(t);let n="";if(this.consumeOptional("=")){let r=b1(this.remaining);r&&(n=r,this.capture(n))}e[_b(t)]=_b(n)}parseQueryParam(e){let t=_Y(this.remaining);if(!t)return;this.capture(t);let n="";if(this.consumeOptional("=")){let s=bY(this.remaining);s&&(n=s,this.capture(n))}let r=AL(t),o=AL(n);if(e.hasOwnProperty(r)){let s=e[r];Array.isArray(s)||(s=[s],e[r]=s),s.push(o)}else e[r]=o}parseParens(e){let t={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){let n=b1(this.remaining),r=this.remaining[n.length];if(r!=="/"&&r!==")"&&r!==";")throw new Oe(4010,!1);let o;n.indexOf(":")>-1?(o=n.slice(0,n.indexOf(":")),this.capture(o),this.capture(":")):e&&(o=Qt);let s=this.parseChildren();t[o]=Object.keys(s).length===1?s[Qt]:new Dn([],s),this.consumeOptional("//")}return t}peekStartsWith(e){return this.remaining.startsWith(e)}consumeOptional(e){return this.peekStartsWith(e)?(this.remaining=this.remaining.substring(e.length),!0):!1}capture(e){if(!this.consumeOptional(e))throw new Oe(4011,!1)}};function qL(i){return i.segments.length>0?new Dn([],{[Qt]:i}):i}function YL(i){let e={};for(let[n,r]of Object.entries(i.children)){let o=YL(r);if(n===Qt&&o.segments.length===0&&o.hasChildren())for(let[s,a]of Object.entries(o.children))e[s]=a;else(o.segments.length>0||o.hasChildren())&&(e[n]=o)}let t=new Dn(i.segments,e);return yY(t)}function yY(i){if(i.numberOfChildren===1&&i.children[Qt]){let e=i.children[Qt];return new Dn(i.segments.concat(e.segments),e.children)}return i}function hm(i){return i instanceof Na}function xY(i,e,t=null,n=null){let r=XL(i);return ZL(r,e,t,n)}function XL(i){let e;function t(o){let s={};for(let c of o.children){let l=t(c);s[c.outlet]=l}let a=new Dn(o.url,s);return o===i&&(e=a),a}let n=t(i.root),r=qL(n);return e??r}function ZL(i,e,t,n){let r=i;for(;r.parent;)r=r.parent;if(e.length===0)return y1(r,r,r,t,n);let o=wY(e);if(o.toRoot())return y1(r,r,new Dn([],{}),t,n);let s=CY(o,r,i),a=s.processChildren?cm(s.segmentGroup,s.index,o.commands):KL(s.segmentGroup,s.index,o.commands);return y1(r,s.segmentGroup,a,t,n)}function vb(i){return typeof i=="object"&&i!=null&&!i.outlets&&!i.segmentPath}function pm(i){return typeof i=="object"&&i!=null&&i.outlets}function y1(i,e,t,n,r){let o={};n&&Object.entries(n).forEach(([c,l])=>{o[c]=Array.isArray(l)?l.map(d=>`${d}`):`${l}`});let s;i===e?s=t:s=QL(i,e,t);let a=qL(YL(s));return new Na(a,o,r)}function QL(i,e,t){let n={};return Object.entries(i.children).forEach(([r,o])=>{o===e?n[r]=t:n[r]=QL(o,e,t)}),new Dn(i.segments,n)}var bb=class{constructor(e,t,n){if(this.isAbsolute=e,this.numberOfDoubleDots=t,this.commands=n,e&&n.length>0&&vb(n[0]))throw new Oe(4003,!1);let r=n.find(pm);if(r&&r!==zL(n))throw new Oe(4004,!1)}toRoot(){return this.isAbsolute&&this.commands.length===1&&this.commands[0]=="/"}};function wY(i){if(typeof i[0]=="string"&&i.length===1&&i[0]==="/")return new bb(!0,0,i);let e=0,t=!1,n=i.reduce((r,o,s)=>{if(typeof o=="object"&&o!=null){if(o.outlets){let a={};return Object.entries(o.outlets).forEach(([c,l])=>{a[c]=typeof l=="string"?l.split("/"):l}),[...r,{outlets:a}]}if(o.segmentPath)return[...r,o.segmentPath]}return typeof o!="string"?[...r,o]:s===0?(o.split("/").forEach((a,c)=>{c==0&&a==="."||(c==0&&a===""?t=!0:a===".."?e++:a!=""&&r.push(a))}),r):[...r,o]},[]);return new bb(t,e,n)}var dh=class{constructor(e,t,n){this.segmentGroup=e,this.processChildren=t,this.index=n}};function CY(i,e,t){if(i.isAbsolute)return new dh(e,!0,0);if(!t)return new dh(e,!1,NaN);if(t.parent===null)return new dh(t,!0,0);let n=vb(i.commands[0])?0:1,r=t.segments.length-1+n;return SY(t,r,i.numberOfDoubleDots)}function SY(i,e,t){let n=i,r=e,o=t;for(;o>r;){if(o-=r,n=n.parent,!n)throw new Oe(4005,!1);r=n.segments.length}return new dh(n,!1,r-o)}function MY(i){return pm(i[0])?i[0].outlets:{[Qt]:i}}function KL(i,e,t){if(i??=new Dn([],{}),i.segments.length===0&&i.hasChildren())return cm(i,e,t);let n=EY(i,e,t),r=t.slice(n.commandIndex);if(n.match&&n.pathIndexo!==Qt)&&i.children[Qt]&&i.numberOfChildren===1&&i.children[Qt].segments.length===0){let o=cm(i.children[Qt],e,t);return new Dn(i.segments,o.children)}return Object.entries(n).forEach(([o,s])=>{typeof s=="string"&&(s=[s]),s!==null&&(r[o]=KL(i.children[o],e,s))}),Object.entries(i.children).forEach(([o,s])=>{n[o]===void 0&&(r[o]=s)}),new Dn(i.segments,r)}}function EY(i,e,t){let n=0,r=e,o={match:!1,pathIndex:0,commandIndex:0};for(;r=t.length)return o;let s=i.segments[r],a=t[n];if(pm(a))break;let c=`${a}`,l=n0&&c===void 0)break;if(c&&l&&typeof l=="object"&&l.outlets===void 0){if(!kL(c,l,s))return o;n+=2}else{if(!kL(c,{},s))return o;n++}r++}return{match:!0,pathIndex:r,commandIndex:n}}function I1(i,e,t){let n=i.segments.slice(0,e),r=0;for(;r{typeof n=="string"&&(n=[n]),n!==null&&(e[t]=I1(new Dn([],{}),0,n))}),e}function NL(i){let e={};return Object.entries(i).forEach(([t,n])=>e[t]=`${n}`),e}function kL(i,e,t){return i==t.path&&js(e,t.parameters)}var lm="imperative",Ji=function(i){return i[i.NavigationStart=0]="NavigationStart",i[i.NavigationEnd=1]="NavigationEnd",i[i.NavigationCancel=2]="NavigationCancel",i[i.NavigationError=3]="NavigationError",i[i.RoutesRecognized=4]="RoutesRecognized",i[i.ResolveStart=5]="ResolveStart",i[i.ResolveEnd=6]="ResolveEnd",i[i.GuardsCheckStart=7]="GuardsCheckStart",i[i.GuardsCheckEnd=8]="GuardsCheckEnd",i[i.RouteConfigLoadStart=9]="RouteConfigLoadStart",i[i.RouteConfigLoadEnd=10]="RouteConfigLoadEnd",i[i.ChildActivationStart=11]="ChildActivationStart",i[i.ChildActivationEnd=12]="ChildActivationEnd",i[i.ActivationStart=13]="ActivationStart",i[i.ActivationEnd=14]="ActivationEnd",i[i.Scroll=15]="Scroll",i[i.NavigationSkipped=16]="NavigationSkipped",i}(Ji||{}),Bo=class{constructor(e,t){this.id=e,this.url=t}},fm=class extends Bo{constructor(e,t,n="imperative",r=null){super(e,t),this.type=Ji.NavigationStart,this.navigationTrigger=n,this.restoredState=r}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}},od=class extends Bo{constructor(e,t,n){super(e,t),this.urlAfterRedirects=n,this.type=Ji.NavigationEnd}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}},mo=function(i){return i[i.Redirect=0]="Redirect",i[i.SupersededByNewNavigation=1]="SupersededByNewNavigation",i[i.NoDataFromResolver=2]="NoDataFromResolver",i[i.GuardRejected=3]="GuardRejected",i}(mo||{}),T1=function(i){return i[i.IgnoredSameUrlNavigation=0]="IgnoredSameUrlNavigation",i[i.IgnoredByUrlHandlingStrategy=1]="IgnoredByUrlHandlingStrategy",i}(T1||{}),Aa=class extends Bo{constructor(e,t,n,r){super(e,t),this.reason=n,this.code=r,this.type=Ji.NavigationCancel}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}},sd=class extends Bo{constructor(e,t,n,r){super(e,t),this.reason=n,this.code=r,this.type=Ji.NavigationSkipped}},mm=class extends Bo{constructor(e,t,n,r){super(e,t),this.error=n,this.target=r,this.type=Ji.NavigationError}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}},yb=class extends Bo{constructor(e,t,n,r){super(e,t),this.urlAfterRedirects=n,this.state=r,this.type=Ji.RoutesRecognized}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},D1=class extends Bo{constructor(e,t,n,r){super(e,t),this.urlAfterRedirects=n,this.state=r,this.type=Ji.GuardsCheckStart}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},P1=class extends Bo{constructor(e,t,n,r,o){super(e,t),this.urlAfterRedirects=n,this.state=r,this.shouldActivate=o,this.type=Ji.GuardsCheckEnd}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}},O1=class extends Bo{constructor(e,t,n,r){super(e,t),this.urlAfterRedirects=n,this.state=r,this.type=Ji.ResolveStart}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},R1=class extends Bo{constructor(e,t,n,r){super(e,t),this.urlAfterRedirects=n,this.state=r,this.type=Ji.ResolveEnd}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},A1=class{constructor(e){this.route=e,this.type=Ji.RouteConfigLoadStart}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}},N1=class{constructor(e){this.route=e,this.type=Ji.RouteConfigLoadEnd}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}},k1=class{constructor(e){this.snapshot=e,this.type=Ji.ChildActivationStart}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},L1=class{constructor(e){this.snapshot=e,this.type=Ji.ChildActivationEnd}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},F1=class{constructor(e){this.snapshot=e,this.type=Ji.ActivationStart}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},B1=class{constructor(e){this.snapshot=e,this.type=Ji.ActivationEnd}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}};var gm=class{},fh=class{constructor(e,t){this.url=e,this.navigationBehaviorOptions=t}};function TY(i,e){return i.providers&&!i._injector&&(i._injector=qE(i.providers,e,`Route: ${i.path}`)),i._injector??e}function ps(i){return i.outlet||Qt}function DY(i,e){let t=i.filter(n=>ps(n)===e);return t.push(...i.filter(n=>ps(n)!==e)),t}function wm(i){if(!i)return null;if(i.routeConfig?._injector)return i.routeConfig._injector;for(let e=i.parent;e;e=e.parent){let t=e.routeConfig;if(t?._loadedInjector)return t._loadedInjector;if(t?._injector)return t._injector}return null}var V1=class{get injector(){return wm(this.route?.snapshot)??this.rootInjector}set injector(e){}constructor(e){this.rootInjector=e,this.outlet=null,this.route=null,this.children=new Ib(this.rootInjector),this.attachRef=null}},Ib=(()=>{let e=class e{constructor(n){this.rootInjector=n,this.contexts=new Map}onChildOutletCreated(n,r){let o=this.getOrCreateContext(n);o.outlet=r,this.contexts.set(n,o)}onChildOutletDestroyed(n){let r=this.getContext(n);r&&(r.outlet=null,r.attachRef=null)}onOutletDeactivated(){let n=this.contexts;return this.contexts=new Map,n}onOutletReAttached(n){this.contexts=n}getOrCreateContext(n){let r=this.getContext(n);return r||(r=new V1(this.rootInjector),this.contexts.set(n,r)),r}getContext(n){return this.contexts.get(n)||null}};e.\u0275fac=function(r){return new(r||e)(X(Xi))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})(),xb=class{constructor(e){this._root=e}get root(){return this._root.value}parent(e){let t=this.pathFromRoot(e);return t.length>1?t[t.length-2]:null}children(e){let t=z1(e,this._root);return t?t.children.map(n=>n.value):[]}firstChild(e){let t=z1(e,this._root);return t&&t.children.length>0?t.children[0].value:null}siblings(e){let t=U1(e,this._root);return t.length<2?[]:t[t.length-2].children.map(r=>r.value).filter(r=>r!==e)}pathFromRoot(e){return U1(e,this._root).map(t=>t.value)}};function z1(i,e){if(i===e.value)return e;for(let t of e.children){let n=z1(i,t);if(n)return n}return null}function U1(i,e){if(i===e.value)return[e];for(let t of e.children){let n=U1(i,t);if(n.length)return n.unshift(e),n}return[]}var fo=class{constructor(e,t){this.value=e,this.children=t}toString(){return`TreeNode(${this.value})`}};function lh(i){let e={};return i&&i.children.forEach(t=>e[t.value.outlet]=t),e}var wb=class extends xb{constructor(e,t){super(e),this.snapshot=t,Q1(this,e)}toString(){return this.snapshot.toString()}};function JL(i){let e=PY(i),t=new On([new id("",{})]),n=new On({}),r=new On({}),o=new On({}),s=new On(""),a=new kc(t,n,o,s,r,Qt,i,e.root);return a.snapshot=e.root,new wb(new fo(a,[]),e)}function PY(i){let e={},t={},n={},r="",o=new uh([],e,n,r,t,Qt,i,null,{});return new Sb("",new fo(o,[]))}var kc=class{constructor(e,t,n,r,o,s,a,c){this.urlSubject=e,this.paramsSubject=t,this.queryParamsSubject=n,this.fragmentSubject=r,this.dataSubject=o,this.outlet=s,this.component=a,this._futureSnapshot=c,this.title=this.dataSubject?.pipe(Je(l=>l[xm]))??Ke(void 0),this.url=e,this.params=t,this.queryParams=n,this.fragment=r,this.data=o}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=this.params.pipe(Je(e=>ph(e))),this._paramMap}get queryParamMap(){return this._queryParamMap??=this.queryParams.pipe(Je(e=>ph(e))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}};function Cb(i,e,t="emptyOnly"){let n,{routeConfig:r}=i;return e!==null&&(t==="always"||r?.path===""||!e.component&&!e.routeConfig?.loadComponent)?n={params:Z(Z({},e.params),i.params),data:Z(Z({},e.data),i.data),resolve:Z(Z(Z(Z({},i.data),e.data),r?.data),i._resolvedData)}:n={params:Z({},i.params),data:Z({},i.data),resolve:Z(Z({},i.data),i._resolvedData??{})},r&&tF(r)&&(n.resolve[xm]=r.title),n}var uh=class{get title(){return this.data?.[xm]}constructor(e,t,n,r,o,s,a,c,l){this.url=e,this.params=t,this.queryParams=n,this.fragment=r,this.data=o,this.outlet=s,this.component=a,this.routeConfig=c,this._resolve=l}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=ph(this.params),this._paramMap}get queryParamMap(){return this._queryParamMap??=ph(this.queryParams),this._queryParamMap}toString(){let e=this.url.map(n=>n.toString()).join("/"),t=this.routeConfig?this.routeConfig.path:"";return`Route(url:'${e}', path:'${t}')`}},Sb=class extends xb{constructor(e,t){super(t),this.url=e,Q1(this,t)}toString(){return eF(this._root)}};function Q1(i,e){e.value._routerState=i,e.children.forEach(t=>Q1(i,t))}function eF(i){let e=i.children.length>0?` { ${i.children.map(eF).join(", ")} } `:"";return`${i.value}${e}`}function x1(i){if(i.snapshot){let e=i.snapshot,t=i._futureSnapshot;i.snapshot=t,js(e.queryParams,t.queryParams)||i.queryParamsSubject.next(t.queryParams),e.fragment!==t.fragment&&i.fragmentSubject.next(t.fragment),js(e.params,t.params)||i.paramsSubject.next(t.params),iY(e.url,t.url)||i.urlSubject.next(t.url),js(e.data,t.data)||i.dataSubject.next(t.data)}else i.snapshot=i._futureSnapshot,i.dataSubject.next(i._futureSnapshot.data)}function H1(i,e){let t=js(i.params,e.params)&&aY(i.url,e.url),n=!i.parent!=!e.parent;return t&&!n&&(!i.parent||H1(i.parent,e.parent))}function tF(i){return typeof i.title=="string"||i.title===null}var K1=(()=>{let e=class e{constructor(){this.activated=null,this._activatedRoute=null,this.name=Qt,this.activateEvents=new Ie,this.deactivateEvents=new Ie,this.attachEvents=new Ie,this.detachEvents=new Ie,this.parentContexts=te(Ib),this.location=te(Zt),this.changeDetector=te(Ne),this.inputBinder=te(J1,{optional:!0}),this.supportsBindingToComponentInputs=!0}get activatedComponentRef(){return this.activated}ngOnChanges(n){if(n.name){let{firstChange:r,previousValue:o}=n.name;if(r)return;this.isTrackedInParentContexts(o)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(o)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),this.inputBinder?.unsubscribeFromRouteData(this)}isTrackedInParentContexts(n){return this.parentContexts.getContext(n)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;let n=this.parentContexts.getContext(this.name);n?.route&&(n.attachRef?this.attach(n.attachRef,n.route):this.activateWith(n.route,n.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new Oe(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new Oe(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new Oe(4012,!1);this.location.detach();let n=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(n.instance),n}attach(n,r){this.activated=n,this._activatedRoute=r,this.location.insert(n.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(n.instance)}deactivate(){if(this.activated){let n=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(n)}}activateWith(n,r){if(this.isActivated)throw new Oe(4013,!1);this._activatedRoute=n;let o=this.location,a=n.snapshot.component,c=this.parentContexts.getOrCreateContext(this.name).children,l=new G1(n,c,o.injector);this.activated=o.createComponent(a,{index:o.length,injector:l,environmentInjector:r}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}};e.\u0275fac=function(r){return new(r||e)},e.\u0275dir=Ve({type:e,selectors:[["router-outlet"]],inputs:{name:"name"},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],standalone:!0,features:[dn]});let i=e;return i})(),G1=class i{__ngOutletInjector(e){return new i(this.route,this.childContexts,e)}constructor(e,t,n){this.route=e,this.childContexts=t,this.parent=n}get(e,t){return e===kc?this.route:e===Ib?this.childContexts:this.parent.get(e,t)}},J1=new me("");function OY(i,e,t){let n=_m(i,e._root,t?t._root:void 0);return new wb(n,e)}function _m(i,e,t){if(t&&i.shouldReuseRoute(e.value,t.value.snapshot)){let n=t.value;n._futureSnapshot=e.value;let r=RY(i,e,t);return new fo(n,r)}else{if(i.shouldAttach(e.value)){let o=i.retrieve(e.value);if(o!==null){let s=o.route;return s.value._futureSnapshot=e.value,s.children=e.children.map(a=>_m(i,a)),s}}let n=AY(e.value),r=e.children.map(o=>_m(i,o));return new fo(n,r)}}function RY(i,e,t){return e.children.map(n=>{for(let r of t.children)if(i.shouldReuseRoute(n.value,r.value.snapshot))return _m(i,n,r);return _m(i,n)})}function AY(i){return new kc(new On(i.url),new On(i.params),new On(i.queryParams),new On(i.fragment),new On(i.data),i.outlet,i.component,i)}var vm=class{constructor(e,t){this.redirectTo=e,this.navigationBehaviorOptions=t}},nF="ngNavigationCancelingError";function Mb(i,e){let{redirectTo:t,navigationBehaviorOptions:n}=hm(e)?{redirectTo:e,navigationBehaviorOptions:void 0}:e,r=iF(!1,mo.Redirect);return r.url=t,r.navigationBehaviorOptions=n,r}function iF(i,e){let t=new Error(`NavigationCancelingError: ${i||""}`);return t[nF]=!0,t.cancellationCode=e,t}function NY(i){return rF(i)&&hm(i.url)}function rF(i){return!!i&&i[nF]}var kY=(i,e,t,n)=>Je(r=>(new j1(e,r.targetRouterState,r.currentRouterState,t,n).activate(i),r)),j1=class{constructor(e,t,n,r,o){this.routeReuseStrategy=e,this.futureState=t,this.currState=n,this.forwardEvent=r,this.inputBindingEnabled=o}activate(e){let t=this.futureState._root,n=this.currState?this.currState._root:null;this.deactivateChildRoutes(t,n,e),x1(this.futureState.root),this.activateChildRoutes(t,n,e)}deactivateChildRoutes(e,t,n){let r=lh(t);e.children.forEach(o=>{let s=o.value.outlet;this.deactivateRoutes(o,r[s],n),delete r[s]}),Object.values(r).forEach(o=>{this.deactivateRouteAndItsChildren(o,n)})}deactivateRoutes(e,t,n){let r=e.value,o=t?t.value:null;if(r===o)if(r.component){let s=n.getContext(r.outlet);s&&this.deactivateChildRoutes(e,t,s.children)}else this.deactivateChildRoutes(e,t,n);else o&&this.deactivateRouteAndItsChildren(t,n)}deactivateRouteAndItsChildren(e,t){e.value.component&&this.routeReuseStrategy.shouldDetach(e.value.snapshot)?this.detachAndStoreRouteSubtree(e,t):this.deactivateRouteAndOutlet(e,t)}detachAndStoreRouteSubtree(e,t){let n=t.getContext(e.value.outlet),r=n&&e.value.component?n.children:t,o=lh(e);for(let s of Object.values(o))this.deactivateRouteAndItsChildren(s,r);if(n&&n.outlet){let s=n.outlet.detach(),a=n.children.onOutletDeactivated();this.routeReuseStrategy.store(e.value.snapshot,{componentRef:s,route:e,contexts:a})}}deactivateRouteAndOutlet(e,t){let n=t.getContext(e.value.outlet),r=n&&e.value.component?n.children:t,o=lh(e);for(let s of Object.values(o))this.deactivateRouteAndItsChildren(s,r);n&&(n.outlet&&(n.outlet.deactivate(),n.children.onOutletDeactivated()),n.attachRef=null,n.route=null)}activateChildRoutes(e,t,n){let r=lh(t);e.children.forEach(o=>{this.activateRoutes(o,r[o.value.outlet],n),this.forwardEvent(new B1(o.value.snapshot))}),e.children.length&&this.forwardEvent(new L1(e.value.snapshot))}activateRoutes(e,t,n){let r=e.value,o=t?t.value:null;if(x1(r),r===o)if(r.component){let s=n.getOrCreateContext(r.outlet);this.activateChildRoutes(e,t,s.children)}else this.activateChildRoutes(e,t,n);else if(r.component){let s=n.getOrCreateContext(r.outlet);if(this.routeReuseStrategy.shouldAttach(r.snapshot)){let a=this.routeReuseStrategy.retrieve(r.snapshot);this.routeReuseStrategy.store(r.snapshot,null),s.children.onOutletReAttached(a.contexts),s.attachRef=a.componentRef,s.route=a.route.value,s.outlet&&s.outlet.attach(a.componentRef,a.route.value),x1(a.route.value),this.activateChildRoutes(e,null,s.children)}else s.attachRef=null,s.route=r,s.outlet&&s.outlet.activateWith(r,s.injector),this.activateChildRoutes(e,null,s.children)}else this.activateChildRoutes(e,null,n)}},Eb=class{constructor(e){this.path=e,this.route=this.path[this.path.length-1]}},hh=class{constructor(e,t){this.component=e,this.route=t}};function LY(i,e,t){let n=i._root,r=e?e._root:null;return sm(n,r,t,[n.value])}function FY(i){let e=i.routeConfig?i.routeConfig.canActivateChild:null;return!e||e.length===0?null:{node:i,guards:e}}function gh(i,e){let t=Symbol(),n=e.get(i,t);return n===t?typeof i=="function"&&!lN(i)?i:e.get(i):n}function sm(i,e,t,n,r={canDeactivateChecks:[],canActivateChecks:[]}){let o=lh(e);return i.children.forEach(s=>{BY(s,o[s.value.outlet],t,n.concat([s.value]),r),delete o[s.value.outlet]}),Object.entries(o).forEach(([s,a])=>dm(a,t.getContext(s),r)),r}function BY(i,e,t,n,r={canDeactivateChecks:[],canActivateChecks:[]}){let o=i.value,s=e?e.value:null,a=t?t.getContext(i.value.outlet):null;if(s&&o.routeConfig===s.routeConfig){let c=VY(s,o,o.routeConfig.runGuardsAndResolvers);c?r.canActivateChecks.push(new Eb(n)):(o.data=s.data,o._resolvedData=s._resolvedData),o.component?sm(i,e,a?a.children:null,n,r):sm(i,e,t,n,r),c&&a&&a.outlet&&a.outlet.isActivated&&r.canDeactivateChecks.push(new hh(a.outlet.component,s))}else s&&dm(e,a,r),r.canActivateChecks.push(new Eb(n)),o.component?sm(i,null,a?a.children:null,n,r):sm(i,null,t,n,r);return r}function VY(i,e,t){if(typeof t=="function")return t(i,e);switch(t){case"pathParamsChange":return!rd(i.url,e.url);case"pathParamsOrQueryParamsChange":return!rd(i.url,e.url)||!js(i.queryParams,e.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!H1(i,e)||!js(i.queryParams,e.queryParams);case"paramsChange":default:return!H1(i,e)}}function dm(i,e,t){let n=lh(i),r=i.value;Object.entries(n).forEach(([o,s])=>{r.component?e?dm(s,e.children.getContext(o),t):dm(s,null,t):dm(s,e,t)}),r.component?e&&e.outlet&&e.outlet.isActivated?t.canDeactivateChecks.push(new hh(e.outlet.component,r)):t.canDeactivateChecks.push(new hh(null,r)):t.canDeactivateChecks.push(new hh(null,r))}function Cm(i){return typeof i=="function"}function zY(i){return typeof i=="boolean"}function UY(i){return i&&Cm(i.canLoad)}function HY(i){return i&&Cm(i.canActivate)}function GY(i){return i&&Cm(i.canActivateChild)}function jY(i){return i&&Cm(i.canDeactivate)}function WY(i){return i&&Cm(i.canMatch)}function oF(i){return i instanceof wa||i?.name==="EmptyError"}var fb=Symbol("INITIAL_VALUE");function mh(){return Qn(i=>eo(i.map(e=>e.pipe(_n(1),gi(fb)))).pipe(Je(e=>{for(let t of e)if(t!==!0){if(t===fb)return fb;if(t===!1||$Y(t))return t}return!0}),qt(e=>e!==fb),_n(1)))}function $Y(i){return hm(i)||i instanceof vm}function qY(i,e){return ti(t=>{let{targetSnapshot:n,currentSnapshot:r,guards:{canActivateChecks:o,canDeactivateChecks:s}}=t;return s.length===0&&o.length===0?Ke(yt(Z({},t),{guardsResult:!0})):YY(s,n,r,i).pipe(ti(a=>a&&zY(a)?XY(n,o,i,e):Ke(a)),Je(a=>yt(Z({},t),{guardsResult:a})))})}function YY(i,e,t,n){return Jn(i).pipe(ti(r=>eX(r.component,r.route,t,e,n)),Rs(r=>r!==!0,!0))}function XY(i,e,t,n){return Jn(e).pipe(bc(r=>Ps(QY(r.route.parent,n),ZY(r.route,n),JY(i,r.path,t),KY(i,r.route,t))),Rs(r=>r!==!0,!0))}function ZY(i,e){return i!==null&&e&&e(new F1(i)),Ke(!0)}function QY(i,e){return i!==null&&e&&e(new k1(i)),Ke(!0)}function KY(i,e,t){let n=e.routeConfig?e.routeConfig.canActivate:null;if(!n||n.length===0)return Ke(!0);let r=n.map(o=>Po(()=>{let s=wm(e)??t,a=gh(o,s),c=HY(a)?a.canActivate(e,i):Vs(s,()=>a(e,i));return Lc(c).pipe(Rs())}));return Ke(r).pipe(mh())}function JY(i,e,t){let n=e[e.length-1],o=e.slice(0,e.length-1).reverse().map(s=>FY(s)).filter(s=>s!==null).map(s=>Po(()=>{let a=s.guards.map(c=>{let l=wm(s.node)??t,d=gh(c,l),u=GY(d)?d.canActivateChild(n,i):Vs(l,()=>d(n,i));return Lc(u).pipe(Rs())});return Ke(a).pipe(mh())}));return Ke(o).pipe(mh())}function eX(i,e,t,n,r){let o=e&&e.routeConfig?e.routeConfig.canDeactivate:null;if(!o||o.length===0)return Ke(!0);let s=o.map(a=>{let c=wm(e)??r,l=gh(a,c),d=jY(l)?l.canDeactivate(i,e,t,n):Vs(c,()=>l(i,e,t,n));return Lc(d).pipe(Rs())});return Ke(s).pipe(mh())}function tX(i,e,t,n){let r=e.canLoad;if(r===void 0||r.length===0)return Ke(!0);let o=r.map(s=>{let a=gh(s,i),c=UY(a)?a.canLoad(e,t):Vs(i,()=>a(e,t));return Lc(c)});return Ke(o).pipe(mh(),sF(n))}function sF(i){return wS(En(e=>{if(typeof e!="boolean")throw Mb(i,e)}),Je(e=>e===!0))}function nX(i,e,t,n){let r=e.canMatch;if(!r||r.length===0)return Ke(!0);let o=r.map(s=>{let a=gh(s,i),c=WY(a)?a.canMatch(e,t):Vs(i,()=>a(e,t));return Lc(c)});return Ke(o).pipe(mh(),sF(n))}var bm=class{constructor(e){this.segmentGroup=e||null}},ym=class extends Error{constructor(e){super(),this.urlTree=e}};function ch(i){return vc(new bm(i))}function iX(i){return vc(new Oe(4e3,!1))}function rX(i){return vc(iF(!1,mo.GuardRejected))}var W1=class{constructor(e,t){this.urlSerializer=e,this.urlTree=t}lineralizeSegments(e,t){let n=[],r=t.root;for(;;){if(n=n.concat(r.segments),r.numberOfChildren===0)return Ke(n);if(r.numberOfChildren>1||!r.children[Qt])return iX(`${e.redirectTo}`);r=r.children[Qt]}}applyRedirectCommands(e,t,n,r,o){if(typeof t!="string"){let a=t,{queryParams:c,fragment:l,routeConfig:d,url:u,outlet:h,params:p,data:f,title:m}=r,y=Vs(o,()=>a({params:p,data:f,queryParams:c,fragment:l,routeConfig:d,url:u,outlet:h,title:m}));if(y instanceof Na)throw new ym(y);t=y}let s=this.applyRedirectCreateUrlTree(t,this.urlSerializer.parse(t),e,n);if(t[0]==="/")throw new ym(s);return s}applyRedirectCreateUrlTree(e,t,n,r){let o=this.createSegmentGroup(e,t.root,n,r);return new Na(o,this.createQueryParams(t.queryParams,this.urlTree.queryParams),t.fragment)}createQueryParams(e,t){let n={};return Object.entries(e).forEach(([r,o])=>{if(typeof o=="string"&&o[0]===":"){let a=o.substring(1);n[r]=t[a]}else n[r]=o}),n}createSegmentGroup(e,t,n,r){let o=this.createSegments(e,t.segments,n,r),s={};return Object.entries(t.children).forEach(([a,c])=>{s[a]=this.createSegmentGroup(e,c,n,r)}),new Dn(o,s)}createSegments(e,t,n,r){return t.map(o=>o.path[0]===":"?this.findPosParam(e,o,r):this.findOrReturn(o,n))}findPosParam(e,t,n){let r=n[t.path.substring(1)];if(!r)throw new Oe(4001,!1);return r}findOrReturn(e,t){let n=0;for(let r of t){if(r.path===e.path)return t.splice(n),r;n++}return e}},$1={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function oX(i,e,t,n,r){let o=eI(i,e,t);return o.matched?(n=TY(e,n),nX(n,e,t,r).pipe(Je(s=>s===!0?o:Z({},$1)))):Ke(o)}function eI(i,e,t){if(e.path==="**")return sX(t);if(e.path==="")return e.pathMatch==="full"&&(i.hasChildren()||t.length>0)?Z({},$1):{matched:!0,consumedSegments:[],remainingSegments:t,parameters:{},positionalParamSegments:{}};let r=(e.matcher||nY)(t,i,e);if(!r)return Z({},$1);let o={};Object.entries(r.posParams??{}).forEach(([a,c])=>{o[a]=c.path});let s=r.consumed.length>0?Z(Z({},o),r.consumed[r.consumed.length-1].parameters):o;return{matched:!0,consumedSegments:r.consumed,remainingSegments:t.slice(r.consumed.length),parameters:s,positionalParamSegments:r.posParams??{}}}function sX(i){return{matched:!0,parameters:i.length>0?zL(i).parameters:{},consumedSegments:i,remainingSegments:[],positionalParamSegments:{}}}function LL(i,e,t,n){return t.length>0&&lX(i,t,n)?{segmentGroup:new Dn(e,cX(n,new Dn(t,i.children))),slicedSegments:[]}:t.length===0&&dX(i,t,n)?{segmentGroup:new Dn(i.segments,aX(i,t,n,i.children)),slicedSegments:t}:{segmentGroup:new Dn(i.segments,i.children),slicedSegments:t}}function aX(i,e,t,n){let r={};for(let o of t)if(Tb(i,e,o)&&!n[ps(o)]){let s=new Dn([],{});r[ps(o)]=s}return Z(Z({},n),r)}function cX(i,e){let t={};t[Qt]=e;for(let n of i)if(n.path===""&&ps(n)!==Qt){let r=new Dn([],{});t[ps(n)]=r}return t}function lX(i,e,t){return t.some(n=>Tb(i,e,n)&&ps(n)!==Qt)}function dX(i,e,t){return t.some(n=>Tb(i,e,n))}function Tb(i,e,t){return(i.hasChildren()||e.length>0)&&t.pathMatch==="full"?!1:t.path===""}function uX(i,e,t,n){return ps(i)!==n&&(n===Qt||!Tb(e,t,i))?!1:eI(e,i,t).matched}function hX(i,e,t){return e.length===0&&!i.children[t]}var q1=class{};function pX(i,e,t,n,r,o,s="emptyOnly"){return new Y1(i,e,t,n,r,s,o).recognize()}var fX=31,Y1=class{constructor(e,t,n,r,o,s,a){this.injector=e,this.configLoader=t,this.rootComponentType=n,this.config=r,this.urlTree=o,this.paramsInheritanceStrategy=s,this.urlSerializer=a,this.applyRedirects=new W1(this.urlSerializer,this.urlTree),this.absoluteRedirectCount=0,this.allowRedirects=!0}noMatchError(e){return new Oe(4002,`'${e.segmentGroup}'`)}recognize(){let e=LL(this.urlTree.root,[],[],this.config).segmentGroup;return this.match(e).pipe(Je(({children:t,rootSnapshot:n})=>{let r=new fo(n,t),o=new Sb("",r),s=xY(n,[],this.urlTree.queryParams,this.urlTree.fragment);return s.queryParams=this.urlTree.queryParams,o.url=this.urlSerializer.serialize(s),{state:o,tree:s}}))}match(e){let t=new uh([],Object.freeze({}),Object.freeze(Z({},this.urlTree.queryParams)),this.urlTree.fragment,Object.freeze({}),Qt,this.rootComponentType,null,{});return this.processSegmentGroup(this.injector,this.config,e,Qt,t).pipe(Je(n=>({children:n,rootSnapshot:t})),Os(n=>{if(n instanceof ym)return this.urlTree=n.urlTree,this.match(n.urlTree.root);throw n instanceof bm?this.noMatchError(n):n}))}processSegmentGroup(e,t,n,r,o){return n.segments.length===0&&n.hasChildren()?this.processChildren(e,t,n,o):this.processSegment(e,t,n,n.segments,r,!0,o).pipe(Je(s=>s instanceof fo?[s]:[]))}processChildren(e,t,n,r){let o=[];for(let s of Object.keys(n.children))s==="primary"?o.unshift(s):o.push(s);return Jn(o).pipe(bc(s=>{let a=n.children[s],c=DY(t,s);return this.processSegmentGroup(e,c,a,s,r)}),RS((s,a)=>(s.push(...a),s)),yc(null),OS(),ti(s=>{if(s===null)return ch(n);let a=aF(s);return mX(a),Ke(a)}))}processSegment(e,t,n,r,o,s,a){return Jn(t).pipe(bc(c=>this.processSegmentAgainstRoute(c._injector??e,t,c,n,r,o,s,a).pipe(Os(l=>{if(l instanceof bm)return Ke(null);throw l}))),Rs(c=>!!c),Os(c=>{if(oF(c))return hX(n,r,o)?Ke(new q1):ch(n);throw c}))}processSegmentAgainstRoute(e,t,n,r,o,s,a,c){return uX(n,r,o,s)?n.redirectTo===void 0?this.matchSegmentAgainstRoute(e,r,n,o,s,c):this.allowRedirects&&a?this.expandSegmentAgainstRouteUsingRedirect(e,r,t,n,o,s,c):ch(r):ch(r)}expandSegmentAgainstRouteUsingRedirect(e,t,n,r,o,s,a){let{matched:c,parameters:l,consumedSegments:d,positionalParamSegments:u,remainingSegments:h}=eI(t,r,o);if(!c)return ch(t);typeof r.redirectTo=="string"&&r.redirectTo[0]==="/"&&(this.absoluteRedirectCount++,this.absoluteRedirectCount>fX&&(this.allowRedirects=!1));let p=new uh(o,l,Object.freeze(Z({},this.urlTree.queryParams)),this.urlTree.fragment,FL(r),ps(r),r.component??r._loadedComponent??null,r,BL(r)),f=Cb(p,a,this.paramsInheritanceStrategy);p.params=Object.freeze(f.params),p.data=Object.freeze(f.data);let m=this.applyRedirects.applyRedirectCommands(d,r.redirectTo,u,p,e);return this.applyRedirects.lineralizeSegments(r,m).pipe(ti(y=>this.processSegment(e,n,t,y.concat(h),s,!1,a)))}matchSegmentAgainstRoute(e,t,n,r,o,s){let a=oX(t,n,r,e,this.urlSerializer);return n.path==="**"&&(t.children={}),a.pipe(Qn(c=>c.matched?(e=n._injector??e,this.getChildConfig(e,n,r).pipe(Qn(({routes:l})=>{let d=n._loadedInjector??e,{parameters:u,consumedSegments:h,remainingSegments:p}=c,f=new uh(h,u,Object.freeze(Z({},this.urlTree.queryParams)),this.urlTree.fragment,FL(n),ps(n),n.component??n._loadedComponent??null,n,BL(n)),m=Cb(f,s,this.paramsInheritanceStrategy);f.params=Object.freeze(m.params),f.data=Object.freeze(m.data);let{segmentGroup:y,slicedSegments:g}=LL(t,h,p,l);if(g.length===0&&y.hasChildren())return this.processChildren(d,l,y,f).pipe(Je(x=>new fo(f,x)));if(l.length===0&&g.length===0)return Ke(new fo(f,[]));let _=ps(n)===o;return this.processSegment(d,l,y,g,_?Qt:o,!0,f).pipe(Je(x=>new fo(f,x instanceof fo?[x]:[])))}))):ch(t)))}getChildConfig(e,t,n){return t.children?Ke({routes:t.children,injector:e}):t.loadChildren?t._loadedRoutes!==void 0?Ke({routes:t._loadedRoutes,injector:t._loadedInjector}):tX(e,t,n,this.urlSerializer).pipe(ti(r=>r?this.configLoader.loadChildren(e,t).pipe(En(o=>{t._loadedRoutes=o.routes,t._loadedInjector=o.injector})):rX(t))):Ke({routes:[],injector:e})}};function mX(i){i.sort((e,t)=>e.value.outlet===Qt?-1:t.value.outlet===Qt?1:e.value.outlet.localeCompare(t.value.outlet))}function gX(i){let e=i.value.routeConfig;return e&&e.path===""}function aF(i){let e=[],t=new Set;for(let n of i){if(!gX(n)){e.push(n);continue}let r=e.find(o=>n.value.routeConfig===o.value.routeConfig);r!==void 0?(r.children.push(...n.children),t.add(r)):e.push(n)}for(let n of t){let r=aF(n.children);e.push(new fo(n.value,r))}return e.filter(n=>!t.has(n))}function FL(i){return i.data||{}}function BL(i){return i.resolve||{}}function _X(i,e,t,n,r,o){return ti(s=>pX(i,e,t,n,s.extractedUrl,r,o).pipe(Je(({state:a,tree:c})=>yt(Z({},s),{targetSnapshot:a,urlAfterRedirects:c}))))}function vX(i,e){return ti(t=>{let{targetSnapshot:n,guards:{canActivateChecks:r}}=t;if(!r.length)return Ke(t);let o=new Set(r.map(c=>c.route)),s=new Set;for(let c of o)if(!s.has(c))for(let l of cF(c))s.add(l);let a=0;return Jn(s).pipe(bc(c=>o.has(c)?bX(c,n,i,e):(c.data=Cb(c,c.parent,i).resolve,Ke(void 0))),En(()=>a++),zu(1),ti(c=>a===s.size?Ke(t):Dr))})}function cF(i){let e=i.children.map(t=>cF(t)).flat();return[i,...e]}function bX(i,e,t,n){let r=i.routeConfig,o=i._resolve;return r?.title!==void 0&&!tF(r)&&(o[xm]=r.title),yX(o,i,e,n).pipe(Je(s=>(i._resolvedData=s,i.data=Cb(i,i.parent,t).resolve,null)))}function yX(i,e,t,n){let r=S1(i);if(r.length===0)return Ke({});let o={};return Jn(r).pipe(ti(s=>xX(i[s],e,t,n).pipe(Rs(),En(a=>{if(a instanceof vm)throw Mb(new um,a);o[s]=a}))),zu(1),Rf(o),Os(s=>oF(s)?Dr:vc(s)))}function xX(i,e,t,n){let r=wm(e)??n,o=gh(i,r),s=o.resolve?o.resolve(e,t):Vs(r,()=>o(e,t));return Lc(s)}function w1(i){return Qn(e=>{let t=i(e);return t?Jn(t).pipe(Je(()=>e)):Ke(e)})}var lF=(()=>{let e=class e{buildTitle(n){let r,o=n.root;for(;o!==void 0;)r=this.getResolvedTitleForRoute(o)??r,o=o.children.find(s=>s.outlet===Qt);return r}getResolvedTitleForRoute(n){return n.data[xm]}};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:()=>te(wX),providedIn:"root"});let i=e;return i})(),wX=(()=>{let e=class e extends lF{constructor(n){super(),this.title=n}updateTitle(n){let r=this.buildTitle(n);r!==void 0&&this.title.setTitle(r)}};e.\u0275fac=function(r){return new(r||e)(X(PL))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})(),tI=new me("",{providedIn:"root",factory:()=>({})}),CX=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275cmp=ce({type:e,selectors:[["ng-component"]],standalone:!0,features:[le],decls:1,vars:0,template:function(r,o){r&1&&ee(0,"router-outlet")},dependencies:[K1],encapsulation:2});let i=e;return i})();function nI(i){let e=i.children&&i.children.map(nI),t=e?yt(Z({},i),{children:e}):Z({},i);return!t.component&&!t.loadComponent&&(e||t.loadChildren)&&t.outlet&&t.outlet!==Qt&&(t.component=CX),t}var iI=new me(""),SX=(()=>{let e=class e{constructor(){this.componentLoaders=new WeakMap,this.childrenLoaders=new WeakMap,this.compiler=te(QE)}loadComponent(n){if(this.componentLoaders.get(n))return this.componentLoaders.get(n);if(n._loadedComponent)return Ke(n._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(n);let r=Lc(n.loadComponent()).pipe(Je(dF),En(s=>{this.onLoadEndListener&&this.onLoadEndListener(n),n._loadedComponent=s}),wc(()=>{this.componentLoaders.delete(n)})),o=new mc(r,()=>new pe).pipe(Au());return this.componentLoaders.set(n,o),o}loadChildren(n,r){if(this.childrenLoaders.get(r))return this.childrenLoaders.get(r);if(r._loadedRoutes)return Ke({routes:r._loadedRoutes,injector:r._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(r);let s=MX(r,this.compiler,n,this.onLoadEndListener).pipe(wc(()=>{this.childrenLoaders.delete(r)})),a=new mc(s,()=>new pe).pipe(Au());return this.childrenLoaders.set(r,a),a}};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();function MX(i,e,t,n){return Lc(i.loadChildren()).pipe(Je(dF),ti(r=>r instanceof Gf||Array.isArray(r)?Ke(r):Jn(e.compileModuleAsync(r))),Je(r=>{n&&n(i);let o,s,a=!1;return Array.isArray(r)?(s=r,a=!0):(o=r.create(t).injector,s=o.get(iI,[],{optional:!0,self:!0}).flat()),{routes:s.map(nI),injector:o}}))}function EX(i){return i&&typeof i=="object"&&"default"in i}function dF(i){return EX(i)?i.default:i}var rI=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:()=>te(IX),providedIn:"root"});let i=e;return i})(),IX=(()=>{let e=class e{shouldProcessUrl(n){return!0}extract(n){return n}merge(n,r){return n}};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})(),TX=new me("");var DX=new me(""),PX=(()=>{let e=class e{get hasRequestedNavigation(){return this.navigationId!==0}constructor(){this.currentNavigation=null,this.currentTransition=null,this.lastSuccessfulNavigation=null,this.events=new pe,this.transitionAbortSubject=new pe,this.configLoader=te(SX),this.environmentInjector=te(Xi),this.urlSerializer=te(Z1),this.rootContexts=te(Ib),this.location=te(Ra),this.inputBindingEnabled=te(J1,{optional:!0})!==null,this.titleStrategy=te(lF),this.options=te(tI,{optional:!0})||{},this.paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly",this.urlHandlingStrategy=te(rI),this.createViewTransition=te(TX,{optional:!0}),this.navigationErrorHandler=te(DX,{optional:!0}),this.navigationId=0,this.afterPreactivation=()=>Ke(void 0),this.rootComponentType=null;let n=o=>this.events.next(new A1(o)),r=o=>this.events.next(new N1(o));this.configLoader.onLoadEndListener=r,this.configLoader.onLoadStartListener=n}complete(){this.transitions?.complete()}handleNavigationRequest(n){let r=++this.navigationId;this.transitions?.next(yt(Z(Z({},this.transitions.value),n),{id:r}))}setupNavigations(n,r,o){return this.transitions=new On({id:0,currentUrlTree:r,currentRawUrl:r,extractedUrl:this.urlHandlingStrategy.extract(r),urlAfterRedirects:this.urlHandlingStrategy.extract(r),rawUrl:r,extras:{},resolve:()=>{},reject:()=>{},promise:Promise.resolve(!0),source:lm,restoredState:null,currentSnapshot:o.snapshot,targetSnapshot:null,currentRouterState:o,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe(qt(s=>s.id!==0),Je(s=>yt(Z({},s),{extractedUrl:this.urlHandlingStrategy.extract(s.rawUrl)})),Qn(s=>{let a=!1,c=!1;return Ke(s).pipe(Qn(l=>{if(this.navigationId>s.id)return this.cancelNavigationTransition(s,"",mo.SupersededByNewNavigation),Dr;this.currentTransition=s,this.currentNavigation={id:l.id,initialUrl:l.rawUrl,extractedUrl:l.extractedUrl,targetBrowserUrl:typeof l.extras.browserUrl=="string"?this.urlSerializer.parse(l.extras.browserUrl):l.extras.browserUrl,trigger:l.source,extras:l.extras,previousNavigation:this.lastSuccessfulNavigation?yt(Z({},this.lastSuccessfulNavigation),{previousNavigation:null}):null};let d=!n.navigated||this.isUpdatingInternalState()||this.isUpdatedBrowserUrl(),u=l.extras.onSameUrlNavigation??n.onSameUrlNavigation;if(!d&&u!=="reload"){let h="";return this.events.next(new sd(l.id,this.urlSerializer.serialize(l.rawUrl),h,T1.IgnoredSameUrlNavigation)),l.resolve(!1),Dr}if(this.urlHandlingStrategy.shouldProcessUrl(l.rawUrl))return Ke(l).pipe(Qn(h=>{let p=this.transitions?.getValue();return this.events.next(new fm(h.id,this.urlSerializer.serialize(h.extractedUrl),h.source,h.restoredState)),p!==this.transitions?.getValue()?Dr:Promise.resolve(h)}),_X(this.environmentInjector,this.configLoader,this.rootComponentType,n.config,this.urlSerializer,this.paramsInheritanceStrategy),En(h=>{s.targetSnapshot=h.targetSnapshot,s.urlAfterRedirects=h.urlAfterRedirects,this.currentNavigation=yt(Z({},this.currentNavigation),{finalUrl:h.urlAfterRedirects});let p=new yb(h.id,this.urlSerializer.serialize(h.extractedUrl),this.urlSerializer.serialize(h.urlAfterRedirects),h.targetSnapshot);this.events.next(p)}));if(d&&this.urlHandlingStrategy.shouldProcessUrl(l.currentRawUrl)){let{id:h,extractedUrl:p,source:f,restoredState:m,extras:y}=l,g=new fm(h,this.urlSerializer.serialize(p),f,m);this.events.next(g);let _=JL(this.rootComponentType).snapshot;return this.currentTransition=s=yt(Z({},l),{targetSnapshot:_,urlAfterRedirects:p,extras:yt(Z({},y),{skipLocationChange:!1,replaceUrl:!1})}),this.currentNavigation.finalUrl=p,Ke(s)}else{let h="";return this.events.next(new sd(l.id,this.urlSerializer.serialize(l.extractedUrl),h,T1.IgnoredByUrlHandlingStrategy)),l.resolve(!1),Dr}}),En(l=>{let d=new D1(l.id,this.urlSerializer.serialize(l.extractedUrl),this.urlSerializer.serialize(l.urlAfterRedirects),l.targetSnapshot);this.events.next(d)}),Je(l=>(this.currentTransition=s=yt(Z({},l),{guards:LY(l.targetSnapshot,l.currentSnapshot,this.rootContexts)}),s)),qY(this.environmentInjector,l=>this.events.next(l)),En(l=>{if(s.guardsResult=l.guardsResult,l.guardsResult&&typeof l.guardsResult!="boolean")throw Mb(this.urlSerializer,l.guardsResult);let d=new P1(l.id,this.urlSerializer.serialize(l.extractedUrl),this.urlSerializer.serialize(l.urlAfterRedirects),l.targetSnapshot,!!l.guardsResult);this.events.next(d)}),qt(l=>l.guardsResult?!0:(this.cancelNavigationTransition(l,"",mo.GuardRejected),!1)),w1(l=>{if(l.guards.canActivateChecks.length)return Ke(l).pipe(En(d=>{let u=new O1(d.id,this.urlSerializer.serialize(d.extractedUrl),this.urlSerializer.serialize(d.urlAfterRedirects),d.targetSnapshot);this.events.next(u)}),Qn(d=>{let u=!1;return Ke(d).pipe(vX(this.paramsInheritanceStrategy,this.environmentInjector),En({next:()=>u=!0,complete:()=>{u||this.cancelNavigationTransition(d,"",mo.NoDataFromResolver)}}))}),En(d=>{let u=new R1(d.id,this.urlSerializer.serialize(d.extractedUrl),this.urlSerializer.serialize(d.urlAfterRedirects),d.targetSnapshot);this.events.next(u)}))}),w1(l=>{let d=u=>{let h=[];u.routeConfig?.loadComponent&&!u.routeConfig._loadedComponent&&h.push(this.configLoader.loadComponent(u.routeConfig).pipe(En(p=>{u.component=p}),Je(()=>{})));for(let p of u.children)h.push(...d(p));return h};return eo(d(l.targetSnapshot.root)).pipe(yc(null),_n(1))}),w1(()=>this.afterPreactivation()),Qn(()=>{let{currentSnapshot:l,targetSnapshot:d}=s,u=this.createViewTransition?.(this.environmentInjector,l.root,d.root);return u?Jn(u).pipe(Je(()=>s)):Ke(s)}),Je(l=>{let d=OY(n.routeReuseStrategy,l.targetSnapshot,l.currentRouterState);return this.currentTransition=s=yt(Z({},l),{targetRouterState:d}),this.currentNavigation.targetRouterState=d,s}),En(()=>{this.events.next(new gm)}),kY(this.rootContexts,n.routeReuseStrategy,l=>this.events.next(l),this.inputBindingEnabled),_n(1),En({next:l=>{a=!0,this.lastSuccessfulNavigation=this.currentNavigation,this.events.next(new od(l.id,this.urlSerializer.serialize(l.extractedUrl),this.urlSerializer.serialize(l.urlAfterRedirects))),this.titleStrategy?.updateTitle(l.targetRouterState.snapshot),l.resolve(!0)},complete:()=>{a=!0}}),Ze(this.transitionAbortSubject.pipe(En(l=>{throw l}))),wc(()=>{!a&&!c&&this.cancelNavigationTransition(s,"",mo.SupersededByNewNavigation),this.currentTransition?.id===s.id&&(this.currentNavigation=null,this.currentTransition=null)}),Os(l=>{if(c=!0,rF(l))this.events.next(new Aa(s.id,this.urlSerializer.serialize(s.extractedUrl),l.message,l.cancellationCode)),NY(l)?this.events.next(new fh(l.url,l.navigationBehaviorOptions)):s.resolve(!1);else{let d=new mm(s.id,this.urlSerializer.serialize(s.extractedUrl),l,s.targetSnapshot??void 0);try{let u=Vs(this.environmentInjector,()=>this.navigationErrorHandler?.(d));if(u instanceof vm){let{message:h,cancellationCode:p}=Mb(this.urlSerializer,u);this.events.next(new Aa(s.id,this.urlSerializer.serialize(s.extractedUrl),h,p)),this.events.next(new fh(u.redirectTo,u.navigationBehaviorOptions))}else{this.events.next(d);let h=n.errorHandler(l);s.resolve(!!h)}}catch(u){this.options.resolveNavigationPromiseOnError?s.resolve(!1):s.reject(u)}}return Dr}))}))}cancelNavigationTransition(n,r,o){let s=new Aa(n.id,this.urlSerializer.serialize(n.extractedUrl),r,o);this.events.next(s),n.resolve(!1)}isUpdatingInternalState(){return this.currentTransition?.extractedUrl.toString()!==this.currentTransition?.currentUrlTree.toString()}isUpdatedBrowserUrl(){let n=this.urlHandlingStrategy.extract(this.urlSerializer.parse(this.location.path(!0))),r=this.currentNavigation?.targetBrowserUrl??this.currentNavigation?.extractedUrl;return n.toString()!==r?.toString()&&!this.currentNavigation?.extras.skipLocationChange}};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();function OX(i){return i!==lm}var RX=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:()=>te(AX),providedIn:"root"});let i=e;return i})(),X1=class{shouldDetach(e){return!1}store(e,t){}shouldAttach(e){return!1}retrieve(e){return null}shouldReuseRoute(e,t){return e.routeConfig===t.routeConfig}},AX=(()=>{let e=class e extends X1{};e.\u0275fac=(()=>{let n;return function(o){return(n||(n=Li(e)))(o||e)}})(),e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})(),uF=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:()=>te(NX),providedIn:"root"});let i=e;return i})(),NX=(()=>{let e=class e extends uF{constructor(){super(...arguments),this.location=te(Ra),this.urlSerializer=te(Z1),this.options=te(tI,{optional:!0})||{},this.canceledNavigationResolution=this.options.canceledNavigationResolution||"replace",this.urlHandlingStrategy=te(rI),this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.currentUrlTree=new Na,this.rawUrlTree=this.currentUrlTree,this.currentPageId=0,this.lastSuccessfulId=-1,this.routerState=JL(null),this.stateMemento=this.createStateMemento()}getCurrentUrlTree(){return this.currentUrlTree}getRawUrlTree(){return this.rawUrlTree}restoredState(){return this.location.getState()}get browserPageId(){return this.canceledNavigationResolution!=="computed"?this.currentPageId:this.restoredState()?.\u0275routerPageId??this.currentPageId}getRouterState(){return this.routerState}createStateMemento(){return{rawUrlTree:this.rawUrlTree,currentUrlTree:this.currentUrlTree,routerState:this.routerState}}registerNonRouterCurrentEntryChangeListener(n){return this.location.subscribe(r=>{r.type==="popstate"&&n(r.url,r.state)})}handleRouterEvent(n,r){if(n instanceof fm)this.stateMemento=this.createStateMemento();else if(n instanceof sd)this.rawUrlTree=r.initialUrl;else if(n instanceof yb){if(this.urlUpdateStrategy==="eager"&&!r.extras.skipLocationChange){let o=this.urlHandlingStrategy.merge(r.finalUrl,r.initialUrl);this.setBrowserUrl(r.targetBrowserUrl??o,r)}}else n instanceof gm?(this.currentUrlTree=r.finalUrl,this.rawUrlTree=this.urlHandlingStrategy.merge(r.finalUrl,r.initialUrl),this.routerState=r.targetRouterState,this.urlUpdateStrategy==="deferred"&&!r.extras.skipLocationChange&&this.setBrowserUrl(r.targetBrowserUrl??this.rawUrlTree,r)):n instanceof Aa&&(n.code===mo.GuardRejected||n.code===mo.NoDataFromResolver)?this.restoreHistory(r):n instanceof mm?this.restoreHistory(r,!0):n instanceof od&&(this.lastSuccessfulId=n.id,this.currentPageId=this.browserPageId)}setBrowserUrl(n,r){let o=n instanceof Na?this.urlSerializer.serialize(n):n;if(this.location.isCurrentPathEqualTo(o)||r.extras.replaceUrl){let s=this.browserPageId,a=Z(Z({},r.extras.state),this.generateNgRouterState(r.id,s));this.location.replaceState(o,"",a)}else{let s=Z(Z({},r.extras.state),this.generateNgRouterState(r.id,this.browserPageId+1));this.location.go(o,"",s)}}restoreHistory(n,r=!1){if(this.canceledNavigationResolution==="computed"){let o=this.browserPageId,s=this.currentPageId-o;s!==0?this.location.historyGo(s):this.currentUrlTree===n.finalUrl&&s===0&&(this.resetState(n),this.resetUrlToCurrentUrlTree())}else this.canceledNavigationResolution==="replace"&&(r&&this.resetState(n),this.resetUrlToCurrentUrlTree())}resetState(n){this.routerState=this.stateMemento.routerState,this.currentUrlTree=this.stateMemento.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,n.finalUrl??this.rawUrlTree)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(n,r){return this.canceledNavigationResolution==="computed"?{navigationId:n,\u0275routerPageId:r}:{navigationId:n}}};e.\u0275fac=(()=>{let n;return function(o){return(n||(n=Li(e)))(o||e)}})(),e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})(),am=function(i){return i[i.COMPLETE=0]="COMPLETE",i[i.FAILED=1]="FAILED",i[i.REDIRECTING=2]="REDIRECTING",i}(am||{});function kX(i,e){i.events.pipe(qt(t=>t instanceof od||t instanceof Aa||t instanceof mm||t instanceof sd),Je(t=>t instanceof od||t instanceof sd?am.COMPLETE:(t instanceof Aa?t.code===mo.Redirect||t.code===mo.SupersededByNewNavigation:!1)?am.REDIRECTING:am.FAILED),qt(t=>t!==am.REDIRECTING),_n(1)).subscribe(()=>{e()})}function LX(i){throw i}var FX={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},BX={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"},_h=(()=>{let e=class e{get currentUrlTree(){return this.stateManager.getCurrentUrlTree()}get rawUrlTree(){return this.stateManager.getRawUrlTree()}get events(){return this._events}get routerState(){return this.stateManager.getRouterState()}constructor(){this.disposed=!1,this.console=te(nb),this.stateManager=te(uF),this.options=te(tI,{optional:!0})||{},this.pendingTasks=te(Zl),this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.navigationTransitions=te(PX),this.urlSerializer=te(Z1),this.location=te(Ra),this.urlHandlingStrategy=te(rI),this._events=new pe,this.errorHandler=this.options.errorHandler||LX,this.navigated=!1,this.routeReuseStrategy=te(RX),this.onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore",this.config=te(iI,{optional:!0})?.flat()??[],this.componentInputBindingEnabled=!!te(J1,{optional:!0}),this.eventsSubscription=new Ct,this.resetConfig(this.config),this.navigationTransitions.setupNavigations(this,this.currentUrlTree,this.routerState).subscribe({error:n=>{this.console.warn(n)}}),this.subscribeToNavigationEvents()}subscribeToNavigationEvents(){let n=this.navigationTransitions.events.subscribe(r=>{try{let o=this.navigationTransitions.currentTransition,s=this.navigationTransitions.currentNavigation;if(o!==null&&s!==null){if(this.stateManager.handleRouterEvent(r,s),r instanceof Aa&&r.code!==mo.Redirect&&r.code!==mo.SupersededByNewNavigation)this.navigated=!0;else if(r instanceof od)this.navigated=!0;else if(r instanceof fh){let a=r.navigationBehaviorOptions,c=this.urlHandlingStrategy.merge(r.url,o.currentRawUrl),l=Z({browserUrl:o.extras.browserUrl,info:o.extras.info,skipLocationChange:o.extras.skipLocationChange,replaceUrl:o.extras.replaceUrl||this.urlUpdateStrategy==="eager"||OX(o.source)},a);this.scheduleNavigation(c,lm,null,l,{resolve:o.resolve,reject:o.reject,promise:o.promise})}}zX(r)&&this._events.next(r)}catch(o){this.navigationTransitions.transitionAbortSubject.next(o)}});this.eventsSubscription.add(n)}resetRootComponentType(n){this.routerState.root.component=n,this.navigationTransitions.rootComponentType=n}initialNavigation(){this.setUpLocationChangeListener(),this.navigationTransitions.hasRequestedNavigation||this.navigateToSyncWithBrowser(this.location.path(!0),lm,this.stateManager.restoredState())}setUpLocationChangeListener(){this.nonRouterCurrentEntryChangeSubscription??=this.stateManager.registerNonRouterCurrentEntryChangeListener((n,r)=>{setTimeout(()=>{this.navigateToSyncWithBrowser(n,"popstate",r)},0)})}navigateToSyncWithBrowser(n,r,o){let s={replaceUrl:!0},a=o?.navigationId?o:null;if(o){let l=Z({},o);delete l.navigationId,delete l.\u0275routerPageId,Object.keys(l).length!==0&&(s.state=l)}let c=this.parseUrl(n);this.scheduleNavigation(c,r,a,s)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(n){this.config=n.map(nI),this.navigated=!1}ngOnDestroy(){this.dispose()}dispose(){this.navigationTransitions.complete(),this.nonRouterCurrentEntryChangeSubscription&&(this.nonRouterCurrentEntryChangeSubscription.unsubscribe(),this.nonRouterCurrentEntryChangeSubscription=void 0),this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(n,r={}){let{relativeTo:o,queryParams:s,fragment:a,queryParamsHandling:c,preserveFragment:l}=r,d=l?this.currentUrlTree.fragment:a,u=null;switch(c){case"merge":u=Z(Z({},this.currentUrlTree.queryParams),s);break;case"preserve":u=this.currentUrlTree.queryParams;break;default:u=s||null}u!==null&&(u=this.removeEmptyProps(u));let h;try{let p=o?o.snapshot:this.routerState.snapshot.root;h=XL(p)}catch{(typeof n[0]!="string"||n[0][0]!=="/")&&(n=[]),h=this.currentUrlTree.root}return ZL(h,n,u,d??null)}navigateByUrl(n,r={skipLocationChange:!1}){let o=hm(n)?n:this.parseUrl(n),s=this.urlHandlingStrategy.merge(o,this.rawUrlTree);return this.scheduleNavigation(s,lm,null,r)}navigate(n,r={skipLocationChange:!1}){return VX(n),this.navigateByUrl(this.createUrlTree(n,r),r)}serializeUrl(n){return this.urlSerializer.serialize(n)}parseUrl(n){try{return this.urlSerializer.parse(n)}catch{return this.urlSerializer.parse("/")}}isActive(n,r){let o;if(r===!0?o=Z({},FX):r===!1?o=Z({},BX):o=r,hm(n))return RL(this.currentUrlTree,n,o);let s=this.parseUrl(n);return RL(this.currentUrlTree,s,o)}removeEmptyProps(n){return Object.entries(n).reduce((r,[o,s])=>(s!=null&&(r[o]=s),r),{})}scheduleNavigation(n,r,o,s,a){if(this.disposed)return Promise.resolve(!1);let c,l,d;a?(c=a.resolve,l=a.reject,d=a.promise):d=new Promise((h,p)=>{c=h,l=p});let u=this.pendingTasks.add();return kX(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(u))}),this.navigationTransitions.handleNavigationRequest({source:r,restoredState:o,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:n,extras:s,resolve:c,reject:l,promise:d,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),d.catch(h=>Promise.reject(h))}};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();function VX(i){for(let e=0;et.\u0275providers)])}function HX(i){return i.routerState.root}function GX(){let i=te(vt);return e=>{let t=i.get(hs);if(e!==t.components[0])return;let n=i.get(_h),r=i.get(jX);i.get(WX)===1&&n.initialNavigation(),i.get($X,null,tn.Optional)?.setUpPreloading(),i.get(UX,null,tn.Optional)?.init(),n.resetRootComponentType(t.componentTypes[0]),r.closed||(r.next(),r.complete(),r.unsubscribe())}}var jX=new me("",{factory:()=>new pe}),WX=new me("",{providedIn:"root",factory:()=>1});var $X=new me("");var fF=(()=>{class i{static \u0275fac=function(n){return new(n||i)};static \u0275cmp=ce({type:i,selectors:[["app-root"]],standalone:!0,features:[le],decls:1,vars:0,template:function(n,r){n&1&&ee(0,"router-outlet")},dependencies:[Ae,K1]})}return i})();var zt=function(i){return i[i.State=0]="State",i[i.Transition=1]="Transition",i[i.Sequence=2]="Sequence",i[i.Group=3]="Group",i[i.Animate=4]="Animate",i[i.Keyframes=5]="Keyframes",i[i.Style=6]="Style",i[i.Trigger=7]="Trigger",i[i.Reference=8]="Reference",i[i.AnimateChild=9]="AnimateChild",i[i.AnimateRef=10]="AnimateRef",i[i.Query=11]="Query",i[i.Stagger=12]="Stagger",i}(zt||{}),Ws="*";function li(i,e){return{type:zt.Trigger,name:i,definitions:e,options:{}}}function Rn(i,e=null){return{type:zt.Animate,styles:e,timings:i}}function mF(i,e=null){return{type:zt.Group,steps:i,options:e}}function gF(i,e=null){return{type:zt.Sequence,steps:i,options:e}}function Kt(i){return{type:zt.Style,styles:i,offset:null}}function vi(i,e,t){return{type:zt.State,name:i,styles:e,options:t}}function An(i,e,t=null){return{type:zt.Transition,expr:i,animation:e,options:t}}function _F(i=null){return{type:zt.AnimateChild,options:i}}function vF(i,e,t=null){return{type:zt.Query,selector:i,animation:e,options:t}}var Fc=class{constructor(e=0,t=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._originalOnDoneFns=[],this._originalOnStartFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=e+t}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(e=>e()),this._onDoneFns=[])}onStart(e){this._originalOnStartFns.push(e),this._onStartFns.push(e)}onDone(e){this._originalOnDoneFns.push(e),this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){queueMicrotask(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(e=>e()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}reset(){this._started=!1,this._finished=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}setPosition(e){this._position=this.totalTime?e*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(e){let t=e=="start"?this._onStartFns:this._onDoneFns;t.forEach(n=>n()),t.length=0}},Sm=class{constructor(e){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=e;let t=0,n=0,r=0,o=this.players.length;o==0?queueMicrotask(()=>this._onFinish()):this.players.forEach(s=>{s.onDone(()=>{++t==o&&this._onFinish()}),s.onDestroy(()=>{++n==o&&this._onDestroy()}),s.onStart(()=>{++r==o&&this._onStart()})}),this.totalTime=this.players.reduce((s,a)=>Math.max(s,a.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(e=>e()),this._onDoneFns=[])}init(){this.players.forEach(e=>e.init())}onStart(e){this._onStartFns.push(e)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(e=>e()),this._onStartFns=[])}onDone(e){this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(e=>e.play())}pause(){this.players.forEach(e=>e.pause())}restart(){this.players.forEach(e=>e.restart())}finish(){this._onFinish(),this.players.forEach(e=>e.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(e=>e.destroy()),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}reset(){this.players.forEach(e=>e.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(e){let t=e*this.totalTime;this.players.forEach(n=>{let r=n.totalTime?Math.min(1,t/n.totalTime):1;n.setPosition(r)})}getPosition(){let e=this.players.reduce((t,n)=>t===null||n.totalTime>t.totalTime?n:t,null);return e!=null?e.getPosition():0}beforeDestroy(){this.players.forEach(e=>{e.beforeDestroy&&e.beforeDestroy()})}triggerCallback(e){let t=e=="start"?this._onStartFns:this._onDoneFns;t.forEach(n=>n()),t.length=0}},Db="!";function bF(i){return new Oe(3e3,!1)}function qX(){return new Oe(3100,!1)}function YX(){return new Oe(3101,!1)}function XX(i){return new Oe(3001,!1)}function ZX(i){return new Oe(3003,!1)}function QX(i){return new Oe(3004,!1)}function KX(i,e){return new Oe(3005,!1)}function JX(){return new Oe(3006,!1)}function eZ(){return new Oe(3007,!1)}function tZ(i,e){return new Oe(3008,!1)}function nZ(i){return new Oe(3002,!1)}function iZ(i,e,t,n,r){return new Oe(3010,!1)}function rZ(){return new Oe(3011,!1)}function oZ(){return new Oe(3012,!1)}function sZ(){return new Oe(3200,!1)}function aZ(){return new Oe(3202,!1)}function cZ(){return new Oe(3013,!1)}function lZ(i){return new Oe(3014,!1)}function dZ(i){return new Oe(3015,!1)}function uZ(i){return new Oe(3016,!1)}function hZ(i,e){return new Oe(3404,!1)}function pZ(i){return new Oe(3502,!1)}function fZ(i){return new Oe(3503,!1)}function mZ(){return new Oe(3300,!1)}function gZ(i){return new Oe(3504,!1)}function _Z(i){return new Oe(3301,!1)}function vZ(i,e){return new Oe(3302,!1)}function bZ(i){return new Oe(3303,!1)}function yZ(i,e){return new Oe(3400,!1)}function xZ(i){return new Oe(3401,!1)}function wZ(i){return new Oe(3402,!1)}function CZ(i,e){return new Oe(3505,!1)}function Bc(i){switch(i.length){case 0:return new Fc;case 1:return i[0];default:return new Sm(i)}}function AF(i,e,t=new Map,n=new Map){let r=[],o=[],s=-1,a=null;if(e.forEach(c=>{let l=c.get("offset"),d=l==s,u=d&&a||new Map;c.forEach((h,p)=>{let f=p,m=h;if(p!=="offset")switch(f=i.normalizePropertyName(f,r),m){case Db:m=t.get(p);break;case Ws:m=n.get(p);break;default:m=i.normalizeStyleValue(p,f,m,r);break}u.set(f,m)}),d||o.push(u),a=u,s=l}),r.length)throw pZ(r);return o}function II(i,e,t,n){switch(e){case"start":i.onStart(()=>n(t&&oI(t,"start",i)));break;case"done":i.onDone(()=>n(t&&oI(t,"done",i)));break;case"destroy":i.onDestroy(()=>n(t&&oI(t,"destroy",i)));break}}function oI(i,e,t){let n=t.totalTime,r=!!t.disabled,o=TI(i.element,i.triggerName,i.fromState,i.toState,e||i.phaseName,n??i.totalTime,r),s=i._data;return s!=null&&(o._data=s),o}function TI(i,e,t,n,r="",o=0,s){return{element:i,triggerName:e,fromState:t,toState:n,phaseName:r,totalTime:o,disabled:!!s}}function _o(i,e,t){let n=i.get(e);return n||i.set(e,n=t),n}function yF(i){let e=i.indexOf(":"),t=i.substring(1,e),n=i.slice(e+1);return[t,n]}var SZ=typeof document>"u"?null:document.documentElement;function DI(i){let e=i.parentNode||i.host||null;return e===SZ?null:e}function MZ(i){return i.substring(1,6)=="ebkit"}var ad=null,xF=!1;function EZ(i){ad||(ad=IZ()||{},xF=ad.style?"WebkitAppearance"in ad.style:!1);let e=!0;return ad.style&&!MZ(i)&&(e=i in ad.style,!e&&xF&&(e="Webkit"+i.charAt(0).toUpperCase()+i.slice(1)in ad.style)),e}function IZ(){return typeof document<"u"?document.body:null}function NF(i,e){for(;e;){if(e===i)return!0;e=DI(e)}return!1}function kF(i,e,t){if(t)return Array.from(i.querySelectorAll(e));let n=i.querySelector(e);return n?[n]:[]}var PI=(()=>{let e=class e{validateStyleProperty(n){return EZ(n)}containsElement(n,r){return NF(n,r)}getParentElement(n){return DI(n)}query(n,r,o){return kF(n,r,o)}computeStyle(n,r,o){return o||""}animate(n,r,o,s,a,c=[],l){return new Fc(o,s)}};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:e.\u0275fac});let i=e;return i})(),NI=class NI{};NI.NOOP=new PI;var dd=NI,ud=class{};var TZ=1e3,LF="{{",DZ="}}",FF="ng-enter",uI="ng-leave",Pb="ng-trigger",kb=".ng-trigger",wF="ng-animating",hI=".ng-animating";function ka(i){if(typeof i=="number")return i;let e=i.match(/^(-?[\.\d]+)(m?s)/);return!e||e.length<2?0:pI(parseFloat(e[1]),e[2])}function pI(i,e){switch(e){case"s":return i*TZ;default:return i}}function Lb(i,e,t){return i.hasOwnProperty("duration")?i:PZ(i,e,t)}function PZ(i,e,t){let n=/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i,r,o=0,s="";if(typeof i=="string"){let a=i.match(n);if(a===null)return e.push(bF(i)),{duration:0,delay:0,easing:""};r=pI(parseFloat(a[1]),a[2]);let c=a[3];c!=null&&(o=pI(parseFloat(c),a[4]));let l=a[5];l&&(s=l)}else r=i;if(!t){let a=!1,c=e.length;r<0&&(e.push(qX()),a=!0),o<0&&(e.push(YX()),a=!0),a&&e.splice(c,0,bF(i))}return{duration:r,delay:o,easing:s}}function OZ(i){return i.length?i[0]instanceof Map?i:i.map(e=>new Map(Object.entries(e))):[]}function $s(i,e,t){e.forEach((n,r)=>{let o=OI(r);t&&!t.has(r)&&t.set(r,i.style[o]),i.style[o]=n})}function ld(i,e){e.forEach((t,n)=>{let r=OI(n);i.style[r]=""})}function Mm(i){return Array.isArray(i)?i.length==1?i[0]:gF(i):i}function RZ(i,e,t){let n=e.params||{},r=BF(i);r.length&&r.forEach(o=>{n.hasOwnProperty(o)||t.push(XX(o))})}var fI=new RegExp(`${LF}\\s*(.+?)\\s*${DZ}`,"g");function BF(i){let e=[];if(typeof i=="string"){let t;for(;t=fI.exec(i);)e.push(t[1]);fI.lastIndex=0}return e}function Im(i,e,t){let n=`${i}`,r=n.replace(fI,(o,s)=>{let a=e[s];return a==null&&(t.push(ZX(s)),a=""),a.toString()});return r==n?i:r}var AZ=/-+([a-z0-9])/g;function OI(i){return i.replace(AZ,(...e)=>e[1].toUpperCase())}function NZ(i,e){return i===0||e===0}function kZ(i,e,t){if(t.size&&e.length){let n=e[0],r=[];if(t.forEach((o,s)=>{n.has(s)||r.push(s),n.set(s,o)}),r.length)for(let o=1;os.set(a,RI(i,a)))}}return e}function go(i,e,t){switch(e.type){case zt.Trigger:return i.visitTrigger(e,t);case zt.State:return i.visitState(e,t);case zt.Transition:return i.visitTransition(e,t);case zt.Sequence:return i.visitSequence(e,t);case zt.Group:return i.visitGroup(e,t);case zt.Animate:return i.visitAnimate(e,t);case zt.Keyframes:return i.visitKeyframes(e,t);case zt.Style:return i.visitStyle(e,t);case zt.Reference:return i.visitReference(e,t);case zt.AnimateChild:return i.visitAnimateChild(e,t);case zt.AnimateRef:return i.visitAnimateRef(e,t);case zt.Query:return i.visitQuery(e,t);case zt.Stagger:return i.visitStagger(e,t);default:throw QX(e.type)}}function RI(i,e){return window.getComputedStyle(i)[e]}var LZ=new Set(["width","height","minWidth","minHeight","maxWidth","maxHeight","left","top","bottom","right","fontSize","outlineWidth","outlineOffset","paddingTop","paddingLeft","paddingBottom","paddingRight","marginTop","marginLeft","marginBottom","marginRight","borderRadius","borderWidth","borderTopWidth","borderLeftWidth","borderRightWidth","borderBottomWidth","textIndent","perspective"]),Fb=class extends ud{normalizePropertyName(e,t){return OI(e)}normalizeStyleValue(e,t,n,r){let o="",s=n.toString().trim();if(LZ.has(t)&&n!==0&&n!=="0")if(typeof n=="number")o="px";else{let a=n.match(/^[+-]?[\d\.]+([a-z]*)$/);a&&a[1].length==0&&r.push(KX(e,n))}return s+o}};var Bb="*";function FZ(i,e){let t=[];return typeof i=="string"?i.split(/\s*,\s*/).forEach(n=>BZ(n,t,e)):t.push(i),t}function BZ(i,e,t){if(i[0]==":"){let c=VZ(i,t);if(typeof c=="function"){e.push(c);return}i=c}let n=i.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(n==null||n.length<4)return t.push(dZ(i)),e;let r=n[1],o=n[2],s=n[3];e.push(CF(r,s));let a=r==Bb&&s==Bb;o[0]=="<"&&!a&&e.push(CF(s,r))}function VZ(i,e){switch(i){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(t,n)=>parseFloat(n)>parseFloat(t);case":decrement":return(t,n)=>parseFloat(n) *"}}var Ob=new Set(["true","1"]),Rb=new Set(["false","0"]);function CF(i,e){let t=Ob.has(i)||Rb.has(i),n=Ob.has(e)||Rb.has(e);return(r,o)=>{let s=i==Bb||i==r,a=e==Bb||e==o;return!s&&t&&typeof r=="boolean"&&(s=r?Ob.has(i):Rb.has(i)),!a&&n&&typeof o=="boolean"&&(a=o?Ob.has(e):Rb.has(e)),s&&a}}var VF=":self",zZ=new RegExp(`s*${VF}s*,?`,"g");function zF(i,e,t,n){return new mI(i).build(e,t,n)}var SF="",mI=class{constructor(e){this._driver=e}build(e,t,n){let r=new gI(t);return this._resetContextStyleTimingState(r),go(this,Mm(e),r)}_resetContextStyleTimingState(e){e.currentQuerySelector=SF,e.collectedStyles=new Map,e.collectedStyles.set(SF,new Map),e.currentTime=0}visitTrigger(e,t){let n=t.queryCount=0,r=t.depCount=0,o=[],s=[];return e.name.charAt(0)=="@"&&t.errors.push(JX()),e.definitions.forEach(a=>{if(this._resetContextStyleTimingState(t),a.type==zt.State){let c=a,l=c.name;l.toString().split(/\s*,\s*/).forEach(d=>{c.name=d,o.push(this.visitState(c,t))}),c.name=l}else if(a.type==zt.Transition){let c=this.visitTransition(a,t);n+=c.queryCount,r+=c.depCount,s.push(c)}else t.errors.push(eZ())}),{type:zt.Trigger,name:e.name,states:o,transitions:s,queryCount:n,depCount:r,options:null}}visitState(e,t){let n=this.visitStyle(e.styles,t),r=e.options&&e.options.params||null;if(n.containsDynamicStyles){let o=new Set,s=r||{};n.styles.forEach(a=>{a instanceof Map&&a.forEach(c=>{BF(c).forEach(l=>{s.hasOwnProperty(l)||o.add(l)})})}),o.size&&t.errors.push(tZ(e.name,[...o.values()]))}return{type:zt.State,name:e.name,style:n,options:r?{params:r}:null}}visitTransition(e,t){t.queryCount=0,t.depCount=0;let n=go(this,Mm(e.animation),t),r=FZ(e.expr,t.errors);return{type:zt.Transition,matchers:r,animation:n,queryCount:t.queryCount,depCount:t.depCount,options:cd(e.options)}}visitSequence(e,t){return{type:zt.Sequence,steps:e.steps.map(n=>go(this,n,t)),options:cd(e.options)}}visitGroup(e,t){let n=t.currentTime,r=0,o=e.steps.map(s=>{t.currentTime=n;let a=go(this,s,t);return r=Math.max(r,t.currentTime),a});return t.currentTime=r,{type:zt.Group,steps:o,options:cd(e.options)}}visitAnimate(e,t){let n=jZ(e.timings,t.errors);t.currentAnimateTimings=n;let r,o=e.styles?e.styles:Kt({});if(o.type==zt.Keyframes)r=this.visitKeyframes(o,t);else{let s=e.styles,a=!1;if(!s){a=!0;let l={};n.easing&&(l.easing=n.easing),s=Kt(l)}t.currentTime+=n.duration+n.delay;let c=this.visitStyle(s,t);c.isEmptyStep=a,r=c}return t.currentAnimateTimings=null,{type:zt.Animate,timings:n,style:r,options:null}}visitStyle(e,t){let n=this._makeStyleAst(e,t);return this._validateStyleAst(n,t),n}_makeStyleAst(e,t){let n=[],r=Array.isArray(e.styles)?e.styles:[e.styles];for(let a of r)typeof a=="string"?a===Ws?n.push(a):t.errors.push(nZ(a)):n.push(new Map(Object.entries(a)));let o=!1,s=null;return n.forEach(a=>{if(a instanceof Map&&(a.has("easing")&&(s=a.get("easing"),a.delete("easing")),!o)){for(let c of a.values())if(c.toString().indexOf(LF)>=0){o=!0;break}}}),{type:zt.Style,styles:n,easing:s,offset:e.offset,containsDynamicStyles:o,options:null}}_validateStyleAst(e,t){let n=t.currentAnimateTimings,r=t.currentTime,o=t.currentTime;n&&o>0&&(o-=n.duration+n.delay),e.styles.forEach(s=>{typeof s!="string"&&s.forEach((a,c)=>{let l=t.collectedStyles.get(t.currentQuerySelector),d=l.get(c),u=!0;d&&(o!=r&&o>=d.startTime&&r<=d.endTime&&(t.errors.push(iZ(c,d.startTime,d.endTime,o,r)),u=!1),o=d.startTime),u&&l.set(c,{startTime:o,endTime:r}),t.options&&RZ(a,t.options,t.errors)})})}visitKeyframes(e,t){let n={type:zt.Keyframes,styles:[],options:null};if(!t.currentAnimateTimings)return t.errors.push(rZ()),n;let r=1,o=0,s=[],a=!1,c=!1,l=0,d=e.steps.map(g=>{let _=this._makeStyleAst(g,t),x=_.offset!=null?_.offset:GZ(_.styles),C=0;return x!=null&&(o++,C=_.offset=x),c=c||C<0||C>1,a=a||C0&&o{let x=h>0?_==p?1:h*_:s[_],C=x*y;t.currentTime=f+m.delay+C,m.duration=C,this._validateStyleAst(g,t),g.offset=x,n.styles.push(g)}),n}visitReference(e,t){return{type:zt.Reference,animation:go(this,Mm(e.animation),t),options:cd(e.options)}}visitAnimateChild(e,t){return t.depCount++,{type:zt.AnimateChild,options:cd(e.options)}}visitAnimateRef(e,t){return{type:zt.AnimateRef,animation:this.visitReference(e.animation,t),options:cd(e.options)}}visitQuery(e,t){let n=t.currentQuerySelector,r=e.options||{};t.queryCount++,t.currentQuery=e;let[o,s]=UZ(e.selector);t.currentQuerySelector=n.length?n+" "+o:o,_o(t.collectedStyles,t.currentQuerySelector,new Map);let a=go(this,Mm(e.animation),t);return t.currentQuery=null,t.currentQuerySelector=n,{type:zt.Query,selector:o,limit:r.limit||0,optional:!!r.optional,includeSelf:s,animation:a,originalSelector:e.selector,options:cd(e.options)}}visitStagger(e,t){t.currentQuery||t.errors.push(cZ());let n=e.timings==="full"?{duration:0,delay:0,easing:"full"}:Lb(e.timings,t.errors,!0);return{type:zt.Stagger,animation:go(this,Mm(e.animation),t),timings:n,options:null}}};function UZ(i){let e=!!i.split(/\s*,\s*/).find(t=>t==VF);return e&&(i=i.replace(zZ,"")),i=i.replace(/@\*/g,kb).replace(/@\w+/g,t=>kb+"-"+t.slice(1)).replace(/:animating/g,hI),[i,e]}function HZ(i){return i?Z({},i):null}var gI=class{constructor(e){this.errors=e,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles=new Map,this.options=null,this.unsupportedCSSPropertiesFound=new Set}};function GZ(i){if(typeof i=="string")return null;let e=null;if(Array.isArray(i))i.forEach(t=>{if(t instanceof Map&&t.has("offset")){let n=t;e=parseFloat(n.get("offset")),n.delete("offset")}});else if(i instanceof Map&&i.has("offset")){let t=i;e=parseFloat(t.get("offset")),t.delete("offset")}return e}function jZ(i,e){if(i.hasOwnProperty("duration"))return i;if(typeof i=="number"){let o=Lb(i,e).duration;return sI(o,0,"")}let t=i;if(t.split(/\s+/).some(o=>o.charAt(0)=="{"&&o.charAt(1)=="{")){let o=sI(0,0,"");return o.dynamic=!0,o.strValue=t,o}let r=Lb(t,e);return sI(r.duration,r.delay,r.easing)}function cd(i){return i?(i=Z({},i),i.params&&(i.params=HZ(i.params))):i={},i}function sI(i,e,t){return{duration:i,delay:e,easing:t}}function AI(i,e,t,n,r,o,s=null,a=!1){return{type:1,element:i,keyframes:e,preStyleProps:t,postStyleProps:n,duration:r,delay:o,totalTime:r+o,easing:s,subTimeline:a}}var Tm=class{constructor(){this._map=new Map}get(e){return this._map.get(e)||[]}append(e,t){let n=this._map.get(e);n||this._map.set(e,n=[]),n.push(...t)}has(e){return this._map.has(e)}clear(){this._map.clear()}},WZ=1,$Z=":enter",qZ=new RegExp($Z,"g"),YZ=":leave",XZ=new RegExp(YZ,"g");function UF(i,e,t,n,r,o=new Map,s=new Map,a,c,l=[]){return new _I().buildKeyframes(i,e,t,n,r,o,s,a,c,l)}var _I=class{buildKeyframes(e,t,n,r,o,s,a,c,l,d=[]){l=l||new Tm;let u=new vI(e,t,l,r,o,d,[]);u.options=c;let h=c.delay?ka(c.delay):0;u.currentTimeline.delayNextStep(h),u.currentTimeline.setStyles([s],null,u.errors,c),go(this,n,u);let p=u.timelines.filter(f=>f.containsAnimation());if(p.length&&a.size){let f;for(let m=p.length-1;m>=0;m--){let y=p[m];if(y.element===t){f=y;break}}f&&!f.allowOnlyTimelineStyles()&&f.setStyles([a],null,u.errors,c)}return p.length?p.map(f=>f.buildKeyframes()):[AI(t,[],[],[],0,h,"",!1)]}visitTrigger(e,t){}visitState(e,t){}visitTransition(e,t){}visitAnimateChild(e,t){let n=t.subInstructions.get(t.element);if(n){let r=t.createSubContext(e.options),o=t.currentTimeline.currentTime,s=this._visitSubInstructions(n,r,r.options);o!=s&&t.transformIntoNewTimeline(s)}t.previousNode=e}visitAnimateRef(e,t){let n=t.createSubContext(e.options);n.transformIntoNewTimeline(),this._applyAnimationRefDelays([e.options,e.animation.options],t,n),this.visitReference(e.animation,n),t.transformIntoNewTimeline(n.currentTimeline.currentTime),t.previousNode=e}_applyAnimationRefDelays(e,t,n){for(let r of e){let o=r?.delay;if(o){let s=typeof o=="number"?o:ka(Im(o,r?.params??{},t.errors));n.delayNextStep(s)}}}_visitSubInstructions(e,t,n){let o=t.currentTimeline.currentTime,s=n.duration!=null?ka(n.duration):null,a=n.delay!=null?ka(n.delay):null;return s!==0&&e.forEach(c=>{let l=t.appendInstructionToTimeline(c,s,a);o=Math.max(o,l.duration+l.delay)}),o}visitReference(e,t){t.updateOptions(e.options,!0),go(this,e.animation,t),t.previousNode=e}visitSequence(e,t){let n=t.subContextCount,r=t,o=e.options;if(o&&(o.params||o.delay)&&(r=t.createSubContext(o),r.transformIntoNewTimeline(),o.delay!=null)){r.previousNode.type==zt.Style&&(r.currentTimeline.snapshotCurrentStyles(),r.previousNode=Vb);let s=ka(o.delay);r.delayNextStep(s)}e.steps.length&&(e.steps.forEach(s=>go(this,s,r)),r.currentTimeline.applyStylesToKeyframe(),r.subContextCount>n&&r.transformIntoNewTimeline()),t.previousNode=e}visitGroup(e,t){let n=[],r=t.currentTimeline.currentTime,o=e.options&&e.options.delay?ka(e.options.delay):0;e.steps.forEach(s=>{let a=t.createSubContext(e.options);o&&a.delayNextStep(o),go(this,s,a),r=Math.max(r,a.currentTimeline.currentTime),n.push(a.currentTimeline)}),n.forEach(s=>t.currentTimeline.mergeTimelineCollectedStyles(s)),t.transformIntoNewTimeline(r),t.previousNode=e}_visitTiming(e,t){if(e.dynamic){let n=e.strValue,r=t.params?Im(n,t.params,t.errors):n;return Lb(r,t.errors)}else return{duration:e.duration,delay:e.delay,easing:e.easing}}visitAnimate(e,t){let n=t.currentAnimateTimings=this._visitTiming(e.timings,t),r=t.currentTimeline;n.delay&&(t.incrementTime(n.delay),r.snapshotCurrentStyles());let o=e.style;o.type==zt.Keyframes?this.visitKeyframes(o,t):(t.incrementTime(n.duration),this.visitStyle(o,t),r.applyStylesToKeyframe()),t.currentAnimateTimings=null,t.previousNode=e}visitStyle(e,t){let n=t.currentTimeline,r=t.currentAnimateTimings;!r&&n.hasCurrentStyleProperties()&&n.forwardFrame();let o=r&&r.easing||e.easing;e.isEmptyStep?n.applyEmptyStep(o):n.setStyles(e.styles,o,t.errors,t.options),t.previousNode=e}visitKeyframes(e,t){let n=t.currentAnimateTimings,r=t.currentTimeline.duration,o=n.duration,a=t.createSubContext().currentTimeline;a.easing=n.easing,e.styles.forEach(c=>{let l=c.offset||0;a.forwardTime(l*o),a.setStyles(c.styles,c.easing,t.errors,t.options),a.applyStylesToKeyframe()}),t.currentTimeline.mergeTimelineCollectedStyles(a),t.transformIntoNewTimeline(r+o),t.previousNode=e}visitQuery(e,t){let n=t.currentTimeline.currentTime,r=e.options||{},o=r.delay?ka(r.delay):0;o&&(t.previousNode.type===zt.Style||n==0&&t.currentTimeline.hasCurrentStyleProperties())&&(t.currentTimeline.snapshotCurrentStyles(),t.previousNode=Vb);let s=n,a=t.invokeQuery(e.selector,e.originalSelector,e.limit,e.includeSelf,!!r.optional,t.errors);t.currentQueryTotal=a.length;let c=null;a.forEach((l,d)=>{t.currentQueryIndex=d;let u=t.createSubContext(e.options,l);o&&u.delayNextStep(o),l===t.element&&(c=u.currentTimeline),go(this,e.animation,u),u.currentTimeline.applyStylesToKeyframe();let h=u.currentTimeline.currentTime;s=Math.max(s,h)}),t.currentQueryIndex=0,t.currentQueryTotal=0,t.transformIntoNewTimeline(s),c&&(t.currentTimeline.mergeTimelineCollectedStyles(c),t.currentTimeline.snapshotCurrentStyles()),t.previousNode=e}visitStagger(e,t){let n=t.parentContext,r=t.currentTimeline,o=e.timings,s=Math.abs(o.duration),a=s*(t.currentQueryTotal-1),c=s*t.currentQueryIndex;switch(o.duration<0?"reverse":o.easing){case"reverse":c=a-c;break;case"full":c=n.currentStaggerTime;break}let d=t.currentTimeline;c&&d.delayNextStep(c);let u=d.currentTime;go(this,e.animation,t),t.previousNode=e,n.currentStaggerTime=r.currentTime-u+(r.startTime-n.currentTimeline.startTime)}},Vb={},vI=class i{constructor(e,t,n,r,o,s,a,c){this._driver=e,this.element=t,this.subInstructions=n,this._enterClassName=r,this._leaveClassName=o,this.errors=s,this.timelines=a,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=Vb,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=c||new zb(this._driver,t,0),a.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(e,t){if(!e)return;let n=e,r=this.options;n.duration!=null&&(r.duration=ka(n.duration)),n.delay!=null&&(r.delay=ka(n.delay));let o=n.params;if(o){let s=r.params;s||(s=this.options.params={}),Object.keys(o).forEach(a=>{(!t||!s.hasOwnProperty(a))&&(s[a]=Im(o[a],s,this.errors))})}}_copyOptions(){let e={};if(this.options){let t=this.options.params;if(t){let n=e.params={};Object.keys(t).forEach(r=>{n[r]=t[r]})}}return e}createSubContext(e=null,t,n){let r=t||this.element,o=new i(this._driver,r,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(r,n||0));return o.previousNode=this.previousNode,o.currentAnimateTimings=this.currentAnimateTimings,o.options=this._copyOptions(),o.updateOptions(e),o.currentQueryIndex=this.currentQueryIndex,o.currentQueryTotal=this.currentQueryTotal,o.parentContext=this,this.subContextCount++,o}transformIntoNewTimeline(e){return this.previousNode=Vb,this.currentTimeline=this.currentTimeline.fork(this.element,e),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(e,t,n){let r={duration:t??e.duration,delay:this.currentTimeline.currentTime+(n??0)+e.delay,easing:""},o=new bI(this._driver,e.element,e.keyframes,e.preStyleProps,e.postStyleProps,r,e.stretchStartingKeyframe);return this.timelines.push(o),r}incrementTime(e){this.currentTimeline.forwardTime(this.currentTimeline.duration+e)}delayNextStep(e){e>0&&this.currentTimeline.delayNextStep(e)}invokeQuery(e,t,n,r,o,s){let a=[];if(r&&a.push(this.element),e.length>0){e=e.replace(qZ,"."+this._enterClassName),e=e.replace(XZ,"."+this._leaveClassName);let c=n!=1,l=this._driver.query(this.element,e,c);n!==0&&(l=n<0?l.slice(l.length+n,l.length):l.slice(0,n)),a.push(...l)}return!o&&a.length==0&&s.push(lZ(t)),a}},zb=class i{constructor(e,t,n,r){this._driver=e,this.element=t,this.startTime=n,this._elementTimelineStylesLookup=r,this.duration=0,this.easing=null,this._previousKeyframe=new Map,this._currentKeyframe=new Map,this._keyframes=new Map,this._styleSummary=new Map,this._localTimelineStyles=new Map,this._pendingStyles=new Map,this._backFill=new Map,this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(t),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(t,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.hasCurrentStyleProperties();default:return!0}}hasCurrentStyleProperties(){return this._currentKeyframe.size>0}get currentTime(){return this.startTime+this.duration}delayNextStep(e){let t=this._keyframes.size===1&&this._pendingStyles.size;this.duration||t?(this.forwardTime(this.currentTime+e),t&&this.snapshotCurrentStyles()):this.startTime+=e}fork(e,t){return this.applyStylesToKeyframe(),new i(this._driver,e,t||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=new Map,this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=WZ,this._loadKeyframe()}forwardTime(e){this.applyStylesToKeyframe(),this.duration=e,this._loadKeyframe()}_updateStyle(e,t){this._localTimelineStyles.set(e,t),this._globalTimelineStyles.set(e,t),this._styleSummary.set(e,{time:this.currentTime,value:t})}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(e){e&&this._previousKeyframe.set("easing",e);for(let[t,n]of this._globalTimelineStyles)this._backFill.set(t,n||Ws),this._currentKeyframe.set(t,Ws);this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(e,t,n,r){t&&this._previousKeyframe.set("easing",t);let o=r&&r.params||{},s=ZZ(e,this._globalTimelineStyles);for(let[a,c]of s){let l=Im(c,o,n);this._pendingStyles.set(a,l),this._localTimelineStyles.has(a)||this._backFill.set(a,this._globalTimelineStyles.get(a)??Ws),this._updateStyle(a,l)}}applyStylesToKeyframe(){this._pendingStyles.size!=0&&(this._pendingStyles.forEach((e,t)=>{this._currentKeyframe.set(t,e)}),this._pendingStyles.clear(),this._localTimelineStyles.forEach((e,t)=>{this._currentKeyframe.has(t)||this._currentKeyframe.set(t,e)}))}snapshotCurrentStyles(){for(let[e,t]of this._localTimelineStyles)this._pendingStyles.set(e,t),this._updateStyle(e,t)}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){let e=[];for(let t in this._currentKeyframe)e.push(t);return e}mergeTimelineCollectedStyles(e){e._styleSummary.forEach((t,n)=>{let r=this._styleSummary.get(n);(!r||t.time>r.time)&&this._updateStyle(n,t.value)})}buildKeyframes(){this.applyStylesToKeyframe();let e=new Set,t=new Set,n=this._keyframes.size===1&&this.duration===0,r=[];this._keyframes.forEach((a,c)=>{let l=new Map([...this._backFill,...a]);l.forEach((d,u)=>{d===Db?e.add(u):d===Ws&&t.add(u)}),n||l.set("offset",c/this.duration),r.push(l)});let o=[...e.values()],s=[...t.values()];if(n){let a=r[0],c=new Map(a);a.set("offset",0),c.set("offset",1),r=[a,c]}return AI(this.element,r,o,s,this.duration,this.startTime,this.easing,!1)}},bI=class extends zb{constructor(e,t,n,r,o,s,a=!1){super(e,t,s.delay),this.keyframes=n,this.preStyleProps=r,this.postStyleProps=o,this._stretchStartingKeyframe=a,this.timings={duration:s.duration,delay:s.delay,easing:s.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let e=this.keyframes,{delay:t,duration:n,easing:r}=this.timings;if(this._stretchStartingKeyframe&&t){let o=[],s=n+t,a=t/s,c=new Map(e[0]);c.set("offset",0),o.push(c);let l=new Map(e[0]);l.set("offset",MF(a)),o.push(l);let d=e.length-1;for(let u=1;u<=d;u++){let h=new Map(e[u]),p=h.get("offset"),f=t+p*n;h.set("offset",MF(f/s)),o.push(h)}n=s,t=0,r="",e=o}return AI(this.element,e,this.preStyleProps,this.postStyleProps,n,t,r,!0)}};function MF(i,e=3){let t=Math.pow(10,e-1);return Math.round(i*t)/t}function ZZ(i,e){let t=new Map,n;return i.forEach(r=>{if(r==="*"){n??=e.keys();for(let o of n)t.set(o,Ws)}else for(let[o,s]of r)t.set(o,s)}),t}function EF(i,e,t,n,r,o,s,a,c,l,d,u,h){return{type:0,element:i,triggerName:e,isRemovalTransition:r,fromState:t,fromStyles:o,toState:n,toStyles:s,timelines:a,queriedElements:c,preStyleProps:l,postStyleProps:d,totalTime:u,errors:h}}var aI={},Ub=class{constructor(e,t,n){this._triggerName=e,this.ast=t,this._stateStyles=n}match(e,t,n,r){return QZ(this.ast.matchers,e,t,n,r)}buildStyles(e,t,n){let r=this._stateStyles.get("*");return e!==void 0&&(r=this._stateStyles.get(e?.toString())||r),r?r.buildStyles(t,n):new Map}build(e,t,n,r,o,s,a,c,l,d){let u=[],h=this.ast.options&&this.ast.options.params||aI,p=a&&a.params||aI,f=this.buildStyles(n,p,u),m=c&&c.params||aI,y=this.buildStyles(r,m,u),g=new Set,_=new Map,x=new Map,C=r==="void",T={params:HF(m,h),delay:this.ast.options?.delay},D=d?[]:UF(e,t,this.ast.animation,o,s,f,y,T,l,u),E=0;return D.forEach(A=>{E=Math.max(A.duration+A.delay,E)}),u.length?EF(t,this._triggerName,n,r,C,f,y,[],[],_,x,E,u):(D.forEach(A=>{let j=A.element,q=_o(_,j,new Set);A.preStyleProps.forEach(P=>q.add(P));let z=_o(x,j,new Set);A.postStyleProps.forEach(P=>z.add(P)),j!==t&&g.add(j)}),EF(t,this._triggerName,n,r,C,f,y,D,[...g.values()],_,x,E))}};function QZ(i,e,t,n,r){return i.some(o=>o(e,t,n,r))}function HF(i,e){let t=Z({},e);return Object.entries(i).forEach(([n,r])=>{r!=null&&(t[n]=r)}),t}var yI=class{constructor(e,t,n){this.styles=e,this.defaultParams=t,this.normalizer=n}buildStyles(e,t){let n=new Map,r=HF(e,this.defaultParams);return this.styles.styles.forEach(o=>{typeof o!="string"&&o.forEach((s,a)=>{s&&(s=Im(s,r,t));let c=this.normalizer.normalizePropertyName(a,t);s=this.normalizer.normalizeStyleValue(a,c,s,t),n.set(a,s)})}),n}};function KZ(i,e,t){return new xI(i,e,t)}var xI=class{constructor(e,t,n){this.name=e,this.ast=t,this._normalizer=n,this.transitionFactories=[],this.states=new Map,t.states.forEach(r=>{let o=r.options&&r.options.params||{};this.states.set(r.name,new yI(r.style,o,n))}),IF(this.states,"true","1"),IF(this.states,"false","0"),t.transitions.forEach(r=>{this.transitionFactories.push(new Ub(e,r,this.states))}),this.fallbackTransition=JZ(e,this.states,this._normalizer)}get containsQueries(){return this.ast.queryCount>0}matchTransition(e,t,n,r){return this.transitionFactories.find(s=>s.match(e,t,n,r))||null}matchStyles(e,t,n){return this.fallbackTransition.buildStyles(e,t,n)}};function JZ(i,e,t){let n=[(s,a)=>!0],r={type:zt.Sequence,steps:[],options:null},o={type:zt.Transition,animation:r,matchers:n,options:null,queryCount:0,depCount:0};return new Ub(i,o,e)}function IF(i,e,t){i.has(e)?i.has(t)||i.set(t,i.get(e)):i.has(t)&&i.set(e,i.get(t))}var eQ=new Tm,wI=class{constructor(e,t,n){this.bodyNode=e,this._driver=t,this._normalizer=n,this._animations=new Map,this._playersById=new Map,this.players=[]}register(e,t){let n=[],r=[],o=zF(this._driver,t,n,r);if(n.length)throw fZ(n);r.length&&void 0,this._animations.set(e,o)}_buildPlayer(e,t,n){let r=e.element,o=AF(this._normalizer,e.keyframes,t,n);return this._driver.animate(r,o,e.duration,e.delay,e.easing,[],!0)}create(e,t,n={}){let r=[],o=this._animations.get(e),s,a=new Map;if(o?(s=UF(this._driver,t,o,FF,uI,new Map,new Map,n,eQ,r),s.forEach(d=>{let u=_o(a,d.element,new Map);d.postStyleProps.forEach(h=>u.set(h,null))})):(r.push(mZ()),s=[]),r.length)throw gZ(r);a.forEach((d,u)=>{d.forEach((h,p)=>{d.set(p,this._driver.computeStyle(u,p,Ws))})});let c=s.map(d=>{let u=a.get(d.element);return this._buildPlayer(d,new Map,u)}),l=Bc(c);return this._playersById.set(e,l),l.onDestroy(()=>this.destroy(e)),this.players.push(l),l}destroy(e){let t=this._getPlayer(e);t.destroy(),this._playersById.delete(e);let n=this.players.indexOf(t);n>=0&&this.players.splice(n,1)}_getPlayer(e){let t=this._playersById.get(e);if(!t)throw _Z(e);return t}listen(e,t,n,r){let o=TI(t,"","","");return II(this._getPlayer(e),n,o,r),()=>{}}command(e,t,n,r){if(n=="register"){this.register(e,r[0]);return}if(n=="create"){let s=r[0]||{};this.create(e,t,s);return}let o=this._getPlayer(e);switch(n){case"play":o.play();break;case"pause":o.pause();break;case"reset":o.reset();break;case"restart":o.restart();break;case"finish":o.finish();break;case"init":o.init();break;case"setPosition":o.setPosition(parseFloat(r[0]));break;case"destroy":this.destroy(e);break}}},TF="ng-animate-queued",tQ=".ng-animate-queued",cI="ng-animate-disabled",nQ=".ng-animate-disabled",iQ="ng-star-inserted",rQ=".ng-star-inserted",oQ=[],GF={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},sQ={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},fs="__ng_removed",Dm=class{get params(){return this.options.params}constructor(e,t=""){this.namespaceId=t;let n=e&&e.hasOwnProperty("value"),r=n?e.value:e;if(this.value=cQ(r),n){let o=e,{value:s}=o,a=dS(o,["value"]);this.options=a}else this.options={};this.options.params||(this.options.params={})}absorbOptions(e){let t=e.params;if(t){let n=this.options.params;Object.keys(t).forEach(r=>{n[r]==null&&(n[r]=t[r])})}}},Em="void",lI=new Dm(Em),CI=class{constructor(e,t,n){this.id=e,this.hostElement=t,this._engine=n,this.players=[],this._triggers=new Map,this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+e,Vo(t,this._hostClassName)}listen(e,t,n,r){if(!this._triggers.has(t))throw vZ(n,t);if(n==null||n.length==0)throw bZ(t);if(!lQ(n))throw yZ(n,t);let o=_o(this._elementListeners,e,[]),s={name:t,phase:n,callback:r};o.push(s);let a=_o(this._engine.statesByElement,e,new Map);return a.has(t)||(Vo(e,Pb),Vo(e,Pb+"-"+t),a.set(t,lI)),()=>{this._engine.afterFlush(()=>{let c=o.indexOf(s);c>=0&&o.splice(c,1),this._triggers.has(t)||a.delete(t)})}}register(e,t){return this._triggers.has(e)?!1:(this._triggers.set(e,t),!0)}_getTrigger(e){let t=this._triggers.get(e);if(!t)throw xZ(e);return t}trigger(e,t,n,r=!0){let o=this._getTrigger(t),s=new Pm(this.id,t,e),a=this._engine.statesByElement.get(e);a||(Vo(e,Pb),Vo(e,Pb+"-"+t),this._engine.statesByElement.set(e,a=new Map));let c=a.get(t),l=new Dm(n,this.id);if(!(n&&n.hasOwnProperty("value"))&&c&&l.absorbOptions(c.options),a.set(t,l),c||(c=lI),!(l.value===Em)&&c.value===l.value){if(!hQ(c.params,l.params)){let m=[],y=o.matchStyles(c.value,c.params,m),g=o.matchStyles(l.value,l.params,m);m.length?this._engine.reportError(m):this._engine.afterFlush(()=>{ld(e,y),$s(e,g)})}return}let h=_o(this._engine.playersByElement,e,[]);h.forEach(m=>{m.namespaceId==this.id&&m.triggerName==t&&m.queued&&m.destroy()});let p=o.matchTransition(c.value,l.value,e,l.params),f=!1;if(!p){if(!r)return;p=o.fallbackTransition,f=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:e,triggerName:t,transition:p,fromState:c,toState:l,player:s,isFallbackTransition:f}),f||(Vo(e,TF),s.onStart(()=>{vh(e,TF)})),s.onDone(()=>{let m=this.players.indexOf(s);m>=0&&this.players.splice(m,1);let y=this._engine.playersByElement.get(e);if(y){let g=y.indexOf(s);g>=0&&y.splice(g,1)}}),this.players.push(s),h.push(s),s}deregister(e){this._triggers.delete(e),this._engine.statesByElement.forEach(t=>t.delete(e)),this._elementListeners.forEach((t,n)=>{this._elementListeners.set(n,t.filter(r=>r.name!=e))})}clearElementCache(e){this._engine.statesByElement.delete(e),this._elementListeners.delete(e);let t=this._engine.playersByElement.get(e);t&&(t.forEach(n=>n.destroy()),this._engine.playersByElement.delete(e))}_signalRemovalForInnerTriggers(e,t){let n=this._engine.driver.query(e,kb,!0);n.forEach(r=>{if(r[fs])return;let o=this._engine.fetchNamespacesByElement(r);o.size?o.forEach(s=>s.triggerLeaveAnimation(r,t,!1,!0)):this.clearElementCache(r)}),this._engine.afterFlushAnimationsDone(()=>n.forEach(r=>this.clearElementCache(r)))}triggerLeaveAnimation(e,t,n,r){let o=this._engine.statesByElement.get(e),s=new Map;if(o){let a=[];if(o.forEach((c,l)=>{if(s.set(l,c.value),this._triggers.has(l)){let d=this.trigger(e,l,Em,r);d&&a.push(d)}}),a.length)return this._engine.markElementAsRemoved(this.id,e,!0,t,s),n&&Bc(a).onDone(()=>this._engine.processLeaveNode(e)),!0}return!1}prepareLeaveAnimationListeners(e){let t=this._elementListeners.get(e),n=this._engine.statesByElement.get(e);if(t&&n){let r=new Set;t.forEach(o=>{let s=o.name;if(r.has(s))return;r.add(s);let c=this._triggers.get(s).fallbackTransition,l=n.get(s)||lI,d=new Dm(Em),u=new Pm(this.id,s,e);this._engine.totalQueuedPlayers++,this._queue.push({element:e,triggerName:s,transition:c,fromState:l,toState:d,player:u,isFallbackTransition:!0})})}}removeNode(e,t){let n=this._engine;if(e.childElementCount&&this._signalRemovalForInnerTriggers(e,t),this.triggerLeaveAnimation(e,t,!0))return;let r=!1;if(n.totalAnimations){let o=n.players.length?n.playersByQueriedElement.get(e):[];if(o&&o.length)r=!0;else{let s=e;for(;s=s.parentNode;)if(n.statesByElement.get(s)){r=!0;break}}}if(this.prepareLeaveAnimationListeners(e),r)n.markElementAsRemoved(this.id,e,!1,t);else{let o=e[fs];(!o||o===GF)&&(n.afterFlush(()=>this.clearElementCache(e)),n.destroyInnerAnimations(e),n._onRemovalComplete(e,t))}}insertNode(e,t){Vo(e,this._hostClassName)}drainQueuedTransitions(e){let t=[];return this._queue.forEach(n=>{let r=n.player;if(r.destroyed)return;let o=n.element,s=this._elementListeners.get(o);s&&s.forEach(a=>{if(a.name==n.triggerName){let c=TI(o,n.triggerName,n.fromState.value,n.toState.value);c._data=e,II(n.player,a.phase,c,a.callback)}}),r.markedForDestroy?this._engine.afterFlush(()=>{r.destroy()}):t.push(n)}),this._queue=[],t.sort((n,r)=>{let o=n.transition.ast.depCount,s=r.transition.ast.depCount;return o==0||s==0?o-s:this._engine.driver.containsElement(n.element,r.element)?1:-1})}destroy(e){this.players.forEach(t=>t.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,e)}},SI=class{_onRemovalComplete(e,t){this.onRemovalComplete(e,t)}constructor(e,t,n){this.bodyNode=e,this.driver=t,this._normalizer=n,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=(r,o)=>{}}get queuedPlayers(){let e=[];return this._namespaceList.forEach(t=>{t.players.forEach(n=>{n.queued&&e.push(n)})}),e}createNamespace(e,t){let n=new CI(e,t,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,t)?this._balanceNamespaceList(n,t):(this.newHostElements.set(t,n),this.collectEnterElement(t)),this._namespaceLookup[e]=n}_balanceNamespaceList(e,t){let n=this._namespaceList,r=this.namespacesByHostElement;if(n.length-1>=0){let s=!1,a=this.driver.getParentElement(t);for(;a;){let c=r.get(a);if(c){let l=n.indexOf(c);n.splice(l+1,0,e),s=!0;break}a=this.driver.getParentElement(a)}s||n.unshift(e)}else n.push(e);return r.set(t,e),e}register(e,t){let n=this._namespaceLookup[e];return n||(n=this.createNamespace(e,t)),n}registerTrigger(e,t,n){let r=this._namespaceLookup[e];r&&r.register(t,n)&&this.totalAnimations++}destroy(e,t){e&&(this.afterFlush(()=>{}),this.afterFlushAnimationsDone(()=>{let n=this._fetchNamespace(e);this.namespacesByHostElement.delete(n.hostElement);let r=this._namespaceList.indexOf(n);r>=0&&this._namespaceList.splice(r,1),n.destroy(t),delete this._namespaceLookup[e]}))}_fetchNamespace(e){return this._namespaceLookup[e]}fetchNamespacesByElement(e){let t=new Set,n=this.statesByElement.get(e);if(n){for(let r of n.values())if(r.namespaceId){let o=this._fetchNamespace(r.namespaceId);o&&t.add(o)}}return t}trigger(e,t,n,r){if(Ab(t)){let o=this._fetchNamespace(e);if(o)return o.trigger(t,n,r),!0}return!1}insertNode(e,t,n,r){if(!Ab(t))return;let o=t[fs];if(o&&o.setForRemoval){o.setForRemoval=!1,o.setForMove=!0;let s=this.collectedLeaveElements.indexOf(t);s>=0&&this.collectedLeaveElements.splice(s,1)}if(e){let s=this._fetchNamespace(e);s&&s.insertNode(t,n)}r&&this.collectEnterElement(t)}collectEnterElement(e){this.collectedEnterElements.push(e)}markElementAsDisabled(e,t){t?this.disabledNodes.has(e)||(this.disabledNodes.add(e),Vo(e,cI)):this.disabledNodes.has(e)&&(this.disabledNodes.delete(e),vh(e,cI))}removeNode(e,t,n){if(Ab(t)){let r=e?this._fetchNamespace(e):null;r?r.removeNode(t,n):this.markElementAsRemoved(e,t,!1,n);let o=this.namespacesByHostElement.get(t);o&&o.id!==e&&o.removeNode(t,n)}else this._onRemovalComplete(t,n)}markElementAsRemoved(e,t,n,r,o){this.collectedLeaveElements.push(t),t[fs]={namespaceId:e,setForRemoval:r,hasAnimation:n,removedBeforeQueried:!1,previousTriggersValues:o}}listen(e,t,n,r,o){return Ab(t)?this._fetchNamespace(e).listen(t,n,r,o):()=>{}}_buildInstruction(e,t,n,r,o){return e.transition.build(this.driver,e.element,e.fromState.value,e.toState.value,n,r,e.fromState.options,e.toState.options,t,o)}destroyInnerAnimations(e){let t=this.driver.query(e,kb,!0);t.forEach(n=>this.destroyActiveAnimationsForElement(n)),this.playersByQueriedElement.size!=0&&(t=this.driver.query(e,hI,!0),t.forEach(n=>this.finishActiveQueriedAnimationOnElement(n)))}destroyActiveAnimationsForElement(e){let t=this.playersByElement.get(e);t&&t.forEach(n=>{n.queued?n.markedForDestroy=!0:n.destroy()})}finishActiveQueriedAnimationOnElement(e){let t=this.playersByQueriedElement.get(e);t&&t.forEach(n=>n.finish())}whenRenderingDone(){return new Promise(e=>{if(this.players.length)return Bc(this.players).onDone(()=>e());e()})}processLeaveNode(e){let t=e[fs];if(t&&t.setForRemoval){if(e[fs]=GF,t.namespaceId){this.destroyInnerAnimations(e);let n=this._fetchNamespace(t.namespaceId);n&&n.clearElementCache(e)}this._onRemovalComplete(e,t.setForRemoval)}e.classList?.contains(cI)&&this.markElementAsDisabled(e,!1),this.driver.query(e,nQ,!0).forEach(n=>{this.markElementAsDisabled(n,!1)})}flush(e=-1){let t=[];if(this.newHostElements.size&&(this.newHostElements.forEach((n,r)=>this._balanceNamespaceList(n,r)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let n=0;nn()),this._flushFns=[],this._whenQuietFns.length){let n=this._whenQuietFns;this._whenQuietFns=[],t.length?Bc(t).onDone(()=>{n.forEach(r=>r())}):n.forEach(r=>r())}}reportError(e){throw wZ(e)}_flushAnimations(e,t){let n=new Tm,r=[],o=new Map,s=[],a=new Map,c=new Map,l=new Map,d=new Set;this.disabledNodes.forEach(k=>{d.add(k);let G=this.driver.query(k,tQ,!0);for(let K=0;K{let K=FF+m++;f.set(G,K),k.forEach(de=>Vo(de,K))});let y=[],g=new Set,_=new Set;for(let k=0;kg.add(de)):_.add(G))}let x=new Map,C=OF(h,Array.from(g));C.forEach((k,G)=>{let K=uI+m++;x.set(G,K),k.forEach(de=>Vo(de,K))}),e.push(()=>{p.forEach((k,G)=>{let K=f.get(G);k.forEach(de=>vh(de,K))}),C.forEach((k,G)=>{let K=x.get(G);k.forEach(de=>vh(de,K))}),y.forEach(k=>{this.processLeaveNode(k)})});let T=[],D=[];for(let k=this._namespaceList.length-1;k>=0;k--)this._namespaceList[k].drainQueuedTransitions(t).forEach(K=>{let de=K.player,De=K.element;if(T.push(de),this.collectedEnterElements.length){let Ge=De[fs];if(Ge&&Ge.setForMove){if(Ge.previousTriggersValues&&Ge.previousTriggersValues.has(K.triggerName)){let ft=Ge.previousTriggersValues.get(K.triggerName),ze=this.statesByElement.get(K.element);if(ze&&ze.has(K.triggerName)){let Qe=ze.get(K.triggerName);Qe.value=ft,ze.set(K.triggerName,Qe)}}de.destroy();return}}let Te=!u||!this.driver.containsElement(u,De),He=x.get(De),he=f.get(De),se=this._buildInstruction(K,n,he,He,Te);if(se.errors&&se.errors.length){D.push(se);return}if(Te){de.onStart(()=>ld(De,se.fromStyles)),de.onDestroy(()=>$s(De,se.toStyles)),r.push(de);return}if(K.isFallbackTransition){de.onStart(()=>ld(De,se.fromStyles)),de.onDestroy(()=>$s(De,se.toStyles)),r.push(de);return}let qe=[];se.timelines.forEach(Ge=>{Ge.stretchStartingKeyframe=!0,this.disabledNodes.has(Ge.element)||qe.push(Ge)}),se.timelines=qe,n.append(De,se.timelines);let ue={instruction:se,player:de,element:De};s.push(ue),se.queriedElements.forEach(Ge=>_o(a,Ge,[]).push(de)),se.preStyleProps.forEach((Ge,ft)=>{if(Ge.size){let ze=c.get(ft);ze||c.set(ft,ze=new Set),Ge.forEach((Qe,Ot)=>ze.add(Ot))}}),se.postStyleProps.forEach((Ge,ft)=>{let ze=l.get(ft);ze||l.set(ft,ze=new Set),Ge.forEach((Qe,Ot)=>ze.add(Ot))})});if(D.length){let k=[];D.forEach(G=>{k.push(CZ(G.triggerName,G.errors))}),T.forEach(G=>G.destroy()),this.reportError(k)}let E=new Map,A=new Map;s.forEach(k=>{let G=k.element;n.has(G)&&(A.set(G,G),this._beforeAnimationBuild(k.player.namespaceId,k.instruction,E))}),r.forEach(k=>{let G=k.element;this._getPreviousPlayers(G,!1,k.namespaceId,k.triggerName,null).forEach(de=>{_o(E,G,[]).push(de),de.destroy()})});let j=y.filter(k=>RF(k,c,l)),q=new Map;PF(q,this.driver,_,l,Ws).forEach(k=>{RF(k,c,l)&&j.push(k)});let P=new Map;p.forEach((k,G)=>{PF(P,this.driver,new Set(k),c,Db)}),j.forEach(k=>{let G=q.get(k),K=P.get(k);q.set(k,new Map([...G?.entries()??[],...K?.entries()??[]]))});let U=[],W=[],Y={};s.forEach(k=>{let{element:G,player:K,instruction:de}=k;if(n.has(G)){if(d.has(G)){K.onDestroy(()=>$s(G,de.toStyles)),K.disabled=!0,K.overrideTotalTime(de.totalTime),r.push(K);return}let De=Y;if(A.size>1){let He=G,he=[];for(;He=He.parentNode;){let se=A.get(He);if(se){De=se;break}he.push(He)}he.forEach(se=>A.set(se,De))}let Te=this._buildAnimation(K.namespaceId,de,E,o,P,q);if(K.setRealPlayer(Te),De===Y)U.push(K);else{let He=this.playersByElement.get(De);He&&He.length&&(K.parentPlayer=Bc(He)),r.push(K)}}else ld(G,de.fromStyles),K.onDestroy(()=>$s(G,de.toStyles)),W.push(K),d.has(G)&&r.push(K)}),W.forEach(k=>{let G=o.get(k.element);if(G&&G.length){let K=Bc(G);k.setRealPlayer(K)}}),r.forEach(k=>{k.parentPlayer?k.syncPlayerEvents(k.parentPlayer):k.destroy()});for(let k=0;k!Te.destroyed);De.length?dQ(this,G,De):this.processLeaveNode(G)}return y.length=0,U.forEach(k=>{this.players.push(k),k.onDone(()=>{k.destroy();let G=this.players.indexOf(k);this.players.splice(G,1)}),k.play()}),U}afterFlush(e){this._flushFns.push(e)}afterFlushAnimationsDone(e){this._whenQuietFns.push(e)}_getPreviousPlayers(e,t,n,r,o){let s=[];if(t){let a=this.playersByQueriedElement.get(e);a&&(s=a)}else{let a=this.playersByElement.get(e);if(a){let c=!o||o==Em;a.forEach(l=>{l.queued||!c&&l.triggerName!=r||s.push(l)})}}return(n||r)&&(s=s.filter(a=>!(n&&n!=a.namespaceId||r&&r!=a.triggerName))),s}_beforeAnimationBuild(e,t,n){let r=t.triggerName,o=t.element,s=t.isRemovalTransition?void 0:e,a=t.isRemovalTransition?void 0:r;for(let c of t.timelines){let l=c.element,d=l!==o,u=_o(n,l,[]);this._getPreviousPlayers(l,d,s,a,t.toState).forEach(p=>{let f=p.getRealPlayer();f.beforeDestroy&&f.beforeDestroy(),p.destroy(),u.push(p)})}ld(o,t.fromStyles)}_buildAnimation(e,t,n,r,o,s){let a=t.triggerName,c=t.element,l=[],d=new Set,u=new Set,h=t.timelines.map(f=>{let m=f.element;d.add(m);let y=m[fs];if(y&&y.removedBeforeQueried)return new Fc(f.duration,f.delay);let g=m!==c,_=uQ((n.get(m)||oQ).map(E=>E.getRealPlayer())).filter(E=>{let A=E;return A.element?A.element===m:!1}),x=o.get(m),C=s.get(m),T=AF(this._normalizer,f.keyframes,x,C),D=this._buildPlayer(f,T,_);if(f.subTimeline&&r&&u.add(m),g){let E=new Pm(e,a,m);E.setRealPlayer(D),l.push(E)}return D});l.forEach(f=>{_o(this.playersByQueriedElement,f.element,[]).push(f),f.onDone(()=>aQ(this.playersByQueriedElement,f.element,f))}),d.forEach(f=>Vo(f,wF));let p=Bc(h);return p.onDestroy(()=>{d.forEach(f=>vh(f,wF)),$s(c,t.toStyles)}),u.forEach(f=>{_o(r,f,[]).push(p)}),p}_buildPlayer(e,t,n){return t.length>0?this.driver.animate(e.element,t,e.duration,e.delay,e.easing,n):new Fc(e.duration,e.delay)}},Pm=class{constructor(e,t,n){this.namespaceId=e,this.triggerName=t,this.element=n,this._player=new Fc,this._containsRealPlayer=!1,this._queuedCallbacks=new Map,this.destroyed=!1,this.parentPlayer=null,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(e){this._containsRealPlayer||(this._player=e,this._queuedCallbacks.forEach((t,n)=>{t.forEach(r=>II(e,n,void 0,r))}),this._queuedCallbacks.clear(),this._containsRealPlayer=!0,this.overrideTotalTime(e.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(e){this.totalTime=e}syncPlayerEvents(e){let t=this._player;t.triggerCallback&&e.onStart(()=>t.triggerCallback("start")),e.onDone(()=>this.finish()),e.onDestroy(()=>this.destroy())}_queueEvent(e,t){_o(this._queuedCallbacks,e,[]).push(t)}onDone(e){this.queued&&this._queueEvent("done",e),this._player.onDone(e)}onStart(e){this.queued&&this._queueEvent("start",e),this._player.onStart(e)}onDestroy(e){this.queued&&this._queueEvent("destroy",e),this._player.onDestroy(e)}init(){this._player.init()}hasStarted(){return this.queued?!1:this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(e){this.queued||this._player.setPosition(e)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(e){let t=this._player;t.triggerCallback&&t.triggerCallback(e)}};function aQ(i,e,t){let n=i.get(e);if(n){if(n.length){let r=n.indexOf(t);n.splice(r,1)}n.length==0&&i.delete(e)}return n}function cQ(i){return i??null}function Ab(i){return i&&i.nodeType===1}function lQ(i){return i=="start"||i=="done"}function DF(i,e){let t=i.style.display;return i.style.display=e??"none",t}function PF(i,e,t,n,r){let o=[];t.forEach(c=>o.push(DF(c)));let s=[];n.forEach((c,l)=>{let d=new Map;c.forEach(u=>{let h=e.computeStyle(l,u,r);d.set(u,h),(!h||h.length==0)&&(l[fs]=sQ,s.push(l))}),i.set(l,d)});let a=0;return t.forEach(c=>DF(c,o[a++])),s}function OF(i,e){let t=new Map;if(i.forEach(a=>t.set(a,[])),e.length==0)return t;let n=1,r=new Set(e),o=new Map;function s(a){if(!a)return n;let c=o.get(a);if(c)return c;let l=a.parentNode;return t.has(l)?c=l:r.has(l)?c=n:c=s(l),o.set(a,c),c}return e.forEach(a=>{let c=s(a);c!==n&&t.get(c).push(a)}),t}function Vo(i,e){i.classList?.add(e)}function vh(i,e){i.classList?.remove(e)}function dQ(i,e,t){Bc(t).onDone(()=>i.processLeaveNode(e))}function uQ(i){let e=[];return jF(i,e),e}function jF(i,e){for(let t=0;tr.add(o)):e.set(i,n),t.delete(i),!0}var yh=class{constructor(e,t,n){this._driver=t,this._normalizer=n,this._triggerCache={},this.onRemovalComplete=(r,o)=>{},this._transitionEngine=new SI(e.body,t,n),this._timelineEngine=new wI(e.body,t,n),this._transitionEngine.onRemovalComplete=(r,o)=>this.onRemovalComplete(r,o)}registerTrigger(e,t,n,r,o){let s=e+"-"+r,a=this._triggerCache[s];if(!a){let c=[],l=[],d=zF(this._driver,o,c,l);if(c.length)throw hZ(r,c);l.length&&void 0,a=KZ(r,d,this._normalizer),this._triggerCache[s]=a}this._transitionEngine.registerTrigger(t,r,a)}register(e,t){this._transitionEngine.register(e,t)}destroy(e,t){this._transitionEngine.destroy(e,t)}onInsert(e,t,n,r){this._transitionEngine.insertNode(e,t,n,r)}onRemove(e,t,n){this._transitionEngine.removeNode(e,t,n)}disableAnimations(e,t){this._transitionEngine.markElementAsDisabled(e,t)}process(e,t,n,r){if(n.charAt(0)=="@"){let[o,s]=yF(n),a=r;this._timelineEngine.command(o,t,s,a)}else this._transitionEngine.trigger(e,t,n,r)}listen(e,t,n,r,o){if(n.charAt(0)=="@"){let[s,a]=yF(n);return this._timelineEngine.listen(s,t,a,o)}return this._transitionEngine.listen(e,t,n,r,o)}flush(e=-1){this._transitionEngine.flush(e)}get players(){return[...this._transitionEngine.players,...this._timelineEngine.players]}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}afterFlushAnimationsDone(e){this._transitionEngine.afterFlushAnimationsDone(e)}};function pQ(i,e){let t=null,n=null;return Array.isArray(e)&&e.length?(t=dI(e[0]),e.length>1&&(n=dI(e[e.length-1]))):e instanceof Map&&(t=dI(e)),t||n?new MI(i,t,n):null}var bh=class bh{constructor(e,t,n){this._element=e,this._startStyles=t,this._endStyles=n,this._state=0;let r=bh.initialStylesByElement.get(e);r||bh.initialStylesByElement.set(e,r=new Map),this._initialStyles=r}start(){this._state<1&&(this._startStyles&&$s(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&($s(this._element,this._initialStyles),this._endStyles&&($s(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(bh.initialStylesByElement.delete(this._element),this._startStyles&&(ld(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(ld(this._element,this._endStyles),this._endStyles=null),$s(this._element,this._initialStyles),this._state=3)}};bh.initialStylesByElement=new WeakMap;var MI=bh;function dI(i){let e=null;return i.forEach((t,n)=>{fQ(n)&&(e=e||new Map,e.set(n,t))}),e}function fQ(i){return i==="display"||i==="position"}var Hb=class{constructor(e,t,n,r){this.element=e,this.keyframes=t,this.options=n,this._specialStyles=r,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this._originalOnDoneFns=[],this._originalOnStartFns=[],this.time=0,this.parentPlayer=null,this.currentSnapshot=new Map,this._duration=n.duration,this._delay=n.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(e=>e()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;let e=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,e,this.options),this._finalKeyframe=e.length?e[e.length-1]:new Map;let t=()=>this._onFinish();this.domPlayer.addEventListener("finish",t),this.onDestroy(()=>{this.domPlayer.removeEventListener("finish",t)})}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_convertKeyframesToObject(e){let t=[];return e.forEach(n=>{t.push(Object.fromEntries(n))}),t}_triggerWebAnimation(e,t,n){return e.animate(this._convertKeyframesToObject(t),n)}onStart(e){this._originalOnStartFns.push(e),this._onStartFns.push(e)}onDone(e){this._originalOnDoneFns.push(e),this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(e=>e()),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}_resetDomPlayerState(){this.domPlayer&&this.domPlayer.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}setPosition(e){this.domPlayer===void 0&&this.init(),this.domPlayer.currentTime=e*this.time}getPosition(){return+(this.domPlayer.currentTime??0)/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){let e=new Map;this.hasStarted()&&this._finalKeyframe.forEach((n,r)=>{r!=="offset"&&e.set(r,this._finished?n:RI(this.element,r))}),this.currentSnapshot=e}triggerCallback(e){let t=e==="start"?this._onStartFns:this._onDoneFns;t.forEach(n=>n()),t.length=0}},Gb=class{validateStyleProperty(e){return!0}validateAnimatableStyleProperty(e){return!0}containsElement(e,t){return NF(e,t)}getParentElement(e){return DI(e)}query(e,t,n){return kF(e,t,n)}computeStyle(e,t,n){return RI(e,t)}animate(e,t,n,r,o,s=[]){let a=r==0?"both":"forwards",c={duration:n,delay:r,fill:a};o&&(c.easing=o);let l=new Map,d=s.filter(p=>p instanceof Hb);NZ(n,r)&&d.forEach(p=>{p.currentSnapshot.forEach((f,m)=>l.set(m,f))});let u=OZ(t).map(p=>new Map(p));u=kZ(e,u,l);let h=pQ(e,u);return new Hb(e,u,c,h)}};var Nb="@",WF="@.disabled",jb=class{constructor(e,t,n,r){this.namespaceId=e,this.delegate=t,this.engine=n,this._onDestroy=r,this.\u0275type=0}get data(){return this.delegate.data}destroyNode(e){this.delegate.destroyNode?.(e)}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.engine.afterFlushAnimationsDone(()=>{queueMicrotask(()=>{this.delegate.destroy()})}),this._onDestroy?.()}createElement(e,t){return this.delegate.createElement(e,t)}createComment(e){return this.delegate.createComment(e)}createText(e){return this.delegate.createText(e)}appendChild(e,t){this.delegate.appendChild(e,t),this.engine.onInsert(this.namespaceId,t,e,!1)}insertBefore(e,t,n,r=!0){this.delegate.insertBefore(e,t,n),this.engine.onInsert(this.namespaceId,t,e,r)}removeChild(e,t,n){this.engine.onRemove(this.namespaceId,t,this.delegate)}selectRootElement(e,t){return this.delegate.selectRootElement(e,t)}parentNode(e){return this.delegate.parentNode(e)}nextSibling(e){return this.delegate.nextSibling(e)}setAttribute(e,t,n,r){this.delegate.setAttribute(e,t,n,r)}removeAttribute(e,t,n){this.delegate.removeAttribute(e,t,n)}addClass(e,t){this.delegate.addClass(e,t)}removeClass(e,t){this.delegate.removeClass(e,t)}setStyle(e,t,n,r){this.delegate.setStyle(e,t,n,r)}removeStyle(e,t,n){this.delegate.removeStyle(e,t,n)}setProperty(e,t,n){t.charAt(0)==Nb&&t==WF?this.disableAnimations(e,!!n):this.delegate.setProperty(e,t,n)}setValue(e,t){this.delegate.setValue(e,t)}listen(e,t,n){return this.delegate.listen(e,t,n)}disableAnimations(e,t){this.engine.disableAnimations(e,t)}},EI=class extends jb{constructor(e,t,n,r,o){super(t,n,r,o),this.factory=e,this.namespaceId=t}setProperty(e,t,n){t.charAt(0)==Nb?t.charAt(1)=="."&&t==WF?(n=n===void 0?!0:!!n,this.disableAnimations(e,n)):this.engine.process(this.namespaceId,e,t.slice(1),n):this.delegate.setProperty(e,t,n)}listen(e,t,n){if(t.charAt(0)==Nb){let r=mQ(e),o=t.slice(1),s="";return o.charAt(0)!=Nb&&([o,s]=gQ(o)),this.engine.listen(this.namespaceId,r,o,s,a=>{let c=a._data||-1;this.factory.scheduleListenerCallback(c,n,a)})}return this.delegate.listen(e,t,n)}};function mQ(i){switch(i){case"body":return document.body;case"document":return document;case"window":return window;default:return i}}function gQ(i){let e=i.indexOf("."),t=i.substring(0,e),n=i.slice(e+1);return[t,n]}var Wb=class{constructor(e,t,n){this.delegate=e,this.engine=t,this._zone=n,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,t.onRemovalComplete=(r,o)=>{let s=o?.parentNode(r);s&&o.removeChild(s,r)}}createRenderer(e,t){let n="",r=this.delegate.createRenderer(e,t);if(!e||!t?.data?.animation){let l=this._rendererCache,d=l.get(r);if(!d){let u=()=>l.delete(r);d=new jb(n,r,this.engine,u),l.set(r,d)}return d}let o=t.id,s=t.id+"-"+this._currentId;this._currentId++,this.engine.register(s,e);let a=l=>{Array.isArray(l)?l.forEach(a):this.engine.registerTrigger(o,s,e,l.name,l)};return t.data.animation.forEach(a),new EI(this,s,r,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){queueMicrotask(()=>{this._microtaskId++})}scheduleListenerCallback(e,t,n){if(e>=0&&et(n));return}let r=this._animationCallbacksBuffer;r.length==0&&queueMicrotask(()=>{this._zone.run(()=>{r.forEach(o=>{let[s,a]=o;s(a)}),this._animationCallbacksBuffer=[]})}),r.push([t,n])}end(){this._cdRecurDepth--,this._cdRecurDepth==0&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}};var vQ=(()=>{let e=class e extends yh{constructor(n,r,o){super(n,r,o)}ngOnDestroy(){this.flush()}};e.\u0275fac=function(r){return new(r||e)(X(Xe),X(dd),X(ud))},e.\u0275prov=J({token:e,factory:e.\u0275fac});let i=e;return i})();function bQ(){return new Fb}function yQ(i,e,t){return new Wb(i,e,t)}var $F=[{provide:ud,useFactory:bQ},{provide:yh,useClass:vQ},{provide:Pc,useFactory:yQ,deps:[ub,yh,Fe]}],xQ=[{provide:dd,useFactory:()=>new Gb},{provide:jn,useValue:"BrowserAnimations"},...$F],bIe=[{provide:dd,useClass:PI},{provide:jn,useValue:"NoopAnimations"},...$F];function qF(){return Lo("NgEagerAnimations"),[...xQ]}var Vc=function(i){return i[i.MAIN_PANEL=0]="MAIN_PANEL",i[i.POPUP=1]="POPUP",i[i.GRAPH_PANEL=2]="GRAPH_PANEL",i}(Vc||{}),kI=function(i){return i[i.WEBGL=0]="WEBGL",i}(kI||{}),xt=function(i){return i.NODE_LABEL="title",i.INPUT_METADATA="input",i.OUTPUT_METADATA="output",i.ATTRIBUTE="list",i}(xt||{}),Nn=function(i){return i.OP_NODE_ID="Op node id",i.OP_ATTRS="Op node attributes",i.OP_INPUTS="Op node inputs",i.OP_OUTPUTS="Op node outputs",i.LAYER_NODE_CHILDREN_COUNT="Layer node children count",i.LAYER_NODE_DESCENDANTS_COUNT="Layer node descendants count",i.LAYER_NODE_ATTRS="Layer node attributes",i}(Nn||{}),zc=function(i){return i.TENSOR_SHAPE="Tensor shape",i}(zc||{}),mn=function(i){return i[i.REGULAR=0]="REGULAR",i[i.MEDIUM=1]="MEDIUM",i[i.BOLD=2]="BOLD",i[i.MONOSPACE_MEDIUM=3]="MONOSPACE_MEDIUM",i[i.ICONS=4]="ICONS",i}(mn||{}),Uc=function(i){return i.OP_NODE_ID="id",i.NUMBER_OF_CHILDREN="#children",i.NUMBER_OF_DESCENDANTS="#descendants",i}(Uc||{}),qs=function(i){return i.NODE_BG_COLOR="node_bg_color",i.NODE_TEXT_COLOR="node_text_color",i.NODE_BORDER_COLOR="node_border_color",i}(qs||{}),$b=function(i){return i.V2="v2",i}($b||{}),Vn=function(i){return i.REGEX="regex",i.ATTR_VALUE_RANGE="attr_value_range",i.NODE_TYPE="node_type",i}(Vn||{}),_r=function(i){return i.OP_NODES="op_nodes",i.LAYER_NODES="layer_nodes",i.OP_AND_LAYER_NODES="op_and_layer_nodes",i}(_r||{});function Ei(i){i||(ih(Ei),i=te(Fi));let e=new Et(t=>i.onDestroy(t.next.bind(t)));return t=>t.pipe(Ze(e))}function qb(i,e){!e?.injector&&ih(qb);let t=e?.injector??te(vt),n=new ya(1),r=lt(()=>{let o;try{o=i()}catch(s){zr(()=>n.error(s));return}zr(()=>n.next(o))},{injector:t,manualCleanup:!0});return t.get(Fi).onDestroy(()=>{r.destroy(),n.complete()}),n.asObservable()}var zo=11,Yb=4;var LI=16,FI=200,Om=12,Rm=1e3;var en=.001,BI=25,VI=5,Xb="me_test",YF=.1,Zb="model_explorer_show_on_node_item_types_v2",Qb="model_explorer_show_on_edge_item_types_v2",La="Node data provider: ",Hc=10,Kb=7.5,Fa="__value",Uo="__tensor_tag",zI=20,Jb={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4","indianred ":"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};var XF="model-explorer-export-to-resource",xh=14;var Ys=function(i){return i[i.OP_NODE=0]="OP_NODE",i[i.GROUP_NODE=1]="GROUP_NODE",i}(Ys||{});var kIe=new OffscreenCanvas(300,300);var Am=typeof navigator<"u"&&/Macintosh/.test(navigator.userAgent);function St(i){return i?.nodeType===Ys.OP_NODE}function wt(i){return i?.nodeType===Ys.GROUP_NODE}function UI(i){let e=[];for(let[t,n]of Object.entries(i))switch(t){case Nn.OP_NODE_ID:n.selected&&e.push(Uc.OP_NODE_ID);break;default:break}return e}function HI(i){let e=[];for(let[t,n]of Object.entries(i))switch(t){case Nn.LAYER_NODE_CHILDREN_COUNT:n.selected&&e.push(Uc.NUMBER_OF_CHILDREN);break;case Nn.LAYER_NODE_DESCENDANTS_COUNT:n.selected&&e.push(Uc.NUMBER_OF_DESCENDANTS);break;default:break}return e}function ey(i,e){if(St(i))switch(e.toLowerCase()){case Uc.OP_NODE_ID:return i.id;case"namespace":return hd(i);default:break}else if(wt(i))switch(e.toLowerCase()){case"namespace":return hd(i);case Uc.NUMBER_OF_CHILDREN:return String((i.nsChildrenIds||[]).length);case Uc.NUMBER_OF_DESCENDANTS:return String((i.descendantsNodeIds||[]).length);default:break}return""}function hd(i){return i.fullNamespace||i.namespace||""}function Ur(){return Math.random().toString(36).slice(-6)}function Nm(i,e,t,n=!1){let r=[];i==null?r=e.rootNodes.map(o=>o.id):r=i.nsChildrenIds||[];for(let o of r){let s=e.nodesById[o];if(s&&wt(s)&&(n||!n&&s.expanded)){let a=s.nsChildrenIds||[];(n?a.filter(l=>wt(e.nodesById[l])).length===0:a.filter(l=>wt(e.nodesById[l])).every(l=>!e.nodesById[l].expanded))&&t.push(s.id),Nm(s,e,t,n)}}}function wh(i,e,t,n){let r=[];if(i.length===2)r=i;else if(i.length===3&&i[0].x===i[1].x&&i[1].x===i[2].x)r=i;else{let o=!0,s=0;for(let c=0;cl?1:-1;if(s!==0&&s!==u){o=!1;break}s=u}let a=n.Vector3;if(o){let l=e().x(h=>h.x).y(h=>h.y).curve(t)(i).split(/M|C/).filter(h=>h!=="").map(h=>h.split(",").map(p=>Number(p))),d=new a(l[0][0],l[0][1],0),u=new n.CurvePath;for(let h=1;hnew a(d.x,d.y,0));r=new n.CatmullRomCurve3(c,!1,"catmullrom",YF).getPoints(BI)}}return r}function ty(){let i=ZF();return i?i.tagName==="INPUT"||i.tagName==="SELECT"||i.tagName==="TEXTAREA"||i.contentEditable==="true":!1}function ZF(i=document){let e=i.activeElement;return e?e.shadowRoot?ZF(e.shadowRoot):e:null}function wQ(i,e,t){let n=t[Uo];return n?`Input${i}:${n} (${e.label})`:`Input${i} (${e.label})`}function CQ(i,e,t){let n=`Output${i}`;if(t.label==="GraphInputs"){let r=e.tensor_name;r!=null&&(n=`${n} (${r})`)}else{let r=e[Uo];r&&(n=`Output${i}:${r}`)}return n}function QF(i){let e=((i||{}).shape||"").replace(/ /g,"").replace(/×/g,"x");return e===""&&(e="?"),e}function GI(i,e=""){let t=i.attrs||{},n=[],r=new RegExp(e,"i");for(let o of Object.keys(t)){let s=o,a=t[o],c=[`${s}:${a}`,`${s}=${a}`];if(e.trim()===""||c.some(l=>r.test(l))){let l=a;s===Fa?l=a.replace(/\s/gm,""):l=a.replace(/(\r\n|\n|\r)/gm," "),n.push({key:s,value:l})}}return n}function jI(i,e,t=""){let n=e.groupNodeAttributes?.[i.id.replace("___group___","")]||{},r=[],o=new RegExp(t,"i");for(let s of Object.keys(n)){let a=s,c=n[s],l=[`${a}:${c}`,`${a}=${c}`];if(t.trim()===""||l.some(d=>o.test(d))){let d=c.replace(/(\r\n|\n|\r)/gm," ");r.push({key:a,value:d})}}return r}function WI(i,e){let t=i.incomingEdges||[],n=[];for(let r=0;rHc){let r=t.length-Hc;n.push({key:`(${r} more input${r===1?"":"s"} omitted)`,value:"..."})}return n}function $I(i){let e=[],t=i.outputsMetadata||{},n=Object.values(t);for(let r=0;rHc){let r=n.length-Hc;e.push({key:`(${r} more output${r===1?"":"s"} omitted)`,value:"..."})}return e}function qI(i,e,t,n){let r=[],o=Object.keys(t).filter(a=>t[a].selected).filter(a=>a.startsWith(La)).map(a=>a.replace(La,"")),s=Object.values(n).filter(a=>o.includes(a.runName));for(let a of s){let c=(a.results||{})?.[e][i.id]?.strValue||"-";r.push({key:a.runName,value:c})}return r}function YI(i,e){let t=i.split("/"),n=e.split("/"),r="";for(let o=Math.min(t.length,n.length);o>0;o--){let s=t.slice(0,o).join("/"),a=n.slice(0,o).join("/");if(s===a){r=a;break}}return r}function KF(i){return new RegExp(/Only `SavedModel`s with \d+ MetaGraph are supported. Instead, it has \d+/).test(i)?`${i}. Try using the "TF adapter (direct)" adapter.`:i}function XI(i,e,t,n){let r=[],o=new Set;if(i.has(xt.NODE_LABEL)&&e.test(t.label)&&(r.push({type:xt.NODE_LABEL}),o.add(xt.NODE_LABEL)),i.has(xt.ATTRIBUTE)){let s=JF(t,n);for(let a of Object.keys(s)){let c=s[a],l=`${a}:${c}`,d=`${a}=${c}`;(e.test(l)||e.test(d))&&(r.push({type:xt.ATTRIBUTE,matchedAttrId:a}),o.add(xt.ATTRIBUTE))}}if(i.has(xt.INPUT_METADATA)&&St(t))for(let s of t.incomingEdges||[]){let a=n.nodesById[s.sourceNodeId];e.test(a.label)&&(r.push({type:xt.INPUT_METADATA,matchedText:a.label}),o.add(xt.INPUT_METADATA));let c=t.inputsMetadata||{},l=(c[s.targetNodeInputId]||{})[Uo];l&&e.test(l)&&(r.push({type:xt.INPUT_METADATA,matchedText:l}),o.add(xt.INPUT_METADATA));let d=(a.outputsMetadata||{})[s.sourceNodeOutputId]||{};for(let h of Object.keys(d)){if(h.startsWith("__"))continue;let p=d[h],f=`${h}:${p}`,m=`${h}=${p}`;(e.test(p)||e.test(f)||e.test(m))&&(r.push({type:xt.INPUT_METADATA,matchedText:p}),o.add(xt.INPUT_METADATA))}let u=c[s.targetNodeInputId]||{};for(let h of Object.keys(u)){if(h.startsWith("__"))continue;let p=u[h],f=`${h}:${p}`,m=`${h}=${p}`;(e.test(p)||e.test(f)||e.test(m))&&(r.push({type:xt.INPUT_METADATA,matchedText:p}),o.add(xt.INPUT_METADATA))}}if(i.has(xt.OUTPUT_METADATA)&&St(t)){let s=t.outputsMetadata||{};for(let a of t.outgoingEdges||[]){let c=n.nodesById[a.targetNodeId];e.test(c.label)&&(r.push({type:xt.OUTPUT_METADATA,matchedText:c.label}),o.add(xt.OUTPUT_METADATA));let l=(s[a.sourceNodeOutputId]||{})[Uo];l&&e.test(l)&&(r.push({type:xt.OUTPUT_METADATA,matchedText:l}),o.add(xt.OUTPUT_METADATA))}for(let a of Object.values(s))for(let c of Object.keys(a)){if(c.startsWith("__"))continue;let l=a[c],d=`${c}:${l}`,u=`${c}=${l}`;(e.test(l)||e.test(d)||e.test(u))&&(r.push({type:xt.OUTPUT_METADATA,matchedText:l}),o.add(xt.OUTPUT_METADATA))}}return{matches:r,matchTypes:o}}function JF(i,e){let t={};if(St(i))t=Z({},i.attrs||{}),t.id=i.id;else if(wt(i)){t={"#descendants":`${(i.descendantsNodeIds||[]).length}`,"#children":`${(i.nsChildrenIds||[]).length}`,namespace:i.namespace||i.savedNamespace||""};let n=e.groupNodeAttributes?.[i.id.replace("___group___","")]||{};t=Z(Z({},t),n)}return t}function SQ(i,e,t,n,r){let o=[],a=JF(n,r)[i];if(a!=null){let c=Number(a);!isNaN(c)&&c>=e&&c<=t&&o.push({type:xt.ATTRIBUTE,matchedAttrId:i})}return o}function Ch(i){for(let e of i.filter(t=>t.type!==Vn.NODE_TYPE))switch(e.type){case Vn.REGEX:if(e.queryRegex!=="")return!0;break;case Vn.ATTR_VALUE_RANGE:if(e.attrName!=="")return!0;break;default:break}return!1}function ny(i){return i.map(e=>({queries:e.queries.map(n=>{switch(n.type){case Vn.REGEX:{let r=new RegExp("","i");try{r=new RegExp(n.queryRegex,"i")}catch(s){console.warn("Failed to create regex",s)}return{type:Vn.REGEX,queryRegex:r,matchTypes:new Set(n.matchTypes)}}case Vn.NODE_TYPE:case Vn.ATTR_VALUE_RANGE:return n;default:return}}),nodeType:e.nodeType,styles:e.styles}))}function km(i,e,t){let n=!0;for(let r of e)if(r.type===Vn.NODE_TYPE){let o=!0;if((St(i)&&r.nodeType===_r.LAYER_NODES||wt(i)&&r.nodeType===_r.OP_NODES)&&(o=!1),!o){n=!1;break}}else if(r.type===Vn.REGEX){if(XI(r.matchTypes,r.queryRegex,i,t).matches.length===0){n=!1;break}}else if(r.type===Vn.ATTR_VALUE_RANGE){if(r.attrName!==""&&SQ(r.attrName,r.min??Number.NEGATIVE_INFINITY,r.max??Number.POSITIVE_INFINITY,i,t).length===0){n=!1;break}}else n=!1;return n}function iy(i,e){window.parent.postMessage({cmd:XF,name:i,resource:e},"*")}function pd(){return window.devicePixelRatio===1?1.5:window.devicePixelRatio}function fd(i,e){let t=i.styles[e];return t?typeof t=="string"?t:t.value:""}function md(i){return i.split(` +`).map(e=>e.trim()).filter(e=>e!=="")}function ZI(i){return(md(i).length-1)*xh}var tr=function(i){return i[i.PROCESS_GRAPH_REQ=0]="PROCESS_GRAPH_REQ",i[i.PROCESS_GRAPH_RESP=1]="PROCESS_GRAPH_RESP",i[i.EXPAND_OR_COLLAPSE_GROUP_NODE_REQ=2]="EXPAND_OR_COLLAPSE_GROUP_NODE_REQ",i[i.EXPAND_OR_COLLAPSE_GROUP_NODE_RESP=3]="EXPAND_OR_COLLAPSE_GROUP_NODE_RESP",i[i.RELAYOUT_GRAPH_REQ=4]="RELAYOUT_GRAPH_REQ",i[i.RELAYOUT_GRAPH_RESP=5]="RELAYOUT_GRAPH_RESP",i[i.LOCATE_NODE_REQ=6]="LOCATE_NODE_REQ",i[i.LOCATE_NODE_RESP=7]="LOCATE_NODE_RESP",i[i.UPDATE_PROCESSING_PROGRESS=8]="UPDATE_PROCESSING_PROGRESS",i[i.PREPARE_POPUP_REQ=9]="PREPARE_POPUP_REQ",i[i.PREPARE_POPUP_RESP=10]="PREPARE_POPUP_RESP",i[i.CLEANUP=11]="CLEANUP",i}(tr||{}),gd=function(i){return i.PROCESSING_NODES_AND_EDGES="Processing nodes and edges",i.PROCESSING_LAYER_NAMESPACES="Processing layer namespaces",i.PROCESSING_LAYOUT_DATA="Processing layout data",i.SPLITTING_LARGE_LAYERS="Splitting large layers (if any)",i.LAYING_OUT_ROOT_LAYER="Laying out root layer",i.FINDING_IDENTICAL_LAYERS="Finding identical layers",i}(gd||{}),e3=[gd.PROCESSING_NODES_AND_EDGES,gd.PROCESSING_LAYER_NAMESPACES,gd.PROCESSING_LAYOUT_DATA,gd.SPLITTING_LARGE_LAYERS,gd.LAYING_OUT_ROOT_LAYER,gd.FINDING_IDENTICAL_LAYERS];var no=(()=>{class i{getItem(t){return window.localStorage.getItem(t)}setItem(t,n){window.localStorage.setItem(t,n)}static \u0275fac=function(n){return new(n||i)};static \u0275prov=J({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();var Gc=(()=>{class i{curUiState=ct({paneStates:[this.createInitialPaneState()]});setDeepestExpandedGroupNodeIds(t,n){this.curUiState.update(r=>{let o=r.paneStates[n];return o?(o.deepestExpandedGroupNodeIds=t,Z({},r)):r})}setSelectedNodeId(t,n){this.curUiState.update(r=>{let o=r.paneStates[n];return o?(o.selectedNodeId=t,Z({},r)):r})}setSelectedGraphId(t,n,r){this.curUiState.update(o=>{let s=o.paneStates[r];return s?(s.selectedGraphId=t,s.selectedCollectionLabel=n,Z({},o)):o})}setFlattenLayers(t,n){this.curUiState.update(r=>{let o=r.paneStates[n];return o?(o.flattenLayers=t,Z({},r)):r})}addPane(){this.curUiState.update(t=>{t.paneStates.length>1&&(t.paneStates=[t.paneStates[0]]),t.paneStates.push(this.createInitialPaneState());for(let n of t.paneStates)n.widthFraction=.5;return Z({},t)})}removePane(t){this.curUiState.update(n=>(n.paneStates.splice(t,1),n.paneStates.length===1&&(n.paneStates[0].widthFraction=1),Z({},n)))}resizePane(t){this.curUiState.update(n=>(n.paneStates.length===2&&(n.paneStates[0].widthFraction=t,n.paneStates[1].widthFraction=1-t),Z({},n)))}swapPane(){this.curUiState.update(t=>(t.paneStates.length===2&&(t.paneStates=[t.paneStates[1],t.paneStates[0]]),Z({},t)))}selectPane(t){this.curUiState.update(n=>{for(let r=0;r{class i{worker;constructor(){this.worker=new Worker(new URL("worker-JQ3C3QUW.js",import.meta.url),{type:"classic"})}static \u0275fac=function(n){return new(n||i)};static \u0275prov=J({token:i,factory:i.\u0275fac})}return i})();var at=(()=>{class i{localStorageService;uiStateService;workerService;curGraphCollections=ct([]);curToLocateNodeInfo=ct(void 0);curSelectedRenderer=ct(void 0);spaceKeyToZoomFitClicked=new pe;searchKeyClicked=new pe;addSnapshotClicked=new pe;curSnapshotToRestore=new pe;expandOrCollapseAllGraphLayersClicked=new pe;downloadAsPngClicked=new pe;config=ct(void 0);curInitialUiState=ct(void 0);panes=ct([{id:Ur(),widthFraction:1}]);selectedPaneId=ct(this.panes()[0].id);modelGraphProcessed$=new pe;remoteNodeDataPaths=ct([]);selectedNode=ct(void 0);hoveredNode=ct(void 0);doubleClickedNode=ct(void 0);testMode=!1;groupNodeChildrenCountThresholdFromUrl=null;paneIdToGraph={};paneIdToCurModelGraphs={};constructor(t,n,r){this.localStorageService=t,this.uiStateService=n,this.workerService=r,this.listenToWorker(),this.init()}addGraphCollections(t){this.curGraphCollections.update(n=>{let r=[...n],o={};for(let s of t){let a={},c={};for(let h of s.graphs){(h.id==null||h.id==="")&&(h.id="unnamed_graph");let p=h.id,f=o[p];f==null?(o[p]=0,f=0):(h.id=`${h.id} (${f+1})`,c[p]=h.id),o[p]=f+1,a[h.id]=h,h.collectionLabel=s.label}for(let h of s.graphs)for(let p of h.nodes)if(p.subgraphIds!=null&&p.subgraphIds.length>0){p.subgraphIds=p.subgraphIds.map(f=>c[f]||f),h.subGraphIds==null&&(h.subGraphIds=[]),h.subGraphIds.push(...p.subgraphIds);for(let f of p.subgraphIds)a[f].parentGraphId=h.id}let l=s.graphs.filter(h=>h.parentGraphId==null),d=[],u=(h,p=0)=>{let f=[];h==null?f=l:f=(h.subGraphIds||[]).map(m=>a[m]),f.sort((m,y)=>y.nodes.length-m.nodes.length);for(let m of f)m.level=p,d.push(m),u(m,p+1)};u(),s.graphs=d}return r.push(...t),r})}selectGraphInPane(t,n,r=!1,o,s=!0){if(n===1&&this.panes().length===1){this.openGraphInSplitPane(t);return}if((this.panes()[n].modelGraph?.id||"")===t.id)return;let c=this.panes()[n];c.searchResults=void 0,c.selectedNodeDataProviderRunId=void 0;let l=c.id;if(this.paneIdToGraph[l]=t,this.uiStateService.setSelectedGraphId(t.id,t.collectionLabel||"",this.getPaneIndexById(l)),c.subgraphBreadcrumbs!=null&&c.subgraphBreadcrumbs.length>0){let d=[...c.subgraphBreadcrumbs];d[d.length-1].graphId=t.id,c.subgraphBreadcrumbs=d}this.processGraph(l,r,o,s)}selectGraphInCurrentPane(t,n=!1,r,o=!0){this.selectGraphInPane(t,this.getPaneIndexById(this.selectedPaneId()),n,r,o)}openGraphInSplitPane(t,n=!1,r=!0){let o=Ur();this.paneIdToGraph[o]=t,this.panes.update(c=>{let l=c[0];return l.widthFraction=.5,c.push({id:o,widthFraction:.5,flattenLayers:n,showOnNodeItemTypes:{[o]:this.getSavedShowOnNodeItemTypes()},showOnEdgeItemTypes:{[o]:this.getSavedShowOnEdgeItemTypes()}}),[...c]}),this.curSelectedRenderer.set({id:o,ownerType:Vc.GRAPH_PANEL});let s=this.getPaneIndexById(o);this.uiStateService.addPane(),this.selectPane(o),this.uiStateService.setSelectedGraphId(t.id,t.collectionLabel||"",s),this.uiStateService.setFlattenLayers(n,s);let a={eventType:tr.PROCESS_GRAPH_REQ,graph:t,showOnNodeItemTypes:this.getShowOnNodeItemTypes(o,o),nodeDataProviderRuns:{},config:this.config?this.config():void 0,paneId:o,groupNodeChildrenCountThreshold:this.getGroupNodeChildrenCountThreshold(),flattenLayers:n,keepLayersWithASingleChild:this.config()?.keepLayersWithASingleChild,initialLayout:r};this.workerService.worker.postMessage(a)}processGraph(t,n=!1,r,o=!0){if(r!=null){let a=this.getPaneById(t);a&&(a.snapshotToRestore=r)}this.setPaneLoading(t);let s={eventType:tr.PROCESS_GRAPH_REQ,graph:this.paneIdToGraph[t],showOnNodeItemTypes:this.getShowOnNodeItemTypes(t,t),nodeDataProviderRuns:{},config:this.config?this.config():void 0,paneId:t,groupNodeChildrenCountThreshold:this.getGroupNodeChildrenCountThreshold(),flattenLayers:n,keepLayersWithASingleChild:this.config()?.keepLayersWithASingleChild,initialLayout:o};this.workerService.worker.postMessage(s)}setFlattenLayersInCurrentPane(t){let n=this.getSelectedPane();if(!n)return;this.panes.update(o=>(n.flattenLayers=t,n.searchResults=void 0,[...o]));let r=this.getPaneIndexById(n.id);this.uiStateService.setFlattenLayers(t,r),this.uiStateService.setDeepestExpandedGroupNodeIds([],r)}toggleFlattenLayers(t){let n=this.getPaneById(t);if(!n)return;let r=n.flattenLayers===!0;this.panes.update(s=>(n.flattenLayers=!r,n.searchResults=void 0,[...s]));let o=this.getPaneIndexById(t);this.uiStateService.setFlattenLayers(!r,o),this.uiStateService.setDeepestExpandedGroupNodeIds([],o)}getFlattenLayers(t){return this.getPaneById(t)?.flattenLayers===!0}selectPane(t){this.selectedPaneId.set(t),this.uiStateService.selectPane(this.getPaneIndexById(t))}selectPaneByIndex(t){let n=this.panes()[t];n&&this.selectPane(n.id)}selectNode(t,n){this.panes.update(o=>{let s=this.getPaneById(t);return s?(s.selectedNodeInfo=n,[...o]):o}),this.uiStateService.setSelectedNodeId(n?.nodeId||"",this.getPaneIndexById(t));let r=this.getPaneById(t)?.modelGraph;if(r){let o=n?.nodeId||"",s=r.nodesById[o];if(s&&St(s)&&window.parent){let a=s.outputsMetadata||{},c=[];for(let l of Object.keys(a)){let u=a[l].tensor_name;u&&c.push(u)}window.parent.postMessage({cmd:"model-explorer-node-selected",nodeId:o,outputTensorNames:c},"*")}}if(r){let o=n?.nodeId||"";this.updateSelectedNode(o,r.id,r.collectionLabel,r.nodesById[o])}}getModelGraphFromSelectedPane(){return this.getPaneById(this.selectedPaneId())?.modelGraph}getModelGraphFromPane(t){return this.getPaneById(t)?.modelGraph}getModelGraphFromPaneIndex(t){return this.panes()[t]?.modelGraph}getSelectedNodeInfoFromSelectedPane(){return this.getPaneById(this.selectedPaneId())?.selectedNodeInfo}getSelectedPane(){return this.getPaneById(this.selectedPaneId())}setPaneWidthFraction(t){this.panes.update(n=>n.length!==2?n:(n[0].widthFraction=t,n[1].widthFraction=1-t,[...n])),this.uiStateService.resizePane(t)}setSelectedNodeDataProviderRunId(t,n){this.panes.update(r=>{let o=this.getPaneById(t);return o?(o.selectedNodeDataProviderRunId=n,[...r]):r})}getSelectedNodeDataProviderRunId(t){return this.getPaneById(t)?.selectedNodeDataProviderRunId}setPaneHasArtificialLayers(t,n){this.panes.update(r=>{let o=this.getPaneById(t);return o?(o.hasArtificialLayers=n,[...r]):r})}setNodeToReveal(t,n){this.panes.update(r=>{let o=this.getPaneById(t);return o?(o.nodeIdToReveal=n,[...r]):r})}closePane(t){delete this.paneIdToGraph[t],delete this.paneIdToCurModelGraphs[t],this.panes.update(n=>{let r=n.findIndex(o=>o.id===t);return r>=0&&(n.splice(r,1),this.uiStateService.removePane(r)),n[0].widthFraction=1,[...n]}),this.selectPane(this.panes()[0].id)}swapPane(){this.panes.update(t=>t.length!==2?t:[t[1],t[0]]),this.uiStateService.swapPane()}getPaneById(t){return this.panes().find(n=>n.id===t)}getPaneIndexById(t){return this.panes().findIndex(n=>n.id===t)}addSnapshot(t,n,r){this.panes.update(o=>{let s=this.getPaneById(r);return s&&(s.snapshots==null&&(s.snapshots={}),s.snapshots[n]==null&&(s.snapshots[n]=[]),s.snapshots[n].push(t)),[...o]})}deleteSnapshot(t,n,r){this.panes.update(o=>{let s=this.getPaneById(r);return s&&s.snapshots&&s.snapshots[n]&&s.snapshots[n].splice(t,1),[...o]})}getGraphById(t){for(let n of this.curGraphCollections())for(let r of n.graphs)if(r.id===t)return r}addSubgraphBreadcrumbItem(t,n,r,o){this.panes.update(s=>{let a=this.getPaneById(t);if(!a)return s;let c=[...a.subgraphBreadcrumbs||[]];return c.length===0?c.push({graphId:n,snapshot:o}):c[c.length-1]={graphId:n,snapshot:o},c.push({graphId:r}),a.subgraphBreadcrumbs=c,[...s]})}setCurrentSubgraphBreadcrumb(t,n){this.panes.update(r=>{let o=this.getPaneById(t);if(!o)return r;let s=[...o.subgraphBreadcrumbs||[]];return s.splice(n+1),s.length===1&&(s=[]),o.subgraphBreadcrumbs=s,[...r]})}setSearchResults(t,n){this.panes.update(r=>{let o=this.getPaneById(t);return o?(o.searchResults=n,[...r]):r})}clearSearchResults(t){this.panes.update(n=>{let r=this.getPaneById(t);return r?(r.searchResults={results:{}},[...n]):n})}toggleShowOnNode(t,n,r,o){this.panes.update(s=>{let a=this.getPaneById(t);if(!a)return s;a.showOnNodeItemTypes||(a.showOnNodeItemTypes={}),a.showOnNodeItemTypes[n]==null&&(a.showOnNodeItemTypes[n]={}),a.showOnNodeItemTypes[n][r]==null&&(a.showOnNodeItemTypes[n][r]={selected:!1});let c=a.showOnNodeItemTypes[n][r].selected;return a.showOnNodeItemTypes[n]=Z({},a.showOnNodeItemTypes[n]),a.showOnNodeItemTypes[n][r].selected=o??!c,a.showOnNodeItemTypes=Z({},a.showOnNodeItemTypes),[...s]})}toggleShowOnEdge(t,n,r,o){this.panes.update(s=>{let a=this.getPaneById(t);if(!a)return s;a.showOnEdgeItemTypes||(a.showOnEdgeItemTypes={}),a.showOnEdgeItemTypes[n]==null&&(a.showOnEdgeItemTypes[n]={}),a.showOnEdgeItemTypes[n][r]==null&&(a.showOnEdgeItemTypes[n][r]={selected:!1});let c=a.showOnEdgeItemTypes[n][r].selected;return a.showOnEdgeItemTypes[n]=Z({},a.showOnEdgeItemTypes[n]),a.showOnEdgeItemTypes[n][r].selected=o??!c,a.showOnEdgeItemTypes=Z({},a.showOnEdgeItemTypes),[...s]})}setShowOnNodeFilter(t,n,r,o){this.panes.update(s=>{let a=this.getPaneById(t);return a?(a.showOnNodeItemTypes||(a.showOnNodeItemTypes={}),a.showOnNodeItemTypes[n]==null&&(a.showOnNodeItemTypes[n]={}),a.showOnNodeItemTypes[n][r]==null&&(a.showOnNodeItemTypes[n][r]={selected:!1}),a.showOnNodeItemTypes[n][r].filterRegex=o,a.showOnNodeItemTypes=Z({},a.showOnNodeItemTypes),[...s]):s})}setShowOnNode(t,n,r){this.panes.update(o=>{let s=this.getPaneById(t);return s?(s.showOnNodeItemTypes||(s.showOnNodeItemTypes={}),s.showOnNodeItemTypes=Z({},s.showOnNodeItemTypes),s.showOnNodeItemTypes[n]=r,[...o]):o})}setShowOnEdge(t,n,r){this.panes.update(o=>{let s=this.getPaneById(t);return s?(s.showOnEdgeItemTypes||(s.showOnEdgeItemTypes={}),s.showOnEdgeItemTypes=Z({},s.showOnEdgeItemTypes),s.showOnEdgeItemTypes[n]=r,[...o]):o})}deleteShowOnNodeItemType(t){this.panes.update(n=>{for(let r of n){r.showOnNodeItemTypes=Z({},r.showOnNodeItemTypes);for(let o of Object.keys(r.showOnNodeItemTypes))for(let s of t){let a=r.showOnNodeItemTypes[o][s];a&&(a.selected=!1)}}return[...n]})}getShowOnNodeItemTypes(t,n){let r=this.getPaneById(t);return r?JSON.parse(JSON.stringify((r.showOnNodeItemTypes||{})[n]||{})):{}}getSavedShowOnNodeItemTypes(){let t={};if(!this.testMode){let n=this.localStorageService.getItem(Zb);n&&(t=JSON.parse(n))}return t}getSavedShowOnEdgeItemTypes(){let t={};if(!this.testMode){let n=this.localStorageService.getItem(Qb);n&&(t=JSON.parse(n))}return t}getShowOnEdgeItemTypes(t,n){let r=this.getPaneById(t);return r?JSON.parse(JSON.stringify((r.showOnEdgeItemTypes||{})[n]||{})):{}}getGraphByPaneId(t){return this.paneIdToGraph[t]}updateCurrentModelGraph(t,n){this.paneIdToCurModelGraphs[t]=n}getCurrentModelGraphFromPane(t){return this.paneIdToCurModelGraphs[t]}updateSelectedNode(t,n,r,o){let s=this.selectedNode();(s?.nodeId!==t||s?.graphId!==n||s?.collectionLabel!==r)&&this.selectedNode.set({nodeId:t,graphId:n,collectionLabel:r,node:o})}updateHoveredNode(t,n,r,o){let s=this.hoveredNode();(s?.nodeId!==t||s?.graphId!==n||s?.collectionLabel!==r)&&this.hoveredNode.set({nodeId:t,graphId:n,collectionLabel:r,node:o})}updateDoubleClickedNode(t,n,r,o){let s=this.doubleClickedNode();(s?.nodeId!==t||s?.graphId!==n||s?.collectionLabel!==r)&&this.doubleClickedNode.set({nodeId:t,graphId:n,collectionLabel:r,node:o})}reset(){this.workerService.worker.postMessage({eventType:tr.CLEANUP}),this.curGraphCollections.set([]),this.curToLocateNodeInfo.set(void 0),this.curSelectedRenderer.set(void 0),this.config.set(void 0),this.curInitialUiState.set(void 0),this.panes.set([{id:Ur(),widthFraction:1}]),this.selectedPaneId.set(this.panes()[0].id),this.remoteNodeDataPaths.set([]),this.groupNodeChildrenCountThresholdFromUrl=null,this.paneIdToGraph={},this.paneIdToCurModelGraphs={},this.init()}listenToWorker(){this.workerService.worker.addEventListener("message",t=>{let n=t.data;switch(n.eventType){case tr.PROCESS_GRAPH_RESP:this.handleGraphProcessed(n.modelGraph,n.paneId);break;default:break}})}init(){this.curSelectedRenderer.set({id:this.panes()[0].id,ownerType:Vc.GRAPH_PANEL});let t=new URLSearchParams(document.location.search);this.testMode=t.get("test_mode")==="1",this.groupNodeChildrenCountThresholdFromUrl=t.get("groupNodeChildrenCountThreshold");let n=this.panes()[0];n.showOnNodeItemTypes={[n.id]:this.getSavedShowOnNodeItemTypes()},n.showOnEdgeItemTypes={[n.id]:this.getSavedShowOnEdgeItemTypes()}}handleGraphProcessed(t,n){this.panes.update(r=>{for(let o of r)if(o.id===n){o.modelGraph=t;break}return[...r]}),this.modelGraphProcessed$.next({paneIndex:this.getPaneIndexById(n),modelGraph:t})}setPaneLoading(t){this.panes.update(n=>{for(let r of n)if(r.id===t){r.modelGraph=void 0;break}return[...n]})}getGroupNodeChildrenCountThreshold(){let t=Rm;return this.config&&(t=this.config()?.artificialLayerNodeCountThreshold||Rm),this.groupNodeChildrenCountThresholdFromUrl!=null&&(t=Number(this.groupNodeChildrenCountThresholdFromUrl)),t}static \u0275fac=function(n){return new(n||i)(X(no),X(Gc),X(jc))};static \u0275prov=J({token:i,factory:i.\u0275fac})}return i})();var s3=(()=>{let e=class e{constructor(n,r){this._renderer=n,this._elementRef=r,this.onChange=o=>{},this.onTouched=()=>{}}setProperty(n,r){this._renderer.setProperty(this._elementRef.nativeElement,n,r)}registerOnTouched(n){this.onTouched=n}registerOnChange(n){this.onChange=n}setDisabledState(n){this.setProperty("disabled",n)}};e.\u0275fac=function(r){return new(r||e)(M(Kl),M(Re))},e.\u0275dir=Ve({type:e});let i=e;return i})(),a3=(()=>{let e=class e extends s3{};e.\u0275fac=(()=>{let n;return function(o){return(n||(n=Li(e)))(o||e)}})(),e.\u0275dir=Ve({type:e,features:[sn]});let i=e;return i})(),Ba=new me(""),MQ={provide:Ba,useExisting:kr(()=>Um),multi:!0},Um=(()=>{let e=class e extends a3{writeValue(n){this.setProperty("checked",n)}};e.\u0275fac=(()=>{let n;return function(o){return(n||(n=Li(e)))(o||e)}})(),e.\u0275dir=Ve({type:e,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(r,o){r&1&&H("change",function(a){return o.onChange(a.target.checked)})("blur",function(){return o.onTouched()})},features:[Ft([MQ]),sn]});let i=e;return i})(),EQ={provide:Ba,useExisting:kr(()=>Xs),multi:!0};function IQ(){let i=Oa()?Oa().getUserAgent():"";return/android (\d+)/.test(i.toLowerCase())}var TQ=new me(""),Xs=(()=>{let e=class e extends s3{constructor(n,r,o){super(n,r),this._compositionMode=o,this._composing=!1,this._compositionMode==null&&(this._compositionMode=!IQ())}writeValue(n){let r=n??"";this.setProperty("value",r)}_handleInput(n){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(n)}_compositionStart(){this._composing=!0}_compositionEnd(n){this._composing=!1,this._compositionMode&&this.onChange(n)}};e.\u0275fac=function(r){return new(r||e)(M(Kl),M(Re),M(TQ,8))},e.\u0275dir=Ve({type:e,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(r,o){r&1&&H("input",function(a){return o._handleInput(a.target.value)})("blur",function(){return o.onTouched()})("compositionstart",function(){return o._compositionStart()})("compositionend",function(a){return o._compositionEnd(a.target.value)})},features:[Ft([EQ]),sn]});let i=e;return i})();function Wc(i){return i==null||(typeof i=="string"||Array.isArray(i))&&i.length===0}function c3(i){return i!=null&&typeof i.length=="number"}var vd=new me(""),iT=new me(""),DQ=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,oy=class{static min(e){return PQ(e)}static max(e){return OQ(e)}static required(e){return RQ(e)}static requiredTrue(e){return AQ(e)}static email(e){return NQ(e)}static minLength(e){return kQ(e)}static maxLength(e){return LQ(e)}static pattern(e){return FQ(e)}static nullValidator(e){return l3(e)}static compose(e){return m3(e)}static composeAsync(e){return g3(e)}};function PQ(i){return e=>{if(Wc(e.value)||Wc(i))return null;let t=parseFloat(e.value);return!isNaN(t)&&t{if(Wc(e.value)||Wc(i))return null;let t=parseFloat(e.value);return!isNaN(t)&&t>i?{max:{max:i,actual:e.value}}:null}}function RQ(i){return Wc(i.value)?{required:!0}:null}function AQ(i){return i.value===!0?null:{required:!0}}function NQ(i){return Wc(i.value)||DQ.test(i.value)?null:{email:!0}}function kQ(i){return e=>Wc(e.value)||!c3(e.value)?null:e.value.lengthc3(e.value)&&e.value.length>i?{maxlength:{requiredLength:i,actualLength:e.value.length}}:null}function FQ(i){if(!i)return l3;let e,t;return typeof i=="string"?(t="",i.charAt(0)!=="^"&&(t+="^"),t+=i,i.charAt(i.length-1)!=="$"&&(t+="$"),e=new RegExp(t)):(t=i.toString(),e=i),n=>{if(Wc(n.value))return null;let r=n.value;return e.test(r)?null:{pattern:{requiredPattern:t,actualValue:r}}}}function l3(i){return null}function d3(i){return i!=null}function u3(i){return ed(i)?Jn(i):i}function h3(i){let e={};return i.forEach(t=>{e=t!=null?Z(Z({},e),t):e}),Object.keys(e).length===0?null:e}function p3(i,e){return e.map(t=>t(i))}function BQ(i){return!i.validate}function f3(i){return i.map(e=>BQ(e)?e:t=>e.validate(t))}function m3(i){if(!i)return null;let e=i.filter(d3);return e.length==0?null:function(t){return h3(p3(t,e))}}function rT(i){return i!=null?m3(f3(i)):null}function g3(i){if(!i)return null;let e=i.filter(d3);return e.length==0?null:function(t){let n=p3(t,e).map(u3);return Pf(n).pipe(Je(h3))}}function oT(i){return i!=null?g3(f3(i)):null}function t3(i,e){return i===null?[e]:Array.isArray(i)?[...i,e]:[i,e]}function _3(i){return i._rawValidators}function v3(i){return i._rawAsyncValidators}function JI(i){return i?Array.isArray(i)?i:[i]:[]}function sy(i,e){return Array.isArray(i)?i.includes(e):i===e}function n3(i,e){let t=JI(e);return JI(i).forEach(r=>{sy(t,r)||t.push(r)}),t}function i3(i,e){return JI(e).filter(t=>!sy(i,t))}var ay=class{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(e){this._rawValidators=e||[],this._composedValidatorFn=rT(this._rawValidators)}_setAsyncValidators(e){this._rawAsyncValidators=e||[],this._composedAsyncValidatorFn=oT(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(e){this._onDestroyCallbacks.push(e)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(e=>e()),this._onDestroyCallbacks=[]}reset(e=void 0){this.control&&this.control.reset(e)}hasError(e,t){return this.control?this.control.hasError(e,t):!1}getError(e,t){return this.control?this.control.getError(e,t):null}},Ih=class extends ay{get formDirective(){return null}get path(){return null}},_d=class extends ay{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}},eT=class{constructor(e){this._cd=e}get isTouched(){return this._cd?.control?._touched?.(),!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return this._cd?.control?._pristine?.(),!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return this._cd?.control?._status?.(),!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return this._cd?._submitted?.(),!!this._cd?.submitted}},VQ={"[class.ng-untouched]":"isUntouched","[class.ng-touched]":"isTouched","[class.ng-pristine]":"isPristine","[class.ng-dirty]":"isDirty","[class.ng-valid]":"isValid","[class.ng-invalid]":"isInvalid","[class.ng-pending]":"isPending"},uTe=yt(Z({},VQ),{"[class.ng-submitted]":"isSubmitted"}),Ho=(()=>{let e=class e extends eT{constructor(n){super(n)}};e.\u0275fac=function(r){return new(r||e)(M(_d,2))},e.\u0275dir=Ve({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(r,o){r&2&&re("ng-untouched",o.isUntouched)("ng-touched",o.isTouched)("ng-pristine",o.isPristine)("ng-dirty",o.isDirty)("ng-valid",o.isValid)("ng-invalid",o.isInvalid)("ng-pending",o.isPending)},features:[sn]});let i=e;return i})();var Lm="VALID",ry="INVALID",Mh="PENDING",Fm="DISABLED",$c=class{},cy=class extends $c{constructor(e,t){super(),this.value=e,this.source=t}},Vm=class extends $c{constructor(e,t){super(),this.pristine=e,this.source=t}},zm=class extends $c{constructor(e,t){super(),this.touched=e,this.source=t}},Eh=class extends $c{constructor(e,t){super(),this.status=e,this.source=t}},tT=class extends $c{constructor(e){super(),this.source=e}},nT=class extends $c{constructor(e){super(),this.source=e}};function b3(i){return(my(i)?i.validators:i)||null}function zQ(i){return Array.isArray(i)?rT(i):i||null}function y3(i,e){return(my(e)?e.asyncValidators:i)||null}function UQ(i){return Array.isArray(i)?oT(i):i||null}function my(i){return i!=null&&!Array.isArray(i)&&typeof i=="object"}function HQ(i,e,t){let n=i.controls;if(!(e?Object.keys(n):n).length)throw new Oe(1e3,"");if(!n[t])throw new Oe(1001,"")}function GQ(i,e,t){i._forEachChild((n,r)=>{if(t[r]===void 0)throw new Oe(1002,"")})}var ly=class{constructor(e,t){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=null,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this._status=Bt(()=>this.statusReactive()),this.statusReactive=ct(void 0),this._pristine=Bt(()=>this.pristineReactive()),this.pristineReactive=ct(!0),this._touched=Bt(()=>this.touchedReactive()),this.touchedReactive=ct(!1),this._events=new pe,this.events=this._events.asObservable(),this._onDisabledChange=[],this._assignValidators(e),this._assignAsyncValidators(t)}get validator(){return this._composedValidatorFn}set validator(e){this._rawValidators=this._composedValidatorFn=e}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(e){this._rawAsyncValidators=this._composedAsyncValidatorFn=e}get parent(){return this._parent}get status(){return zr(this.statusReactive)}set status(e){zr(()=>this.statusReactive.set(e))}get valid(){return this.status===Lm}get invalid(){return this.status===ry}get pending(){return this.status==Mh}get disabled(){return this.status===Fm}get enabled(){return this.status!==Fm}get pristine(){return zr(this.pristineReactive)}set pristine(e){zr(()=>this.pristineReactive.set(e))}get dirty(){return!this.pristine}get touched(){return zr(this.touchedReactive)}set touched(e){zr(()=>this.touchedReactive.set(e))}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(e){this._assignValidators(e)}setAsyncValidators(e){this._assignAsyncValidators(e)}addValidators(e){this.setValidators(n3(e,this._rawValidators))}addAsyncValidators(e){this.setAsyncValidators(n3(e,this._rawAsyncValidators))}removeValidators(e){this.setValidators(i3(e,this._rawValidators))}removeAsyncValidators(e){this.setAsyncValidators(i3(e,this._rawAsyncValidators))}hasValidator(e){return sy(this._rawValidators,e)}hasAsyncValidator(e){return sy(this._rawAsyncValidators,e)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(e={}){let t=this.touched===!1;this.touched=!0;let n=e.sourceControl??this;this._parent&&!e.onlySelf&&this._parent.markAsTouched(yt(Z({},e),{sourceControl:n})),t&&e.emitEvent!==!1&&this._events.next(new zm(!0,n))}markAllAsTouched(e={}){this.markAsTouched({onlySelf:!0,emitEvent:e.emitEvent,sourceControl:this}),this._forEachChild(t=>t.markAllAsTouched(e))}markAsUntouched(e={}){let t=this.touched===!0;this.touched=!1,this._pendingTouched=!1;let n=e.sourceControl??this;this._forEachChild(r=>{r.markAsUntouched({onlySelf:!0,emitEvent:e.emitEvent,sourceControl:n})}),this._parent&&!e.onlySelf&&this._parent._updateTouched(e,n),t&&e.emitEvent!==!1&&this._events.next(new zm(!1,n))}markAsDirty(e={}){let t=this.pristine===!0;this.pristine=!1;let n=e.sourceControl??this;this._parent&&!e.onlySelf&&this._parent.markAsDirty(yt(Z({},e),{sourceControl:n})),t&&e.emitEvent!==!1&&this._events.next(new Vm(!1,n))}markAsPristine(e={}){let t=this.pristine===!1;this.pristine=!0,this._pendingDirty=!1;let n=e.sourceControl??this;this._forEachChild(r=>{r.markAsPristine({onlySelf:!0,emitEvent:e.emitEvent})}),this._parent&&!e.onlySelf&&this._parent._updatePristine(e,n),t&&e.emitEvent!==!1&&this._events.next(new Vm(!0,n))}markAsPending(e={}){this.status=Mh;let t=e.sourceControl??this;e.emitEvent!==!1&&(this._events.next(new Eh(this.status,t)),this.statusChanges.emit(this.status)),this._parent&&!e.onlySelf&&this._parent.markAsPending(yt(Z({},e),{sourceControl:t}))}disable(e={}){let t=this._parentMarkedDirty(e.onlySelf);this.status=Fm,this.errors=null,this._forEachChild(r=>{r.disable(yt(Z({},e),{onlySelf:!0}))}),this._updateValue();let n=e.sourceControl??this;e.emitEvent!==!1&&(this._events.next(new cy(this.value,n)),this._events.next(new Eh(this.status,n)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(yt(Z({},e),{skipPristineCheck:t}),this),this._onDisabledChange.forEach(r=>r(!0))}enable(e={}){let t=this._parentMarkedDirty(e.onlySelf);this.status=Lm,this._forEachChild(n=>{n.enable(yt(Z({},e),{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:e.emitEvent}),this._updateAncestors(yt(Z({},e),{skipPristineCheck:t}),this),this._onDisabledChange.forEach(n=>n(!1))}_updateAncestors(e,t){this._parent&&!e.onlySelf&&(this._parent.updateValueAndValidity(e),e.skipPristineCheck||this._parent._updatePristine({},t),this._parent._updateTouched({},t))}setParent(e){this._parent=e}getRawValue(){return this.value}updateValueAndValidity(e={}){if(this._setInitialStatus(),this._updateValue(),this.enabled){let n=this._cancelExistingSubscription();this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Lm||this.status===Mh)&&this._runAsyncValidator(n,e.emitEvent)}let t=e.sourceControl??this;e.emitEvent!==!1&&(this._events.next(new cy(this.value,t)),this._events.next(new Eh(this.status,t)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!e.onlySelf&&this._parent.updateValueAndValidity(yt(Z({},e),{sourceControl:t}))}_updateTreeValidity(e={emitEvent:!0}){this._forEachChild(t=>t._updateTreeValidity(e)),this.updateValueAndValidity({onlySelf:!0,emitEvent:e.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Fm:Lm}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(e,t){if(this.asyncValidator){this.status=Mh,this._hasOwnPendingAsyncValidator={emitEvent:t!==!1};let n=u3(this.asyncValidator(this));this._asyncValidationSubscription=n.subscribe(r=>{this._hasOwnPendingAsyncValidator=null,this.setErrors(r,{emitEvent:t,shouldHaveEmitted:e})})}}_cancelExistingSubscription(){if(this._asyncValidationSubscription){this._asyncValidationSubscription.unsubscribe();let e=this._hasOwnPendingAsyncValidator?.emitEvent??!1;return this._hasOwnPendingAsyncValidator=null,e}return!1}setErrors(e,t={}){this.errors=e,this._updateControlsErrors(t.emitEvent!==!1,this,t.shouldHaveEmitted)}get(e){let t=e;return t==null||(Array.isArray(t)||(t=t.split(".")),t.length===0)?null:t.reduce((n,r)=>n&&n._find(r),this)}getError(e,t){let n=t?this.get(t):this;return n&&n.errors?n.errors[e]:null}hasError(e,t){return!!this.getError(e,t)}get root(){let e=this;for(;e._parent;)e=e._parent;return e}_updateControlsErrors(e,t,n){this.status=this._calculateStatus(),e&&this.statusChanges.emit(this.status),(e||n)&&this._events.next(new Eh(this.status,t)),this._parent&&this._parent._updateControlsErrors(e,t,n)}_initObservables(){this.valueChanges=new Ie,this.statusChanges=new Ie}_calculateStatus(){return this._allControlsDisabled()?Fm:this.errors?ry:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(Mh)?Mh:this._anyControlsHaveStatus(ry)?ry:Lm}_anyControlsHaveStatus(e){return this._anyControls(t=>t.status===e)}_anyControlsDirty(){return this._anyControls(e=>e.dirty)}_anyControlsTouched(){return this._anyControls(e=>e.touched)}_updatePristine(e,t){let n=!this._anyControlsDirty(),r=this.pristine!==n;this.pristine=n,this._parent&&!e.onlySelf&&this._parent._updatePristine(e,t),r&&this._events.next(new Vm(this.pristine,t))}_updateTouched(e={},t){this.touched=this._anyControlsTouched(),this._events.next(new zm(this.touched,t)),this._parent&&!e.onlySelf&&this._parent._updateTouched(e,t)}_registerOnCollectionChange(e){this._onCollectionChange=e}_setUpdateStrategy(e){my(e)&&e.updateOn!=null&&(this._updateOn=e.updateOn)}_parentMarkedDirty(e){let t=this._parent&&this._parent.dirty;return!e&&!!t&&!this._parent._anyControlsDirty()}_find(e){return null}_assignValidators(e){this._rawValidators=Array.isArray(e)?e.slice():e,this._composedValidatorFn=zQ(this._rawValidators)}_assignAsyncValidators(e){this._rawAsyncValidators=Array.isArray(e)?e.slice():e,this._composedAsyncValidatorFn=UQ(this._rawAsyncValidators)}},dy=class extends ly{constructor(e,t,n){super(b3(t),y3(n,t)),this.controls=e,this._initObservables(),this._setUpdateStrategy(t),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(e,t){return this.controls[e]?this.controls[e]:(this.controls[e]=t,t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange),t)}addControl(e,t,n={}){this.registerControl(e,t),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}removeControl(e,t={}){this.controls[e]&&this.controls[e]._registerOnCollectionChange(()=>{}),delete this.controls[e],this.updateValueAndValidity({emitEvent:t.emitEvent}),this._onCollectionChange()}setControl(e,t,n={}){this.controls[e]&&this.controls[e]._registerOnCollectionChange(()=>{}),delete this.controls[e],t&&this.registerControl(e,t),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}contains(e){return this.controls.hasOwnProperty(e)&&this.controls[e].enabled}setValue(e,t={}){GQ(this,!0,e),Object.keys(e).forEach(n=>{HQ(this,!0,n),this.controls[n].setValue(e[n],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)}patchValue(e,t={}){e!=null&&(Object.keys(e).forEach(n=>{let r=this.controls[n];r&&r.patchValue(e[n],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t))}reset(e={},t={}){this._forEachChild((n,r)=>{n.reset(e?e[r]:null,{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t,this),this._updateTouched(t,this),this.updateValueAndValidity(t)}getRawValue(){return this._reduceChildren({},(e,t,n)=>(e[n]=t.getRawValue(),e))}_syncPendingControls(){let e=this._reduceChildren(!1,(t,n)=>n._syncPendingControls()?!0:t);return e&&this.updateValueAndValidity({onlySelf:!0}),e}_forEachChild(e){Object.keys(this.controls).forEach(t=>{let n=this.controls[t];n&&e(n,t)})}_setUpControls(){this._forEachChild(e=>{e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(e){for(let[t,n]of Object.entries(this.controls))if(this.contains(t)&&e(n))return!0;return!1}_reduceValue(){let e={};return this._reduceChildren(e,(t,n,r)=>((n.enabled||this.disabled)&&(t[r]=n.value),t))}_reduceChildren(e,t){let n=e;return this._forEachChild((r,o)=>{n=t(n,r,o)}),n}_allControlsDisabled(){for(let e of Object.keys(this.controls))if(this.controls[e].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(e){return this.controls.hasOwnProperty(e)?this.controls[e]:null}};var gy=new me("CallSetDisabledState",{providedIn:"root",factory:()=>sT}),sT="always";function uy(i,e,t=sT){aT(i,e),e.valueAccessor.writeValue(i.value),(i.disabled||t==="always")&&e.valueAccessor.setDisabledState?.(i.disabled),WQ(i,e),qQ(i,e),$Q(i,e),jQ(i,e)}function hy(i,e,t=!0){let n=()=>{};e.valueAccessor&&(e.valueAccessor.registerOnChange(n),e.valueAccessor.registerOnTouched(n)),fy(i,e),i&&(e._invokeOnDestroyCallbacks(),i._registerOnCollectionChange(()=>{}))}function py(i,e){i.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(e)})}function jQ(i,e){if(e.valueAccessor.setDisabledState){let t=n=>{e.valueAccessor.setDisabledState(n)};i.registerOnDisabledChange(t),e._registerOnDestroy(()=>{i._unregisterOnDisabledChange(t)})}}function aT(i,e){let t=_3(i);e.validator!==null?i.setValidators(t3(t,e.validator)):typeof t=="function"&&i.setValidators([t]);let n=v3(i);e.asyncValidator!==null?i.setAsyncValidators(t3(n,e.asyncValidator)):typeof n=="function"&&i.setAsyncValidators([n]);let r=()=>i.updateValueAndValidity();py(e._rawValidators,r),py(e._rawAsyncValidators,r)}function fy(i,e){let t=!1;if(i!==null){if(e.validator!==null){let r=_3(i);if(Array.isArray(r)&&r.length>0){let o=r.filter(s=>s!==e.validator);o.length!==r.length&&(t=!0,i.setValidators(o))}}if(e.asyncValidator!==null){let r=v3(i);if(Array.isArray(r)&&r.length>0){let o=r.filter(s=>s!==e.asyncValidator);o.length!==r.length&&(t=!0,i.setAsyncValidators(o))}}}let n=()=>{};return py(e._rawValidators,n),py(e._rawAsyncValidators,n),t}function WQ(i,e){e.valueAccessor.registerOnChange(t=>{i._pendingValue=t,i._pendingChange=!0,i._pendingDirty=!0,i.updateOn==="change"&&x3(i,e)})}function $Q(i,e){e.valueAccessor.registerOnTouched(()=>{i._pendingTouched=!0,i.updateOn==="blur"&&i._pendingChange&&x3(i,e),i.updateOn!=="submit"&&i.markAsTouched()})}function x3(i,e){i._pendingDirty&&i.markAsDirty(),i.setValue(i._pendingValue,{emitModelToViewChange:!1}),e.viewToModelUpdate(i._pendingValue),i._pendingChange=!1}function qQ(i,e){let t=(n,r)=>{e.valueAccessor.writeValue(n),r&&e.viewToModelUpdate(n)};i.registerOnChange(t),e._registerOnDestroy(()=>{i._unregisterOnChange(t)})}function w3(i,e){i==null,aT(i,e)}function YQ(i,e){return fy(i,e)}function XQ(i,e){if(!i.hasOwnProperty("model"))return!1;let t=i.model;return t.isFirstChange()?!0:!Object.is(e,t.currentValue)}function ZQ(i){return Object.getPrototypeOf(i.constructor)===a3}function C3(i,e){i._syncPendingControls(),e.forEach(t=>{let n=t.control;n.updateOn==="submit"&&n._pendingChange&&(t.viewToModelUpdate(n._pendingValue),n._pendingChange=!1)})}function QQ(i,e){if(!e)return null;Array.isArray(e);let t,n,r;return e.forEach(o=>{o.constructor===Xs?t=o:ZQ(o)?n=o:r=o}),r||n||t||null}function KQ(i,e){let t=i.indexOf(e);t>-1&&i.splice(t,1)}var JQ={provide:Ih,useExisting:kr(()=>cT)},Bm=Promise.resolve(),cT=(()=>{let e=class e extends Ih{get submitted(){return zr(this.submittedReactive)}constructor(n,r,o){super(),this.callSetDisabledState=o,this._submitted=Bt(()=>this.submittedReactive()),this.submittedReactive=ct(!1),this._directives=new Set,this.ngSubmit=new Ie,this.form=new dy({},rT(n),oT(r))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(n){Bm.then(()=>{let r=this._findContainer(n.path);n.control=r.registerControl(n.name,n.control),uy(n.control,n,this.callSetDisabledState),n.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(n)})}getControl(n){return this.form.get(n.path)}removeControl(n){Bm.then(()=>{let r=this._findContainer(n.path);r&&r.removeControl(n.name),this._directives.delete(n)})}addFormGroup(n){Bm.then(()=>{let r=this._findContainer(n.path),o=new dy({});w3(o,n),r.registerControl(n.name,o),o.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(n){Bm.then(()=>{let r=this._findContainer(n.path);r&&r.removeControl(n.name)})}getFormGroup(n){return this.form.get(n.path)}updateModel(n,r){Bm.then(()=>{this.form.get(n.path).setValue(r)})}setValue(n){this.control.setValue(n)}onSubmit(n){return this.submittedReactive.set(!0),C3(this.form,this._directives),this.ngSubmit.emit(n),n?.target?.method==="dialog"}onReset(){this.resetForm()}resetForm(n=void 0){this.form.reset(n),this.submittedReactive.set(!1)}_setUpdateStrategy(){this.options&&this.options.updateOn!=null&&(this.form._updateOn=this.options.updateOn)}_findContainer(n){return n.pop(),n.length?this.form.get(n):this.form}};e.\u0275fac=function(r){return new(r||e)(M(vd,10),M(iT,10),M(gy,8))},e.\u0275dir=Ve({type:e,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(r,o){r&1&&H("submit",function(a){return o.onSubmit(a)})("reset",function(){return o.onReset()})},inputs:{options:[0,"ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[Ft([JQ]),sn]});let i=e;return i})();function r3(i,e){let t=i.indexOf(e);t>-1&&i.splice(t,1)}function o3(i){return typeof i=="object"&&i!==null&&Object.keys(i).length===2&&"value"in i&&"disabled"in i}var vr=class extends ly{constructor(e=null,t,n){super(b3(t),y3(n,t)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(e),this._setUpdateStrategy(t),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),my(t)&&(t.nonNullable||t.initialValueIsDefault)&&(o3(e)?this.defaultValue=e.value:this.defaultValue=e)}setValue(e,t={}){this.value=this._pendingValue=e,this._onChange.length&&t.emitModelToViewChange!==!1&&this._onChange.forEach(n=>n(this.value,t.emitViewToModelChange!==!1)),this.updateValueAndValidity(t)}patchValue(e,t={}){this.setValue(e,t)}reset(e=this.defaultValue,t={}){this._applyFormState(e),this.markAsPristine(t),this.markAsUntouched(t),this.setValue(this.value,t),this._pendingChange=!1}_updateValue(){}_anyControls(e){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(e){this._onChange.push(e)}_unregisterOnChange(e){r3(this._onChange,e)}registerOnDisabledChange(e){this._onDisabledChange.push(e)}_unregisterOnDisabledChange(e){r3(this._onDisabledChange,e)}_forEachChild(e){}_syncPendingControls(){return this.updateOn==="submit"&&(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),this._pendingChange)?(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),!0):!1}_applyFormState(e){o3(e)?(this.value=this._pendingValue=e.value,e.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=e}};var eK=i=>i instanceof vr;var S3=new me(""),tK={provide:_d,useExisting:kr(()=>vo)},vo=(()=>{let e=class e extends _d{set isDisabled(n){}constructor(n,r,o,s,a){super(),this._ngModelWarningConfig=s,this.callSetDisabledState=a,this.update=new Ie,this._ngModelWarningSent=!1,this._setValidators(n),this._setAsyncValidators(r),this.valueAccessor=QQ(this,o)}ngOnChanges(n){if(this._isControlChanged(n)){let r=n.form.previousValue;r&&hy(r,this,!1),uy(this.form,this,this.callSetDisabledState),this.form.updateValueAndValidity({emitEvent:!1})}XQ(n,this.viewModel)&&(this.form.setValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.form&&hy(this.form,this,!1)}get path(){return[]}get control(){return this.form}viewToModelUpdate(n){this.viewModel=n,this.update.emit(n)}_isControlChanged(n){return n.hasOwnProperty("form")}};e._ngModelWarningSentOnce=!1,e.\u0275fac=function(r){return new(r||e)(M(vd,10),M(iT,10),M(Ba,10),M(S3,8),M(gy,8))},e.\u0275dir=Ve({type:e,selectors:[["","formControl",""]],inputs:{form:[0,"formControl","form"],isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"]},outputs:{update:"ngModelChange"},exportAs:["ngForm"],features:[Ft([tK]),sn,dn]});let i=e;return i})(),nK={provide:Ih,useExisting:kr(()=>lT)},lT=(()=>{let e=class e extends Ih{get submitted(){return zr(this._submittedReactive)}set submitted(n){this._submittedReactive.set(n)}constructor(n,r,o){super(),this.callSetDisabledState=o,this._submitted=Bt(()=>this._submittedReactive()),this._submittedReactive=ct(!1),this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new Ie,this._setValidators(n),this._setAsyncValidators(r)}ngOnChanges(n){this._checkFormPresent(),n.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(fy(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(n){let r=this.form.get(n.path);return uy(r,n,this.callSetDisabledState),r.updateValueAndValidity({emitEvent:!1}),this.directives.push(n),r}getControl(n){return this.form.get(n.path)}removeControl(n){hy(n.control||null,n,!1),KQ(this.directives,n)}addFormGroup(n){this._setUpFormContainer(n)}removeFormGroup(n){this._cleanUpFormContainer(n)}getFormGroup(n){return this.form.get(n.path)}addFormArray(n){this._setUpFormContainer(n)}removeFormArray(n){this._cleanUpFormContainer(n)}getFormArray(n){return this.form.get(n.path)}updateModel(n,r){this.form.get(n.path).setValue(r)}onSubmit(n){return this._submittedReactive.set(!0),C3(this.form,this.directives),this.ngSubmit.emit(n),this.form._events.next(new tT(this.control)),n?.target?.method==="dialog"}onReset(){this.resetForm()}resetForm(n=void 0){this.form.reset(n),this._submittedReactive.set(!1),this.form._events.next(new nT(this.form))}_updateDomValue(){this.directives.forEach(n=>{let r=n.control,o=this.form.get(n.path);r!==o&&(hy(r||null,n),eK(o)&&(uy(o,n,this.callSetDisabledState),n.control=o))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(n){let r=this.form.get(n.path);w3(r,n),r.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(n){if(this.form){let r=this.form.get(n.path);r&&YQ(r,n)&&r.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){aT(this.form,this),this._oldForm&&fy(this._oldForm,this)}_checkFormPresent(){this.form}};e.\u0275fac=function(r){return new(r||e)(M(vd,10),M(iT,10),M(gy,8))},e.\u0275dir=Ve({type:e,selectors:[["","formGroup",""]],hostBindings:function(r,o){r&1&&H("submit",function(a){return o.onSubmit(a)})("reset",function(){return o.onReset()})},inputs:{form:[0,"formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[Ft([nK]),sn,dn]});let i=e;return i})();var iK=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=rt({type:e}),e.\u0275inj=it({});let i=e;return i})();var br=(()=>{let e=class e{static withConfig(n){return{ngModule:e,providers:[{provide:S3,useValue:n.warnOnNgModelWithFormControl??"always"},{provide:gy,useValue:n.callSetDisabledState??sT}]}}};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=rt({type:e}),e.\u0275inj=it({imports:[iK]});let i=e;return i})();var uT;try{uT=typeof Intl<"u"&&Intl.v8BreakIterator}catch{uT=!1}var gn=(()=>{let e=class e{constructor(n){this._platformId=n,this.isBrowser=this._platformId?gL(this._platformId):typeof document=="object"&&!!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||uT)&&typeof CSS<"u"&&!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}};e.\u0275fac=function(r){return new(r||e)(X(Da))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();var Hm;function rK(){if(Hm==null&&typeof window<"u")try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>Hm=!0}))}finally{Hm=Hm||!1}return Hm}function Hr(i){return rK()?i:!!i.capture}var ms=function(i){return i[i.NORMAL=0]="NORMAL",i[i.NEGATED=1]="NEGATED",i[i.INVERTED=2]="INVERTED",i}(ms||{}),_y,yd;function vy(){if(yd==null){if(typeof document!="object"||!document||typeof Element!="function"||!Element)return yd=!1,yd;if("scrollBehavior"in document.documentElement.style)yd=!0;else{let i=Element.prototype.scrollTo;i?yd=!/\{\s*\[native code\]\s*\}/.test(i.toString()):yd=!1}}return yd}function Th(){if(typeof document!="object"||!document)return ms.NORMAL;if(_y==null){let i=document.createElement("div"),e=i.style;i.dir="rtl",e.width="1px",e.overflow="auto",e.visibility="hidden",e.pointerEvents="none",e.position="absolute";let t=document.createElement("div"),n=t.style;n.width="2px",n.height="1px",i.appendChild(t),document.body.appendChild(i),_y=ms.NORMAL,i.scrollLeft===0&&(i.scrollLeft=1,_y=i.scrollLeft===0?ms.NEGATED:ms.INVERTED),i.remove()}return _y}var dT;function oK(){if(dT==null){let i=typeof document<"u"?document.head:null;dT=!!(i&&(i.createShadowRoot||i.attachShadow))}return dT}function Dh(i){if(oK()){let e=i.getRootNode?i.getRootNode():null;if(typeof ShadowRoot<"u"&&ShadowRoot&&e instanceof ShadowRoot)return e}return null}function Gm(){let i=typeof document<"u"&&document?document.activeElement:null;for(;i&&i.shadowRoot;){let e=i.shadowRoot.activeElement;if(e===i)break;i=e}return i}function Ii(i){return i.composedPath?i.composedPath()[0]:i.target}function jm(){return typeof __karma__<"u"&&!!__karma__||typeof jasmine<"u"&&!!jasmine||typeof jest<"u"&&!!jest||typeof Mocha<"u"&&!!Mocha}function bi(i,...e){return e.length?e.some(t=>i[t]):i.altKey||i.shiftKey||i.ctrlKey||i.metaKey}function Ph(i){return i!=null&&`${i}`!="false"}function Qs(i,e=0){return sK(i)?Number(i):e}function sK(i){return!isNaN(parseFloat(i))&&!isNaN(Number(i))}function xd(i){return Array.isArray(i)?i:[i]}function yi(i){return i==null?"":typeof i=="string"?i:`${i}px`}function nr(i){return i instanceof Re?i.nativeElement:i}var aK=(()=>{let e=class e{create(n){return typeof MutationObserver>"u"?null:new MutationObserver(n)}};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();var by=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=rt({type:e}),e.\u0275inj=it({providers:[aK]});let i=e;return i})();var M3=new Set,wd,cK=(()=>{let e=class e{constructor(n,r){this._platform=n,this._nonce=r,this._matchMedia=this._platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):dK}matchMedia(n){return(this._platform.WEBKIT||this._platform.BLINK)&&lK(n,this._nonce),this._matchMedia(n)}};e.\u0275fac=function(r){return new(r||e)(X(gn),X(Yf,8))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();function lK(i,e){if(!M3.has(i))try{wd||(wd=document.createElement("style"),e&&wd.setAttribute("nonce",e),wd.setAttribute("type","text/css"),document.head.appendChild(wd)),wd.sheet&&(wd.sheet.insertRule(`@media ${i} {body{ }}`,0),M3.add(i))}catch(t){console.error(t)}}function dK(i){return{matches:i==="all"||i==="",media:i,addListener:()=>{},removeListener:()=>{}}}var Oh=(()=>{let e=class e{constructor(n,r){this._mediaMatcher=n,this._zone=r,this._queries=new Map,this._destroySubject=new pe}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(n){return E3(xd(n)).some(o=>this._registerQuery(o).mql.matches)}observe(n){let o=E3(xd(n)).map(a=>this._registerQuery(a).observable),s=eo(o);return s=Ps(s.pipe(_n(1)),s.pipe(Nf(1),Oo(0))),s.pipe(Je(a=>{let c={matches:!1,breakpoints:{}};return a.forEach(({matches:l,query:d})=>{c.matches=c.matches||l,c.breakpoints[d]=l}),c}))}_registerQuery(n){if(this._queries.has(n))return this._queries.get(n);let r=this._mediaMatcher.matchMedia(n),s={observable:new Et(a=>{let c=l=>this._zone.run(()=>a.next(l));return r.addListener(c),()=>{r.removeListener(c)}}).pipe(gi(r),Je(({matches:a})=>({query:n,matches:a})),Ze(this._destroySubject)),mql:r};return this._queries.set(n,s),s}};e.\u0275fac=function(r){return new(r||e)(X(cK),X(Fe))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();function E3(i){return i.map(e=>e.split(",")).reduce((e,t)=>e.concat(t)).map(e=>e.trim())}var yy={XSmall:"(max-width: 599.98px)",Small:"(min-width: 600px) and (max-width: 959.98px)",Medium:"(min-width: 960px) and (max-width: 1279.98px)",Large:"(min-width: 1280px) and (max-width: 1919.98px)",XLarge:"(min-width: 1920px)",Handset:"(max-width: 599.98px) and (orientation: portrait), (max-width: 959.98px) and (orientation: landscape)",Tablet:"(min-width: 600px) and (max-width: 839.98px) and (orientation: portrait), (min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape)",Web:"(min-width: 840px) and (orientation: portrait), (min-width: 1280px) and (orientation: landscape)",HandsetPortrait:"(max-width: 599.98px) and (orientation: portrait)",TabletPortrait:"(min-width: 600px) and (max-width: 839.98px) and (orientation: portrait)",WebPortrait:"(min-width: 840px) and (orientation: portrait)",HandsetLandscape:"(max-width: 959.98px) and (orientation: landscape)",TabletLandscape:"(min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape)",WebLandscape:"(min-width: 1280px) and (orientation: landscape)"};var O3=" ";function Lh(i,e,t){let n=Sy(i,e);t=t.trim(),!n.some(r=>r.trim()===t)&&(n.push(t),i.setAttribute(e,n.join(O3)))}function Yc(i,e,t){let n=Sy(i,e);t=t.trim();let r=n.filter(o=>o!==t);r.length?i.setAttribute(e,r.join(O3)):i.removeAttribute(e)}function Sy(i,e){return i.getAttribute(e)?.match(/\S+/g)??[]}var R3="cdk-describedby-message",xy="cdk-describedby-host",fT=0,A3=(()=>{let e=class e{constructor(n,r){this._platform=r,this._messageRegistry=new Map,this._messagesContainer=null,this._id=`${fT++}`,this._document=n,this._id=te(qf)+"-"+fT++}describe(n,r,o){if(!this._canBeDescribed(n,r))return;let s=hT(r,o);typeof r!="string"?(I3(r,this._id),this._messageRegistry.set(s,{messageElement:r,referenceCount:0})):this._messageRegistry.has(s)||this._createMessageElement(r,o),this._isElementDescribedByMessage(n,s)||this._addMessageReference(n,s)}removeDescription(n,r,o){if(!r||!this._isElementNode(n))return;let s=hT(r,o);if(this._isElementDescribedByMessage(n,s)&&this._removeMessageReference(n,s),typeof r=="string"){let a=this._messageRegistry.get(s);a&&a.referenceCount===0&&this._deleteMessageElement(s)}this._messagesContainer?.childNodes.length===0&&(this._messagesContainer.remove(),this._messagesContainer=null)}ngOnDestroy(){let n=this._document.querySelectorAll(`[${xy}="${this._id}"]`);for(let r=0;ro.indexOf(R3)!=0);n.setAttribute("aria-describedby",r.join(" "))}_addMessageReference(n,r){let o=this._messageRegistry.get(r);Lh(n,"aria-describedby",o.messageElement.id),n.setAttribute(xy,this._id),o.referenceCount++}_removeMessageReference(n,r){let o=this._messageRegistry.get(r);o.referenceCount--,Yc(n,"aria-describedby",o.messageElement.id),n.removeAttribute(xy)}_isElementDescribedByMessage(n,r){let o=Sy(n,"aria-describedby"),s=this._messageRegistry.get(r),a=s&&s.messageElement.id;return!!a&&o.indexOf(a)!=-1}_canBeDescribed(n,r){if(!this._isElementNode(n))return!1;if(r&&typeof r=="object")return!0;let o=r==null?"":`${r}`.trim(),s=n.getAttribute("aria-label");return o?!s||s.trim()!==o:!1}_isElementNode(n){return n.nodeType===this._document.ELEMENT_NODE}};e.\u0275fac=function(r){return new(r||e)(X(Xe),X(gn))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();function hT(i,e){return typeof i=="string"?`${e||""}/${i}`:i}function I3(i,e){i.id||(i.id=`${R3}-${e}-${fT++}`)}var My=class{constructor(e,t){this._items=e,this._activeItemIndex=-1,this._activeItem=null,this._wrap=!1,this._letterKeyStream=new pe,this._typeaheadSubscription=Ct.EMPTY,this._vertical=!0,this._allowedModifierKeys=[],this._homeAndEnd=!1,this._pageUpAndDown={enabled:!1,delta:10},this._skipPredicateFn=n=>n.disabled,this._pressedLetters=[],this.tabOut=new pe,this.change=new pe,e instanceof Zi?this._itemChangesSubscription=e.changes.subscribe(n=>this._itemsChanged(n.toArray())):$E(e)&&(this._effectRef=lt(()=>this._itemsChanged(e()),{injector:t}))}skipPredicate(e){return this._skipPredicateFn=e,this}withWrap(e=!0){return this._wrap=e,this}withVerticalOrientation(e=!0){return this._vertical=e,this}withHorizontalOrientation(e){return this._horizontal=e,this}withAllowedModifierKeys(e){return this._allowedModifierKeys=e,this}withTypeAhead(e=200){return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe(En(t=>this._pressedLetters.push(t)),Oo(e),qt(()=>this._pressedLetters.length>0),Je(()=>this._pressedLetters.join(""))).subscribe(t=>{let n=this._getItemsArray();for(let r=1;r!e[o]||this._allowedModifierKeys.indexOf(o)>-1);switch(t){case 9:this.tabOut.next();return;case 40:if(this._vertical&&r){this.setNextItemActive();break}else return;case 38:if(this._vertical&&r){this.setPreviousItemActive();break}else return;case 39:if(this._horizontal&&r){this._horizontal==="rtl"?this.setPreviousItemActive():this.setNextItemActive();break}else return;case 37:if(this._horizontal&&r){this._horizontal==="rtl"?this.setNextItemActive():this.setPreviousItemActive();break}else return;case 36:if(this._homeAndEnd&&r){this.setFirstItemActive();break}else return;case 35:if(this._homeAndEnd&&r){this.setLastItemActive();break}else return;case 33:if(this._pageUpAndDown.enabled&&r){let o=this._activeItemIndex-this._pageUpAndDown.delta;this._setActiveItemByIndex(o>0?o:0,1);break}else return;case 34:if(this._pageUpAndDown.enabled&&r){let o=this._activeItemIndex+this._pageUpAndDown.delta,s=this._getItemsArray().length;this._setActiveItemByIndex(o=65&&t<=90||t>=48&&t<=57)&&this._letterKeyStream.next(String.fromCharCode(t)));return}this._pressedLetters=[],e.preventDefault()}get activeItemIndex(){return this._activeItemIndex}get activeItem(){return this._activeItem}isTyping(){return this._pressedLetters.length>0}setFirstItemActive(){this._setActiveItemByIndex(0,1)}setLastItemActive(){this._setActiveItemByIndex(this._getItemsArray().length-1,-1)}setNextItemActive(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)}setPreviousItemActive(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)}updateActiveItem(e){let t=this._getItemsArray(),n=typeof e=="number"?e:t.indexOf(e),r=t[n];this._activeItem=r??null,this._activeItemIndex=n}destroy(){this._typeaheadSubscription.unsubscribe(),this._itemChangesSubscription?.unsubscribe(),this._effectRef?.destroy(),this._letterKeyStream.complete(),this.tabOut.complete(),this.change.complete(),this._pressedLetters=[]}_setActiveItemByDelta(e){this._wrap?this._setActiveInWrapMode(e):this._setActiveInDefaultMode(e)}_setActiveInWrapMode(e){let t=this._getItemsArray();for(let n=1;n<=t.length;n++){let r=(this._activeItemIndex+e*n+t.length)%t.length,o=t[r];if(!this._skipPredicateFn(o)){this.setActiveItem(r);return}}}_setActiveInDefaultMode(e){this._setActiveItemByIndex(this._activeItemIndex+e,e)}_setActiveItemByIndex(e,t){let n=this._getItemsArray();if(n[e]){for(;this._skipPredicateFn(n[e]);)if(e+=t,!n[e])return;this.setActiveItem(e)}}_getItemsArray(){return $E(this._items)?this._items():this._items instanceof Zi?this._items.toArray():this._items}_itemsChanged(e){if(this._activeItem){let t=e.indexOf(this._activeItem);t>-1&&t!==this._activeItemIndex&&(this._activeItemIndex=t)}}},Ah=class extends My{setActiveItem(e){this.activeItem&&this.activeItem.setInactiveStyles(),super.setActiveItem(e),this.activeItem&&this.activeItem.setActiveStyles()}},Ey=class extends My{constructor(){super(...arguments),this._origin="program"}setFocusOrigin(e){return this._origin=e,this}setActiveItem(e){super.setActiveItem(e),this.activeItem&&this.activeItem.focus(this._origin)}};var Fh=(()=>{let e=class e{constructor(n){this._platform=n}isDisabled(n){return n.hasAttribute("disabled")}isVisible(n){return MK(n)&&getComputedStyle(n).visibility==="visible"}isTabbable(n){if(!this._platform.isBrowser)return!1;let r=SK(AK(n));if(r&&(T3(r)===-1||!this.isVisible(r)))return!1;let o=n.nodeName.toLowerCase(),s=T3(n);return n.hasAttribute("contenteditable")?s!==-1:o==="iframe"||o==="object"||this._platform.WEBKIT&&this._platform.IOS&&!OK(n)?!1:o==="audio"?n.hasAttribute("controls")?s!==-1:!1:o==="video"?s===-1?!1:s!==null?!0:this._platform.FIREFOX||n.hasAttribute("controls"):n.tabIndex>=0}isFocusable(n,r){return RK(n)&&!this.isDisabled(n)&&(r?.ignoreVisibility||this.isVisible(n))}};e.\u0275fac=function(r){return new(r||e)(X(gn))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();function SK(i){try{return i.frameElement}catch{return null}}function MK(i){return!!(i.offsetWidth||i.offsetHeight||typeof i.getClientRects=="function"&&i.getClientRects().length)}function EK(i){let e=i.nodeName.toLowerCase();return e==="input"||e==="select"||e==="button"||e==="textarea"}function IK(i){return DK(i)&&i.type=="hidden"}function TK(i){return PK(i)&&i.hasAttribute("href")}function DK(i){return i.nodeName.toLowerCase()=="input"}function PK(i){return i.nodeName.toLowerCase()=="a"}function N3(i){if(!i.hasAttribute("tabindex")||i.tabIndex===void 0)return!1;let e=i.getAttribute("tabindex");return!!(e&&!isNaN(parseInt(e,10)))}function T3(i){if(!N3(i))return null;let e=parseInt(i.getAttribute("tabindex")||"",10);return isNaN(e)?-1:e}function OK(i){let e=i.nodeName.toLowerCase(),t=e==="input"&&i.type;return t==="text"||t==="password"||e==="select"||e==="textarea"}function RK(i){return IK(i)?!1:EK(i)||TK(i)||i.hasAttribute("contenteditable")||N3(i)}function AK(i){return i.ownerDocument&&i.ownerDocument.defaultView||window}var Iy=class{get enabled(){return this._enabled}set enabled(e){this._enabled=e,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(e,this._startAnchor),this._toggleAnchorTabIndex(e,this._endAnchor))}constructor(e,t,n,r,o=!1,s){this._element=e,this._checker=t,this._ngZone=n,this._document=r,this._injector=s,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,o||this.attachAnchors()}destroy(){let e=this._startAnchor,t=this._endAnchor;e&&(e.removeEventListener("focus",this.startAnchorListener),e.remove()),t&&(t.removeEventListener("focus",this.endAnchorListener),t.remove()),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return this._hasAttached?!0:(this._ngZone.runOutsideAngular(()=>{this._startAnchor||(this._startAnchor=this._createAnchor(),this._startAnchor.addEventListener("focus",this.startAnchorListener)),this._endAnchor||(this._endAnchor=this._createAnchor(),this._endAnchor.addEventListener("focus",this.endAnchorListener))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)}focusInitialElementWhenReady(e){return new Promise(t=>{this._executeOnStable(()=>t(this.focusInitialElement(e)))})}focusFirstTabbableElementWhenReady(e){return new Promise(t=>{this._executeOnStable(()=>t(this.focusFirstTabbableElement(e)))})}focusLastTabbableElementWhenReady(e){return new Promise(t=>{this._executeOnStable(()=>t(this.focusLastTabbableElement(e)))})}_getRegionBoundary(e){let t=this._element.querySelectorAll(`[cdk-focus-region-${e}], [cdkFocusRegion${e}], [cdk-focus-${e}]`);return e=="start"?t.length?t[0]:this._getFirstTabbableElement(this._element):t.length?t[t.length-1]:this._getLastTabbableElement(this._element)}focusInitialElement(e){let t=this._element.querySelector("[cdk-focus-initial], [cdkFocusInitial]");if(t){if(!this._checker.isFocusable(t)){let n=this._getFirstTabbableElement(t);return n?.focus(e),!!n}return t.focus(e),!0}return this.focusFirstTabbableElement(e)}focusFirstTabbableElement(e){let t=this._getRegionBoundary("start");return t&&t.focus(e),!!t}focusLastTabbableElement(e){let t=this._getRegionBoundary("end");return t&&t.focus(e),!!t}hasAttached(){return this._hasAttached}_getFirstTabbableElement(e){if(this._checker.isFocusable(e)&&this._checker.isTabbable(e))return e;let t=e.children;for(let n=0;n=0;n--){let r=t[n].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(t[n]):null;if(r)return r}return null}_createAnchor(){let e=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,e),e.classList.add("cdk-visually-hidden"),e.classList.add("cdk-focus-trap-anchor"),e.setAttribute("aria-hidden","true"),e}_toggleAnchorTabIndex(e,t){e?t.setAttribute("tabindex","0"):t.removeAttribute("tabindex")}toggleAnchors(e){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(e,this._startAnchor),this._toggleAnchorTabIndex(e,this._endAnchor))}_executeOnStable(e){this._injector?Hi(e,{injector:this._injector}):setTimeout(e)}},Ty=(()=>{let e=class e{constructor(n,r,o){this._checker=n,this._ngZone=r,this._injector=te(vt),this._document=o}create(n,r=!1){return new Iy(n,this._checker,this._ngZone,this._document,r,this._injector)}};e.\u0275fac=function(r){return new(r||e)(X(Fh),X(Fe),X(Xe))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();var mT=class extends Iy{get enabled(){return this._enabled}set enabled(e){this._enabled=e,this._enabled?this._focusTrapManager.register(this):this._focusTrapManager.deregister(this)}constructor(e,t,n,r,o,s,a,c){super(e,t,n,r,a.defer,c),this._focusTrapManager=o,this._inertStrategy=s,this._focusTrapManager.register(this)}destroy(){this._focusTrapManager.deregister(this),super.destroy()}_enable(){this._inertStrategy.preventFocus(this),this.toggleAnchors(!0)}_disable(){this._inertStrategy.allowFocus(this),this.toggleAnchors(!1)}},gT=class{constructor(){this._listener=null}preventFocus(e){this._listener&&e._document.removeEventListener("focus",this._listener,!0),this._listener=t=>this._trapFocus(e,t),e._ngZone.runOutsideAngular(()=>{e._document.addEventListener("focus",this._listener,!0)})}allowFocus(e){this._listener&&(e._document.removeEventListener("focus",this._listener,!0),this._listener=null)}_trapFocus(e,t){let n=t.target,r=e._element;n&&!r.contains(n)&&!n.closest?.("div.cdk-overlay-pane")&&setTimeout(()=>{e.enabled&&!r.contains(e._document.activeElement)&&e.focusFirstTabbableElement()})}},NK=new me("FOCUS_TRAP_INERT_STRATEGY"),kK=(()=>{let e=class e{constructor(){this._focusTrapStack=[]}register(n){this._focusTrapStack=this._focusTrapStack.filter(o=>o!==n);let r=this._focusTrapStack;r.length&&r[r.length-1]._disable(),r.push(n),n._enable()}deregister(n){n._disable();let r=this._focusTrapStack,o=r.indexOf(n);o!==-1&&(r.splice(o,1),r.length&&r[r.length-1]._enable())}};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})(),Bh=(()=>{let e=class e{constructor(n,r,o,s,a){this._checker=n,this._ngZone=r,this._focusTrapManager=o,this._injector=te(vt),this._document=s,this._inertStrategy=a||new gT}create(n,r={defer:!1}){let o;return typeof r=="boolean"?o={defer:r}:o=r,new mT(n,this._checker,this._ngZone,this._document,this._focusTrapManager,this._inertStrategy,o,this._injector)}};e.\u0275fac=function(r){return new(r||e)(X(Fh),X(Fe),X(kK),X(Xe),X(NK,8))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();function Sd(i){return i.buttons===0||i.detail===0}function Md(i){let e=i.touches&&i.touches[0]||i.changedTouches&&i.changedTouches[0];return!!e&&e.identifier===-1&&(e.radiusX==null||e.radiusX===1)&&(e.radiusY==null||e.radiusY===1)}var LK=new me("cdk-input-modality-detector-options"),FK={ignoreKeys:[18,17,224,91,16]},k3=650,Rh=Hr({passive:!0,capture:!0}),BK=(()=>{let e=class e{get mostRecentModality(){return this._modality.value}constructor(n,r,o,s){this._platform=n,this._mostRecentTarget=null,this._modality=new On(null),this._lastTouchMs=0,this._onKeydown=a=>{this._options?.ignoreKeys?.some(c=>c===a.keyCode)||(this._modality.next("keyboard"),this._mostRecentTarget=Ii(a))},this._onMousedown=a=>{Date.now()-this._lastTouchMs{if(Md(a)){this._modality.next("keyboard");return}this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=Ii(a)},this._options=Z(Z({},FK),s),this.modalityDetected=this._modality.pipe(Nf(1)),this.modalityChanged=this.modalityDetected.pipe(xc()),n.isBrowser&&r.runOutsideAngular(()=>{o.addEventListener("keydown",this._onKeydown,Rh),o.addEventListener("mousedown",this._onMousedown,Rh),o.addEventListener("touchstart",this._onTouchstart,Rh)})}ngOnDestroy(){this._modality.complete(),this._platform.isBrowser&&(document.removeEventListener("keydown",this._onKeydown,Rh),document.removeEventListener("mousedown",this._onMousedown,Rh),document.removeEventListener("touchstart",this._onTouchstart,Rh))}};e.\u0275fac=function(r){return new(r||e)(X(gn),X(Fe),X(Xe),X(LK,8))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})(),VK=new me("liveAnnouncerElement",{providedIn:"root",factory:zK});function zK(){return null}var UK=new me("LIVE_ANNOUNCER_DEFAULT_OPTIONS"),HK=0,Dy=(()=>{let e=class e{constructor(n,r,o,s){this._ngZone=r,this._defaultOptions=s,this._document=o,this._liveElement=n||this._createLiveElement()}announce(n,...r){let o=this._defaultOptions,s,a;return r.length===1&&typeof r[0]=="number"?a=r[0]:[s,a]=r,this.clear(),clearTimeout(this._previousTimeout),s||(s=o&&o.politeness?o.politeness:"polite"),a==null&&o&&(a=o.duration),this._liveElement.setAttribute("aria-live",s),this._liveElement.id&&this._exposeAnnouncerToModals(this._liveElement.id),this._ngZone.runOutsideAngular(()=>(this._currentPromise||(this._currentPromise=new Promise(c=>this._currentResolve=c)),clearTimeout(this._previousTimeout),this._previousTimeout=setTimeout(()=>{this._liveElement.textContent=n,typeof a=="number"&&(this._previousTimeout=setTimeout(()=>this.clear(),a)),this._currentResolve?.(),this._currentPromise=this._currentResolve=void 0},100),this._currentPromise))}clear(){this._liveElement&&(this._liveElement.textContent="")}ngOnDestroy(){clearTimeout(this._previousTimeout),this._liveElement?.remove(),this._liveElement=null,this._currentResolve?.(),this._currentPromise=this._currentResolve=void 0}_createLiveElement(){let n="cdk-live-announcer-element",r=this._document.getElementsByClassName(n),o=this._document.createElement("div");for(let s=0;s .cdk-overlay-container [aria-modal="true"]');for(let o=0;o{let e=class e{constructor(n,r,o,s,a){this._ngZone=n,this._platform=r,this._inputModalityDetector=o,this._origin=null,this._windowFocused=!1,this._originFromTouchInteraction=!1,this._elementInfo=new Map,this._monitoredElementCount=0,this._rootNodeFocusListenerCount=new Map,this._windowFocusListener=()=>{this._windowFocused=!0,this._windowFocusTimeoutId=window.setTimeout(()=>this._windowFocused=!1)},this._stopInputModalityDetector=new pe,this._rootNodeFocusAndBlurListener=c=>{let l=Ii(c);for(let d=l;d;d=d.parentElement)c.type==="focus"?this._onFocus(c,d):this._onBlur(c,d)},this._document=s,this._detectionMode=a?.detectionMode||Cy.IMMEDIATE}monitor(n,r=!1){let o=nr(n);if(!this._platform.isBrowser||o.nodeType!==1)return Ke();let s=Dh(o)||this._getDocument(),a=this._elementInfo.get(o);if(a)return r&&(a.checkChildren=!0),a.subject;let c={checkChildren:r,subject:new pe,rootNode:s};return this._elementInfo.set(o,c),this._registerGlobalListeners(c),c.subject}stopMonitoring(n){let r=nr(n),o=this._elementInfo.get(r);o&&(o.subject.complete(),this._setClasses(r),this._elementInfo.delete(r),this._removeGlobalListeners(o))}focusVia(n,r,o){let s=nr(n),a=this._getDocument().activeElement;s===a?this._getClosestElementsInfo(s).forEach(([c,l])=>this._originChanged(c,r,l)):(this._setOrigin(r),typeof s.focus=="function"&&s.focus(o))}ngOnDestroy(){this._elementInfo.forEach((n,r)=>this.stopMonitoring(r))}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_getFocusOrigin(n){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(n)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:n&&this._isLastInteractionFromInputLabel(n)?"mouse":"program"}_shouldBeAttributedToTouch(n){return this._detectionMode===Cy.EVENTUAL||!!n?.contains(this._inputModalityDetector._mostRecentTarget)}_setClasses(n,r){n.classList.toggle("cdk-focused",!!r),n.classList.toggle("cdk-touch-focused",r==="touch"),n.classList.toggle("cdk-keyboard-focused",r==="keyboard"),n.classList.toggle("cdk-mouse-focused",r==="mouse"),n.classList.toggle("cdk-program-focused",r==="program")}_setOrigin(n,r=!1){this._ngZone.runOutsideAngular(()=>{if(this._origin=n,this._originFromTouchInteraction=n==="touch"&&r,this._detectionMode===Cy.IMMEDIATE){clearTimeout(this._originTimeoutId);let o=this._originFromTouchInteraction?k3:1;this._originTimeoutId=setTimeout(()=>this._origin=null,o)}})}_onFocus(n,r){let o=this._elementInfo.get(r),s=Ii(n);!o||!o.checkChildren&&r!==s||this._originChanged(r,this._getFocusOrigin(s),o)}_onBlur(n,r){let o=this._elementInfo.get(r);!o||o.checkChildren&&n.relatedTarget instanceof Node&&r.contains(n.relatedTarget)||(this._setClasses(r),this._emitOrigin(o,null))}_emitOrigin(n,r){n.subject.observers.length&&this._ngZone.run(()=>n.subject.next(r))}_registerGlobalListeners(n){if(!this._platform.isBrowser)return;let r=n.rootNode,o=this._rootNodeFocusListenerCount.get(r)||0;o||this._ngZone.runOutsideAngular(()=>{r.addEventListener("focus",this._rootNodeFocusAndBlurListener,wy),r.addEventListener("blur",this._rootNodeFocusAndBlurListener,wy)}),this._rootNodeFocusListenerCount.set(r,o+1),++this._monitoredElementCount===1&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(Ze(this._stopInputModalityDetector)).subscribe(s=>{this._setOrigin(s,!0)}))}_removeGlobalListeners(n){let r=n.rootNode;if(this._rootNodeFocusListenerCount.has(r)){let o=this._rootNodeFocusListenerCount.get(r);o>1?this._rootNodeFocusListenerCount.set(r,o-1):(r.removeEventListener("focus",this._rootNodeFocusAndBlurListener,wy),r.removeEventListener("blur",this._rootNodeFocusAndBlurListener,wy),this._rootNodeFocusListenerCount.delete(r))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(n,r,o){this._setClasses(n,r),this._emitOrigin(o,r),this._lastFocusOrigin=r}_getClosestElementsInfo(n){let r=[];return this._elementInfo.forEach((o,s)=>{(s===n||o.checkChildren&&s.contains(n))&&r.push([s,o])}),r}_isLastInteractionFromInputLabel(n){let{_mostRecentTarget:r,mostRecentModality:o}=this._inputModalityDetector;if(o!=="mouse"||!r||r===n||n.nodeName!=="INPUT"&&n.nodeName!=="TEXTAREA"||n.disabled)return!1;let s=n.labels;if(s){for(let a=0;a{let e=class e{constructor(n,r){this._platform=n,this._document=r,this._breakpointSubscription=te(Oh).observe("(forced-colors: active)").subscribe(()=>{this._hasCheckedHighContrastMode&&(this._hasCheckedHighContrastMode=!1,this._applyBodyHighContrastModeCssClasses())})}getHighContrastMode(){if(!this._platform.isBrowser)return Cd.NONE;let n=this._document.createElement("div");n.style.backgroundColor="rgb(1,2,3)",n.style.position="absolute",this._document.body.appendChild(n);let r=this._document.defaultView||window,o=r&&r.getComputedStyle?r.getComputedStyle(n):null,s=(o&&o.backgroundColor||"").replace(/ /g,"");switch(n.remove(),s){case"rgb(0,0,0)":case"rgb(45,50,54)":case"rgb(32,32,32)":return Cd.WHITE_ON_BLACK;case"rgb(255,255,255)":case"rgb(255,250,239)":return Cd.BLACK_ON_WHITE}return Cd.NONE}ngOnDestroy(){this._breakpointSubscription.unsubscribe()}_applyBodyHighContrastModeCssClasses(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){let n=this._document.body.classList;n.remove(pT,D3,P3),this._hasCheckedHighContrastMode=!0;let r=this.getHighContrastMode();r===Cd.BLACK_ON_WHITE?n.add(pT,D3):r===Cd.WHITE_ON_BLACK&&n.add(pT,P3)}}};e.\u0275fac=function(r){return new(r||e)(X(gn),X(Xe))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})(),Py=(()=>{let e=class e{constructor(n){n._applyBodyHighContrastModeCssClasses()}};e.\u0275fac=function(r){return new(r||e)(X(bT))},e.\u0275mod=rt({type:e}),e.\u0275inj=it({imports:[by]});let i=e;return i})();var jK=new me("cdk-dir-doc",{providedIn:"root",factory:WK});function WK(){return te(Xe)}var $K=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;function qK(i){let e=i?.toLowerCase()||"";return e==="auto"&&typeof navigator<"u"&&navigator?.language?$K.test(navigator.language)?"rtl":"ltr":e==="rtl"?"rtl":"ltr"}var di=(()=>{let e=class e{constructor(n){if(this.value="ltr",this.change=new Ie,n){let r=n.body?n.body.dir:null,o=n.documentElement?n.documentElement.dir:null;this.value=qK(r||o||"ltr")}}ngOnDestroy(){this.change.complete()}};e.\u0275fac=function(r){return new(r||e)(X(jK,8))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();var Xc=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=rt({type:e}),e.\u0275inj=it({});let i=e;return i})();var YK=["*",[["mat-option"],["ng-container"]]],XK=["*","mat-option, ng-container"],ZK=["text"],QK=[[["mat-icon"]],"*"],KK=["mat-icon","*"];function JK(i,e){if(i&1&&ee(0,"mat-pseudo-checkbox",1),i&2){let t=I();R("disabled",t.disabled)("state",t.selected?"checked":"unchecked")}}function eJ(i,e){if(i&1&&ee(0,"mat-pseudo-checkbox",3),i&2){let t=I();R("disabled",t.disabled)}}function tJ(i,e){if(i&1&&(v(0,"span",4),S(1),b()),i&2){let t=I();w(),Se("(",t.group.label,")")}}var nJ=["mat-internal-form-field",""],iJ=["*"];var MT=(()=>{let e=class e{};e.STANDARD_CURVE="cubic-bezier(0.4,0.0,0.2,1)",e.DECELERATION_CURVE="cubic-bezier(0.0,0.0,0.2,1)",e.ACCELERATION_CURVE="cubic-bezier(0.4,0.0,1,1)",e.SHARP_CURVE="cubic-bezier(0.4,0.0,0.6,1)";let i=e;return i})();function rJ(){return!0}var oJ=new me("mat-sanity-checks",{providedIn:"root",factory:rJ}),Ut=(()=>{let e=class e{constructor(n,r,o){this._sanityChecks=r,this._document=o,this._hasDoneGlobalChecks=!1,n._applyBodyHighContrastModeCssClasses(),this._hasDoneGlobalChecks||(this._hasDoneGlobalChecks=!0)}_checkIsEnabled(n){return jm()?!1:typeof this._sanityChecks=="boolean"?this._sanityChecks:!!this._sanityChecks[n]}};e.\u0275fac=function(r){return new(r||e)(X(bT),X(oJ,8),X(Xe))},e.\u0275mod=rt({type:e}),e.\u0275inj=it({imports:[Xc,Xc]});let i=e;return i})();var Ry=class{constructor(e,t,n,r,o){this._defaultMatcher=e,this.ngControl=t,this._parentFormGroup=n,this._parentForm=r,this._stateChanges=o,this.errorState=!1}updateErrorState(){let e=this.errorState,t=this._parentFormGroup||this._parentForm,n=this.matcher||this._defaultMatcher,r=this.ngControl?this.ngControl.control:null,o=n?.isErrorState(r,t)??!1;o!==e&&(this.errorState=o,this._stateChanges.next())}};var j3=(()=>{let e=class e{isErrorState(n,r){return!!(n&&n.invalid&&(n.touched||r&&r.submitted))}};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();var jo=function(i){return i[i.FADING_IN=0]="FADING_IN",i[i.VISIBLE=1]="VISIBLE",i[i.FADING_OUT=2]="FADING_OUT",i[i.HIDDEN=3]="HIDDEN",i}(jo||{}),wT=class{constructor(e,t,n,r=!1){this._renderer=e,this.element=t,this.config=n,this._animationForciblyDisabledThroughCss=r,this.state=jo.HIDDEN}fadeOut(){this._renderer.fadeOutRipple(this)}},L3=Hr({passive:!0,capture:!0}),CT=class{constructor(){this._events=new Map,this._delegateEventHandler=e=>{let t=Ii(e);t&&this._events.get(e.type)?.forEach((n,r)=>{(r===t||r.contains(t))&&n.forEach(o=>o.handleEvent(e))})}}addHandler(e,t,n,r){let o=this._events.get(t);if(o){let s=o.get(n);s?s.add(r):o.set(n,new Set([r]))}else this._events.set(t,new Map([[n,new Set([r])]])),e.runOutsideAngular(()=>{document.addEventListener(t,this._delegateEventHandler,L3)})}removeHandler(e,t,n){let r=this._events.get(e);if(!r)return;let o=r.get(t);o&&(o.delete(n),o.size===0&&r.delete(t),r.size===0&&(this._events.delete(e),document.removeEventListener(e,this._delegateEventHandler,L3)))}},F3={enterDuration:225,exitDuration:150},sJ=800,B3=Hr({passive:!0,capture:!0}),V3=["mousedown","touchstart"],z3=["mouseup","mouseleave","touchend","touchcancel"],Wm=class Wm{constructor(e,t,n,r){this._target=e,this._ngZone=t,this._platform=r,this._isPointerDown=!1,this._activeRipples=new Map,this._pointerUpEventsRegistered=!1,r.isBrowser&&(this._containerElement=nr(n))}fadeInRipple(e,t,n={}){let r=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),o=Z(Z({},F3),n.animation);n.centered&&(e=r.left+r.width/2,t=r.top+r.height/2);let s=n.radius||aJ(e,t,r),a=e-r.left,c=t-r.top,l=o.enterDuration,d=document.createElement("div");d.classList.add("mat-ripple-element"),d.style.left=`${a-s}px`,d.style.top=`${c-s}px`,d.style.height=`${s*2}px`,d.style.width=`${s*2}px`,n.color!=null&&(d.style.backgroundColor=n.color),d.style.transitionDuration=`${l}ms`,this._containerElement.appendChild(d);let u=window.getComputedStyle(d),h=u.transitionProperty,p=u.transitionDuration,f=h==="none"||p==="0s"||p==="0s, 0s"||r.width===0&&r.height===0,m=new wT(this,d,n,f);d.style.transform="scale3d(1, 1, 1)",m.state=jo.FADING_IN,n.persistent||(this._mostRecentTransientRipple=m);let y=null;return!f&&(l||o.exitDuration)&&this._ngZone.runOutsideAngular(()=>{let g=()=>{y&&(y.fallbackTimer=null),clearTimeout(x),this._finishRippleTransition(m)},_=()=>this._destroyRipple(m),x=setTimeout(_,l+100);d.addEventListener("transitionend",g),d.addEventListener("transitioncancel",_),y={onTransitionEnd:g,onTransitionCancel:_,fallbackTimer:x}}),this._activeRipples.set(m,y),(f||!l)&&this._finishRippleTransition(m),m}fadeOutRipple(e){if(e.state===jo.FADING_OUT||e.state===jo.HIDDEN)return;let t=e.element,n=Z(Z({},F3),e.config.animation);t.style.transitionDuration=`${n.exitDuration}ms`,t.style.opacity="0",e.state=jo.FADING_OUT,(e._animationForciblyDisabledThroughCss||!n.exitDuration)&&this._finishRippleTransition(e)}fadeOutAll(){this._getActiveRipples().forEach(e=>e.fadeOut())}fadeOutAllNonPersistent(){this._getActiveRipples().forEach(e=>{e.config.persistent||e.fadeOut()})}setupTriggerEvents(e){let t=nr(e);!this._platform.isBrowser||!t||t===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=t,V3.forEach(n=>{Wm._eventManager.addHandler(this._ngZone,n,t,this)}))}handleEvent(e){e.type==="mousedown"?this._onMousedown(e):e.type==="touchstart"?this._onTouchStart(e):this._onPointerUp(),this._pointerUpEventsRegistered||(this._ngZone.runOutsideAngular(()=>{z3.forEach(t=>{this._triggerElement.addEventListener(t,this,B3)})}),this._pointerUpEventsRegistered=!0)}_finishRippleTransition(e){e.state===jo.FADING_IN?this._startFadeOutTransition(e):e.state===jo.FADING_OUT&&this._destroyRipple(e)}_startFadeOutTransition(e){let t=e===this._mostRecentTransientRipple,{persistent:n}=e.config;e.state=jo.VISIBLE,!n&&(!t||!this._isPointerDown)&&e.fadeOut()}_destroyRipple(e){let t=this._activeRipples.get(e)??null;this._activeRipples.delete(e),this._activeRipples.size||(this._containerRect=null),e===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),e.state=jo.HIDDEN,t!==null&&(e.element.removeEventListener("transitionend",t.onTransitionEnd),e.element.removeEventListener("transitioncancel",t.onTransitionCancel),t.fallbackTimer!==null&&clearTimeout(t.fallbackTimer)),e.element.remove()}_onMousedown(e){let t=Sd(e),n=this._lastTouchStartEvent&&Date.now(){let t=e.state===jo.VISIBLE||e.config.terminateOnPointerUp&&e.state===jo.FADING_IN;!e.config.persistent&&t&&e.fadeOut()}))}_getActiveRipples(){return Array.from(this._activeRipples.keys())}_removeTriggerEvents(){let e=this._triggerElement;e&&(V3.forEach(t=>Wm._eventManager.removeHandler(t,e,this)),this._pointerUpEventsRegistered&&(z3.forEach(t=>e.removeEventListener(t,this,B3)),this._pointerUpEventsRegistered=!1))}};Wm._eventManager=new CT;var ST=Wm;function aJ(i,e,t){let n=Math.max(Math.abs(i-t.left),Math.abs(i-t.right)),r=Math.max(Math.abs(e-t.top),Math.abs(e-t.bottom));return Math.sqrt(n*n+r*r)}var W3=new me("mat-ripple-global-options"),gs=(()=>{let e=class e{get disabled(){return this._disabled}set disabled(n){n&&this.fadeOutAllNonPersistent(),this._disabled=n,this._setupTriggerEventsIfEnabled()}get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(n){this._trigger=n,this._setupTriggerEventsIfEnabled()}constructor(n,r,o,s,a){this._elementRef=n,this._animationMode=a,this.radius=0,this._disabled=!1,this._isInitialized=!1,this._globalOptions=s||{},this._rippleRenderer=new ST(this,r,n,o)}ngOnInit(){this._isInitialized=!0,this._setupTriggerEventsIfEnabled()}ngOnDestroy(){this._rippleRenderer._removeTriggerEvents()}fadeOutAll(){this._rippleRenderer.fadeOutAll()}fadeOutAllNonPersistent(){this._rippleRenderer.fadeOutAllNonPersistent()}get rippleConfig(){return{centered:this.centered,radius:this.radius,color:this.color,animation:Z(Z(Z({},this._globalOptions.animation),this._animationMode==="NoopAnimations"?{enterDuration:0,exitDuration:0}:{}),this.animation),terminateOnPointerUp:this._globalOptions.terminateOnPointerUp}}get rippleDisabled(){return this.disabled||!!this._globalOptions.disabled}_setupTriggerEventsIfEnabled(){!this.disabled&&this._isInitialized&&this._rippleRenderer.setupTriggerEvents(this.trigger)}launch(n,r=0,o){return typeof n=="number"?this._rippleRenderer.fadeInRipple(n,r,Z(Z({},this.rippleConfig),o)):this._rippleRenderer.fadeInRipple(0,0,Z(Z({},this.rippleConfig),n))}};e.\u0275fac=function(r){return new(r||e)(M(Re),M(Fe),M(gn),M(W3,8),M(jn,8))},e.\u0275dir=Ve({type:e,selectors:[["","mat-ripple",""],["","matRipple",""]],hostAttrs:[1,"mat-ripple"],hostVars:2,hostBindings:function(r,o){r&2&&re("mat-ripple-unbounded",o.unbounded)},inputs:{color:[0,"matRippleColor","color"],unbounded:[0,"matRippleUnbounded","unbounded"],centered:[0,"matRippleCentered","centered"],radius:[0,"matRippleRadius","radius"],animation:[0,"matRippleAnimation","animation"],disabled:[0,"matRippleDisabled","disabled"],trigger:[0,"matRippleTrigger","trigger"]},exportAs:["matRipple"],standalone:!0});let i=e;return i})(),Id=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=rt({type:e}),e.\u0275inj=it({imports:[Ut,Ut]});let i=e;return i})(),cJ=(()=>{let e=class e{constructor(n){this._animationMode=n,this.state="unchecked",this.disabled=!1,this.appearance="full"}};e.\u0275fac=function(r){return new(r||e)(M(jn,8))},e.\u0275cmp=ce({type:e,selectors:[["mat-pseudo-checkbox"]],hostAttrs:[1,"mat-pseudo-checkbox"],hostVars:12,hostBindings:function(r,o){r&2&&re("mat-pseudo-checkbox-indeterminate",o.state==="indeterminate")("mat-pseudo-checkbox-checked",o.state==="checked")("mat-pseudo-checkbox-disabled",o.disabled)("mat-pseudo-checkbox-minimal",o.appearance==="minimal")("mat-pseudo-checkbox-full",o.appearance==="full")("_mat-animation-noopable",o._animationMode==="NoopAnimations")},inputs:{state:"state",disabled:"disabled",appearance:"appearance"},standalone:!0,features:[le],decls:0,vars:0,template:function(r,o){},styles:['.mat-pseudo-checkbox{border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1),background-color 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:"";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox._mat-animation-noopable{transition:none !important;animation:none !important}.mat-pseudo-checkbox._mat-animation-noopable::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{left:1px;opacity:1;border-radius:2px}.mat-pseudo-checkbox-checked::after{left:1px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-checked::after,.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-indeterminate::after{color:var(--mat-minimal-pseudo-checkbox-selected-checkmark-color)}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled::after,.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled::after{color:var(--mat-minimal-pseudo-checkbox-disabled-selected-checkmark-color)}.mat-pseudo-checkbox-full{border-color:var(--mat-full-pseudo-checkbox-unselected-icon-color);border-width:2px;border-style:solid}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-disabled{border-color:var(--mat-full-pseudo-checkbox-disabled-unselected-icon-color)}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate{background-color:var(--mat-full-pseudo-checkbox-selected-icon-color);border-color:rgba(0,0,0,0)}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked::after,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate::after{color:var(--mat-full-pseudo-checkbox-selected-checkmark-color)}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background-color:var(--mat-full-pseudo-checkbox-disabled-selected-icon-color)}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled::after,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled::after{color:var(--mat-full-pseudo-checkbox-disabled-selected-checkmark-color)}.mat-pseudo-checkbox{width:18px;height:18px}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-checked::after{width:14px;height:6px;transform-origin:center;top:-4.2426406871px;left:0;bottom:0;right:0;margin:auto}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-indeterminate::after{top:8px;width:16px}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked::after{width:10px;height:4px;transform-origin:center;top:-2.8284271247px;left:0;bottom:0;right:0;margin:auto}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate::after{top:6px;width:12px}'],encapsulation:2,changeDetection:0});let i=e;return i})(),lJ=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=rt({type:e}),e.\u0275inj=it({imports:[Ut]});let i=e;return i})(),Vh=new me("MAT_OPTION_PARENT_COMPONENT"),dJ=0,zh=new me("MatOptgroup"),$3=(()=>{let e=class e{constructor(n){this.disabled=!1,this._labelId=`mat-optgroup-label-${dJ++}`,this._inert=n?.inertGroups??!1}};e.\u0275fac=function(r){return new(r||e)(M(Vh,8))},e.\u0275cmp=ce({type:e,selectors:[["mat-optgroup"]],hostAttrs:[1,"mat-mdc-optgroup"],hostVars:3,hostBindings:function(r,o){r&2&&Ye("role",o._inert?null:"group")("aria-disabled",o._inert?null:o.disabled.toString())("aria-labelledby",o._inert?null:o._labelId)},inputs:{label:"label",disabled:[2,"disabled","disabled",et]},exportAs:["matOptgroup"],standalone:!0,features:[Ft([{provide:zh,useExisting:e}]),nn,le],ngContentSelectors:XK,decls:5,vars:4,consts:[["role","presentation",1,"mat-mdc-optgroup-label",3,"id"],[1,"mdc-list-item__primary-text"]],template:function(r,o){r&1&&(In(YK),v(0,"span",0)(1,"span",1),S(2),Wt(3),b()(),Wt(4,1)),r&2&&(re("mdc-list-item--disabled",o.disabled),R("id",o._labelId),w(2),Se("",o.label," "))},styles:[".mat-mdc-optgroup{color:var(--mat-optgroup-label-text-color);font-family:var(--mat-optgroup-label-text-font);line-height:var(--mat-optgroup-label-text-line-height);font-size:var(--mat-optgroup-label-text-size);letter-spacing:var(--mat-optgroup-label-text-tracking);font-weight:var(--mat-optgroup-label-text-weight)}.mat-mdc-optgroup-label{display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;min-height:48px;padding:0 16px;outline:none}.mat-mdc-optgroup-label.mdc-list-item--disabled{opacity:.38}.mat-mdc-optgroup-label .mdc-list-item__primary-text{font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;font-family:inherit;text-decoration:inherit;text-transform:inherit;white-space:normal}"],encapsulation:2,changeDetection:0});let i=e;return i})(),uJ=0,$m=class{constructor(e,t=!1){this.source=e,this.isUserInput=t}},Zc=(()=>{let e=class e{get multiple(){return this._parent&&this._parent.multiple}get selected(){return this._selected}get disabled(){return this.group&&this.group.disabled||this._disabled}set disabled(n){this._disabled=n}get disableRipple(){return!!(this._parent&&this._parent.disableRipple)}get hideSingleSelectionIndicator(){return!!(this._parent&&this._parent.hideSingleSelectionIndicator)}constructor(n,r,o,s){this._element=n,this._changeDetectorRef=r,this._parent=o,this.group=s,this._selected=!1,this._active=!1,this._disabled=!1,this._mostRecentViewValue="",this.id=`mat-option-${uJ++}`,this.onSelectionChange=new Ie,this._stateChanges=new pe}get active(){return this._active}get viewValue(){return(this._text?.nativeElement.textContent||"").trim()}select(n=!0){this._selected||(this._selected=!0,this._changeDetectorRef.markForCheck(),n&&this._emitSelectionChangeEvent())}deselect(n=!0){this._selected&&(this._selected=!1,this._changeDetectorRef.markForCheck(),n&&this._emitSelectionChangeEvent())}focus(n,r){let o=this._getHostElement();typeof o.focus=="function"&&o.focus(r)}setActiveStyles(){this._active||(this._active=!0,this._changeDetectorRef.markForCheck())}setInactiveStyles(){this._active&&(this._active=!1,this._changeDetectorRef.markForCheck())}getLabel(){return this.viewValue}_handleKeydown(n){(n.keyCode===13||n.keyCode===32)&&!bi(n)&&(this._selectViaInteraction(),n.preventDefault())}_selectViaInteraction(){this.disabled||(this._selected=this.multiple?!this._selected:!0,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent(!0))}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._element.nativeElement}ngAfterViewChecked(){if(this._selected){let n=this.viewValue;n!==this._mostRecentViewValue&&(this._mostRecentViewValue&&this._stateChanges.next(),this._mostRecentViewValue=n)}}ngOnDestroy(){this._stateChanges.complete()}_emitSelectionChangeEvent(n=!1){this.onSelectionChange.emit(new $m(this,n))}};e.\u0275fac=function(r){return new(r||e)(M(Re),M(Ne),M(Vh,8),M(zh,8))},e.\u0275cmp=ce({type:e,selectors:[["mat-option"]],viewQuery:function(r,o){if(r&1&&Ee(ZK,7),r&2){let s;be(s=ye())&&(o._text=s.first)}},hostAttrs:["role","option",1,"mat-mdc-option","mdc-list-item"],hostVars:11,hostBindings:function(r,o){r&1&&H("click",function(){return o._selectViaInteraction()})("keydown",function(a){return o._handleKeydown(a)}),r&2&&(Fo("id",o.id),Ye("aria-selected",o.selected)("aria-disabled",o.disabled.toString()),re("mdc-list-item--selected",o.selected)("mat-mdc-option-multiple",o.multiple)("mat-mdc-option-active",o.active)("mdc-list-item--disabled",o.disabled))},inputs:{value:"value",id:"id",disabled:[2,"disabled","disabled",et]},outputs:{onSelectionChange:"onSelectionChange"},exportAs:["matOption"],standalone:!0,features:[nn,le],ngContentSelectors:KK,decls:8,vars:5,consts:[["text",""],["aria-hidden","true",1,"mat-mdc-option-pseudo-checkbox",3,"disabled","state"],[1,"mdc-list-item__primary-text"],["state","checked","aria-hidden","true","appearance","minimal",1,"mat-mdc-option-pseudo-checkbox",3,"disabled"],[1,"cdk-visually-hidden"],["aria-hidden","true","mat-ripple","",1,"mat-mdc-option-ripple","mat-mdc-focus-indicator",3,"matRippleTrigger","matRippleDisabled"]],template:function(r,o){r&1&&(In(QK),$(0,JK,1,2,"mat-pseudo-checkbox",1),Wt(1),v(2,"span",2,0),Wt(4,1),b(),$(5,eJ,1,1,"mat-pseudo-checkbox",3)(6,tJ,2,1,"span",4),ee(7,"div",5)),r&2&&(oe(o.multiple?0:-1),w(5),oe(!o.multiple&&o.selected&&!o.hideSingleSelectionIndicator?5:-1),w(),oe(o.group&&o.group._inert?6:-1),w(),R("matRippleTrigger",o._getHostElement())("matRippleDisabled",o.disabled||o.disableRipple))},dependencies:[cJ,gs],styles:['.mat-mdc-option{-webkit-user-select:none;user-select:none;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;min-height:48px;padding:0 16px;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0);color:var(--mat-option-label-text-color);font-family:var(--mat-option-label-text-font);line-height:var(--mat-option-label-text-line-height);font-size:var(--mat-option-label-text-size);letter-spacing:var(--mat-option-label-text-tracking);font-weight:var(--mat-option-label-text-weight)}.mat-mdc-option:hover:not(.mdc-list-item--disabled){background-color:var(--mat-option-hover-state-layer-color)}.mat-mdc-option:focus.mdc-list-item,.mat-mdc-option.mat-mdc-option-active.mdc-list-item{background-color:var(--mat-option-focus-state-layer-color);outline:0}.mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled) .mdc-list-item__primary-text{color:var(--mat-option-selected-state-label-text-color)}.mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled):not(.mat-mdc-option-multiple){background-color:var(--mat-option-selected-state-layer-color)}.mat-mdc-option.mdc-list-item{align-items:center;background:rgba(0,0,0,0)}.mat-mdc-option.mdc-list-item--disabled{cursor:default;pointer-events:none}.mat-mdc-option.mdc-list-item--disabled .mat-mdc-option-pseudo-checkbox,.mat-mdc-option.mdc-list-item--disabled .mdc-list-item__primary-text,.mat-mdc-option.mdc-list-item--disabled>mat-icon{opacity:.38}.mat-mdc-optgroup .mat-mdc-option:not(.mat-mdc-option-multiple){padding-left:32px}[dir=rtl] .mat-mdc-optgroup .mat-mdc-option:not(.mat-mdc-option-multiple){padding-left:16px;padding-right:32px}.mat-mdc-option .mat-icon,.mat-mdc-option .mat-pseudo-checkbox-full{margin-right:16px;flex-shrink:0}[dir=rtl] .mat-mdc-option .mat-icon,[dir=rtl] .mat-mdc-option .mat-pseudo-checkbox-full{margin-right:0;margin-left:16px}.mat-mdc-option .mat-pseudo-checkbox-minimal{margin-left:16px;flex-shrink:0}[dir=rtl] .mat-mdc-option .mat-pseudo-checkbox-minimal{margin-right:16px;margin-left:0}.mat-mdc-option .mat-mdc-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-mdc-option .mdc-list-item__primary-text{white-space:normal;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;font-family:inherit;text-decoration:inherit;text-transform:inherit;margin-right:auto}[dir=rtl] .mat-mdc-option .mdc-list-item__primary-text{margin-right:0;margin-left:auto}.cdk-high-contrast-active .mat-mdc-option.mdc-list-item--selected:not(.mat-mdc-option-multiple)::after{content:"";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}[dir=rtl] .cdk-high-contrast-active .mat-mdc-option.mdc-list-item--selected:not(.mat-mdc-option-multiple)::after{right:auto;left:16px}.mat-mdc-option-multiple{--mdc-list-list-item-selected-container-color:var(--mdc-list-list-item-container-color, transparent)}.mat-mdc-option-active .mat-mdc-focus-indicator::before{content:""}'],encapsulation:2,changeDetection:0});let i=e;return i})();function Ay(i,e,t){if(t.length){let n=e.toArray(),r=t.toArray(),o=0;for(let s=0;st+n?Math.max(0,i-n+e):t}var Uh=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=rt({type:e}),e.\u0275inj=it({imports:[Id,Ut,lJ]});let i=e;return i})(),U3={capture:!0},H3=["focus","mousedown","mouseenter","touchstart"],yT="mat-ripple-loader-uninitialized",xT="mat-ripple-loader-class-name",G3="mat-ripple-loader-centered",Oy="mat-ripple-loader-disabled",q3=(()=>{let e=class e{constructor(){this._document=te(Xe,{optional:!0}),this._animationMode=te(jn,{optional:!0}),this._globalRippleOptions=te(W3,{optional:!0}),this._platform=te(gn),this._ngZone=te(Fe),this._hosts=new Map,this._onInteraction=n=>{let r=Ii(n);if(r instanceof HTMLElement){let o=r.closest(`[${yT}="${this._globalRippleOptions?.namespace??""}"]`);o&&this._createRipple(o)}},this._ngZone.runOutsideAngular(()=>{for(let n of H3)this._document?.addEventListener(n,this._onInteraction,U3)})}ngOnDestroy(){let n=this._hosts.keys();for(let r of n)this.destroyRipple(r);for(let r of H3)this._document?.removeEventListener(r,this._onInteraction,U3)}configureRipple(n,r){n.setAttribute(yT,this._globalRippleOptions?.namespace??""),(r.className||!n.hasAttribute(xT))&&n.setAttribute(xT,r.className||""),r.centered&&n.setAttribute(G3,""),r.disabled&&n.setAttribute(Oy,"")}getRipple(n){return this._hosts.get(n)||this._createRipple(n)}setDisabled(n,r){let o=this._hosts.get(n);if(o){o.disabled=r;return}r?n.setAttribute(Oy,""):n.removeAttribute(Oy)}_createRipple(n){if(!this._document)return;let r=this._hosts.get(n);if(r)return r;n.querySelector(".mat-ripple")?.remove();let o=this._document.createElement("span");o.classList.add("mat-ripple",n.getAttribute(xT)),n.append(o);let s=new gs(new Re(o),this._ngZone,this._platform,this._globalRippleOptions?this._globalRippleOptions:void 0,this._animationMode?this._animationMode:void 0);return s._isInitialized=!0,s.trigger=n,s.centered=n.hasAttribute(G3),s.disabled=n.hasAttribute(Oy),this.attachRipple(n,s),s}attachRipple(n,r){n.removeAttribute(yT),this._hosts.set(n,r)}destroyRipple(n){let r=this._hosts.get(n);r&&(r.ngOnDestroy(),this._hosts.delete(n))}};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})(),Hh=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275cmp=ce({type:e,selectors:[["div","mat-internal-form-field",""]],hostAttrs:[1,"mdc-form-field","mat-internal-form-field"],hostVars:2,hostBindings:function(r,o){r&2&&re("mdc-form-field--align-end",o.labelPosition==="before")},inputs:{labelPosition:"labelPosition"},standalone:!0,features:[le],attrs:nJ,ngContentSelectors:iJ,decls:1,vars:0,template:function(r,o){r&1&&(In(),Wt(0))},styles:[".mat-internal-form-field{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-flex;align-items:center;vertical-align:middle}.mat-internal-form-field>label{margin-left:0;margin-right:auto;padding-left:4px;padding-right:0;order:0}[dir=rtl] .mat-internal-form-field>label{margin-left:auto;margin-right:0;padding-left:0;padding-right:4px}.mdc-form-field--align-end>label{margin-left:auto;margin-right:0;padding-left:0;padding-right:4px;order:-1}[dir=rtl] .mdc-form-field--align-end .mdc-form-field--align-end label{margin-left:0;margin-right:auto;padding-left:4px;padding-right:0}"],encapsulation:2,changeDetection:0});let i=e;return i})();var hJ=["mat-button",""],pJ=[[["",8,"material-icons",3,"iconPositionEnd",""],["mat-icon",3,"iconPositionEnd",""],["","matButtonIcon","",3,"iconPositionEnd",""]],"*",[["","iconPositionEnd","",8,"material-icons"],["mat-icon","iconPositionEnd",""],["","matButtonIcon","","iconPositionEnd",""]]],fJ=[".material-icons:not([iconPositionEnd]), mat-icon:not([iconPositionEnd]), [matButtonIcon]:not([iconPositionEnd])","*",".material-icons[iconPositionEnd], mat-icon[iconPositionEnd], [matButtonIcon][iconPositionEnd]"];var mJ=".cdk-high-contrast-active .mat-mdc-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-unelevated-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-raised-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-outlined-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-icon-button{outline:solid 1px}";var gJ=["mat-icon-button",""],_J=["*"];var vJ=new me("MAT_BUTTON_CONFIG");var bJ=[{attribute:"mat-button",mdcClasses:["mdc-button","mat-mdc-button"]},{attribute:"mat-flat-button",mdcClasses:["mdc-button","mdc-button--unelevated","mat-mdc-unelevated-button"]},{attribute:"mat-raised-button",mdcClasses:["mdc-button","mdc-button--raised","mat-mdc-raised-button"]},{attribute:"mat-stroked-button",mdcClasses:["mdc-button","mdc-button--outlined","mat-mdc-outlined-button"]},{attribute:"mat-fab",mdcClasses:["mdc-fab","mat-mdc-fab-base","mat-mdc-fab"]},{attribute:"mat-mini-fab",mdcClasses:["mdc-fab","mat-mdc-fab-base","mdc-fab--mini","mat-mdc-mini-fab"]},{attribute:"mat-icon-button",mdcClasses:["mdc-icon-button","mat-mdc-icon-button"]}],Y3=(()=>{let e=class e{get ripple(){return this._rippleLoader?.getRipple(this._elementRef.nativeElement)}set ripple(n){this._rippleLoader?.attachRipple(this._elementRef.nativeElement,n)}get disableRipple(){return this._disableRipple}set disableRipple(n){this._disableRipple=n,this._updateRippleDisabled()}get disabled(){return this._disabled}set disabled(n){this._disabled=n,this._updateRippleDisabled()}constructor(n,r,o,s){this._elementRef=n,this._platform=r,this._ngZone=o,this._animationMode=s,this._focusMonitor=te(Gr),this._rippleLoader=te(q3),this._isFab=!1,this._disableRipple=!1,this._disabled=!1;let a=te(vJ,{optional:!0}),c=n.nativeElement,l=c.classList;this.disabledInteractive=a?.disabledInteractive??!1,this.color=a?.color??null,this._rippleLoader?.configureRipple(c,{className:"mat-mdc-button-ripple"});for(let{attribute:d,mdcClasses:u}of bJ)c.hasAttribute(d)&&l.add(...u)}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0)}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._rippleLoader?.destroyRipple(this._elementRef.nativeElement)}focus(n="program",r){n?this._focusMonitor.focusVia(this._elementRef.nativeElement,n,r):this._elementRef.nativeElement.focus(r)}_getAriaDisabled(){return this.ariaDisabled!=null?this.ariaDisabled:this.disabled&&this.disabledInteractive?!0:null}_getDisabledAttribute(){return this.disabledInteractive||!this.disabled?null:!0}_updateRippleDisabled(){this._rippleLoader?.setDisabled(this._elementRef.nativeElement,this.disableRipple||this.disabled)}};e.\u0275fac=function(r){PE()},e.\u0275dir=Ve({type:e,inputs:{color:"color",disableRipple:[2,"disableRipple","disableRipple",et],disabled:[2,"disabled","disabled",et],ariaDisabled:[2,"aria-disabled","ariaDisabled",et],disabledInteractive:[2,"disabledInteractive","disabledInteractive",et]},features:[nn]});let i=e;return i})();var Ti=(()=>{let e=class e extends Y3{constructor(n,r,o,s){super(n,r,o,s)}};e.\u0275fac=function(r){return new(r||e)(M(Re),M(gn),M(Fe),M(jn,8))},e.\u0275cmp=ce({type:e,selectors:[["button","mat-button",""],["button","mat-raised-button",""],["button","mat-flat-button",""],["button","mat-stroked-button",""]],hostVars:14,hostBindings:function(r,o){r&2&&(Ye("disabled",o._getDisabledAttribute())("aria-disabled",o._getAriaDisabled()),Vr(o.color?"mat-"+o.color:""),re("mat-mdc-button-disabled",o.disabled)("mat-mdc-button-disabled-interactive",o.disabledInteractive)("_mat-animation-noopable",o._animationMode==="NoopAnimations")("mat-unthemed",!o.color)("mat-mdc-button-base",!0))},exportAs:["matButton"],standalone:!0,features:[sn,le],attrs:hJ,ngContentSelectors:fJ,decls:7,vars:4,consts:[[1,"mat-mdc-button-persistent-ripple"],[1,"mdc-button__label"],[1,"mat-mdc-focus-indicator"],[1,"mat-mdc-button-touch-target"]],template:function(r,o){r&1&&(In(pJ),ee(0,"span",0),Wt(1),v(2,"span",1),Wt(3,1),b(),Wt(4,2),ee(5,"span",2)(6,"span",3)),r&2&&re("mdc-button__ripple",!o._isFab)("mdc-fab__ripple",o._isFab)},styles:['.mat-mdc-button-base{text-decoration:none}.mdc-button{-webkit-user-select:none;user-select:none;position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:64px;border:none;outline:none;line-height:inherit;-webkit-appearance:none;overflow:visible;vertical-align:middle;background:rgba(0,0,0,0);padding:0 8px}.mdc-button::-moz-focus-inner{padding:0;border:0}.mdc-button:active{outline:none}.mdc-button:hover{cursor:pointer}.mdc-button:disabled{cursor:default;pointer-events:none}.mdc-button[hidden]{display:none}.mdc-button .mdc-button__label{position:relative}.mat-mdc-button{padding:0 var(--mat-text-button-horizontal-padding, 8px);height:var(--mdc-text-button-container-height);font-family:var(--mdc-text-button-label-text-font);font-size:var(--mdc-text-button-label-text-size);letter-spacing:var(--mdc-text-button-label-text-tracking);text-transform:var(--mdc-text-button-label-text-transform);font-weight:var(--mdc-text-button-label-text-weight)}.mat-mdc-button:has(.material-icons,mat-icon,[matButtonIcon]){padding:0 var(--mat-text-button-with-icon-horizontal-padding, 8px)}.mat-mdc-button>.mat-icon{margin-right:var(--mat-text-button-icon-spacing, 8px);margin-left:var(--mat-text-button-icon-offset, 0)}[dir=rtl] .mat-mdc-button>.mat-icon{margin-right:var(--mat-text-button-icon-offset, 0);margin-left:var(--mat-text-button-icon-spacing, 8px)}.mat-mdc-button .mdc-button__label+.mat-icon{margin-right:var(--mat-text-button-icon-offset, 0);margin-left:var(--mat-text-button-icon-spacing, 8px)}[dir=rtl] .mat-mdc-button .mdc-button__label+.mat-icon{margin-right:var(--mat-text-button-icon-spacing, 8px);margin-left:var(--mat-text-button-icon-offset, 0)}.mat-mdc-button .mat-ripple-element{background-color:var(--mat-text-button-ripple-color)}.mat-mdc-button .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-text-button-state-layer-color)}.mat-mdc-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-text-button-disabled-state-layer-color)}.mat-mdc-button:hover .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-text-button-hover-state-layer-opacity)}.mat-mdc-button.cdk-program-focused .mat-mdc-button-persistent-ripple::before,.mat-mdc-button.cdk-keyboard-focused .mat-mdc-button-persistent-ripple::before,.mat-mdc-button.mat-mdc-button-disabled-interactive:focus .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-text-button-focus-state-layer-opacity)}.mat-mdc-button:active .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-text-button-pressed-state-layer-opacity)}.mat-mdc-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%);display:var(--mat-text-button-touch-target-display)}.mat-mdc-button,.mat-mdc-button .mdc-button__ripple{border-radius:var(--mdc-text-button-container-shape)}.mat-mdc-button:not(:disabled){color:var(--mdc-text-button-label-text-color)}.mat-mdc-button[disabled],.mat-mdc-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mdc-text-button-disabled-label-text-color)}.mat-mdc-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-unelevated-button{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);padding:0 var(--mat-filled-button-horizontal-padding, 16px);height:var(--mdc-filled-button-container-height);font-family:var(--mdc-filled-button-label-text-font);font-size:var(--mdc-filled-button-label-text-size);letter-spacing:var(--mdc-filled-button-label-text-tracking);text-transform:var(--mdc-filled-button-label-text-transform);font-weight:var(--mdc-filled-button-label-text-weight)}.mat-mdc-unelevated-button>.mat-icon{margin-right:var(--mat-filled-button-icon-spacing, 8px);margin-left:var(--mat-filled-button-icon-offset, -4px)}[dir=rtl] .mat-mdc-unelevated-button>.mat-icon{margin-right:var(--mat-filled-button-icon-offset, -4px);margin-left:var(--mat-filled-button-icon-spacing, 8px)}.mat-mdc-unelevated-button .mdc-button__label+.mat-icon{margin-right:var(--mat-filled-button-icon-offset, -4px);margin-left:var(--mat-filled-button-icon-spacing, 8px)}[dir=rtl] .mat-mdc-unelevated-button .mdc-button__label+.mat-icon{margin-right:var(--mat-filled-button-icon-spacing, 8px);margin-left:var(--mat-filled-button-icon-offset, -4px)}.mat-mdc-unelevated-button .mat-ripple-element{background-color:var(--mat-filled-button-ripple-color)}.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-filled-button-state-layer-color)}.mat-mdc-unelevated-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-filled-button-disabled-state-layer-color)}.mat-mdc-unelevated-button:hover .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-filled-button-hover-state-layer-opacity)}.mat-mdc-unelevated-button.cdk-program-focused .mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button.cdk-keyboard-focused .mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button.mat-mdc-button-disabled-interactive:focus .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-filled-button-focus-state-layer-opacity)}.mat-mdc-unelevated-button:active .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-filled-button-pressed-state-layer-opacity)}.mat-mdc-unelevated-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%);display:var(--mat-filled-button-touch-target-display)}.mat-mdc-unelevated-button:not(:disabled){color:var(--mdc-filled-button-label-text-color);background-color:var(--mdc-filled-button-container-color)}.mat-mdc-unelevated-button,.mat-mdc-unelevated-button .mdc-button__ripple{border-radius:var(--mdc-filled-button-container-shape)}.mat-mdc-unelevated-button[disabled],.mat-mdc-unelevated-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mdc-filled-button-disabled-label-text-color);background-color:var(--mdc-filled-button-disabled-container-color)}.mat-mdc-unelevated-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-raised-button{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);padding:0 var(--mat-protected-button-horizontal-padding, 16px);box-shadow:var(--mdc-protected-button-container-elevation-shadow);height:var(--mdc-protected-button-container-height);font-family:var(--mdc-protected-button-label-text-font);font-size:var(--mdc-protected-button-label-text-size);letter-spacing:var(--mdc-protected-button-label-text-tracking);text-transform:var(--mdc-protected-button-label-text-transform);font-weight:var(--mdc-protected-button-label-text-weight)}.mat-mdc-raised-button>.mat-icon{margin-right:var(--mat-protected-button-icon-spacing, 8px);margin-left:var(--mat-protected-button-icon-offset, -4px)}[dir=rtl] .mat-mdc-raised-button>.mat-icon{margin-right:var(--mat-protected-button-icon-offset, -4px);margin-left:var(--mat-protected-button-icon-spacing, 8px)}.mat-mdc-raised-button .mdc-button__label+.mat-icon{margin-right:var(--mat-protected-button-icon-offset, -4px);margin-left:var(--mat-protected-button-icon-spacing, 8px)}[dir=rtl] .mat-mdc-raised-button .mdc-button__label+.mat-icon{margin-right:var(--mat-protected-button-icon-spacing, 8px);margin-left:var(--mat-protected-button-icon-offset, -4px)}.mat-mdc-raised-button .mat-ripple-element{background-color:var(--mat-protected-button-ripple-color)}.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-protected-button-state-layer-color)}.mat-mdc-raised-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-protected-button-disabled-state-layer-color)}.mat-mdc-raised-button:hover .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-protected-button-hover-state-layer-opacity)}.mat-mdc-raised-button.cdk-program-focused .mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button.cdk-keyboard-focused .mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button.mat-mdc-button-disabled-interactive:focus .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-protected-button-focus-state-layer-opacity)}.mat-mdc-raised-button:active .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-protected-button-pressed-state-layer-opacity)}.mat-mdc-raised-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%);display:var(--mat-protected-button-touch-target-display)}.mat-mdc-raised-button:not(:disabled){color:var(--mdc-protected-button-label-text-color);background-color:var(--mdc-protected-button-container-color)}.mat-mdc-raised-button,.mat-mdc-raised-button .mdc-button__ripple{border-radius:var(--mdc-protected-button-container-shape)}.mat-mdc-raised-button:hover{box-shadow:var(--mdc-protected-button-hover-container-elevation-shadow)}.mat-mdc-raised-button:focus{box-shadow:var(--mdc-protected-button-focus-container-elevation-shadow)}.mat-mdc-raised-button:active,.mat-mdc-raised-button:focus:active{box-shadow:var(--mdc-protected-button-pressed-container-elevation-shadow)}.mat-mdc-raised-button[disabled],.mat-mdc-raised-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mdc-protected-button-disabled-label-text-color);background-color:var(--mdc-protected-button-disabled-container-color)}.mat-mdc-raised-button[disabled].mat-mdc-button-disabled,.mat-mdc-raised-button.mat-mdc-button-disabled.mat-mdc-button-disabled{box-shadow:var(--mdc-protected-button-disabled-container-elevation-shadow)}.mat-mdc-raised-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-outlined-button{border-style:solid;transition:border 280ms cubic-bezier(0.4, 0, 0.2, 1);padding:0 var(--mat-outlined-button-horizontal-padding, 15px);height:var(--mdc-outlined-button-container-height);font-family:var(--mdc-outlined-button-label-text-font);font-size:var(--mdc-outlined-button-label-text-size);letter-spacing:var(--mdc-outlined-button-label-text-tracking);text-transform:var(--mdc-outlined-button-label-text-transform);font-weight:var(--mdc-outlined-button-label-text-weight);border-radius:var(--mdc-outlined-button-container-shape);border-width:var(--mdc-outlined-button-outline-width)}.mat-mdc-outlined-button>.mat-icon{margin-right:var(--mat-outlined-button-icon-spacing, 8px);margin-left:var(--mat-outlined-button-icon-offset, -4px)}[dir=rtl] .mat-mdc-outlined-button>.mat-icon{margin-right:var(--mat-outlined-button-icon-offset, -4px);margin-left:var(--mat-outlined-button-icon-spacing, 8px)}.mat-mdc-outlined-button .mdc-button__label+.mat-icon{margin-right:var(--mat-outlined-button-icon-offset, -4px);margin-left:var(--mat-outlined-button-icon-spacing, 8px)}[dir=rtl] .mat-mdc-outlined-button .mdc-button__label+.mat-icon{margin-right:var(--mat-outlined-button-icon-spacing, 8px);margin-left:var(--mat-outlined-button-icon-offset, -4px)}.mat-mdc-outlined-button .mat-ripple-element{background-color:var(--mat-outlined-button-ripple-color)}.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-outlined-button-state-layer-color)}.mat-mdc-outlined-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-outlined-button-disabled-state-layer-color)}.mat-mdc-outlined-button:hover .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-outlined-button-hover-state-layer-opacity)}.mat-mdc-outlined-button.cdk-program-focused .mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button.cdk-keyboard-focused .mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button.mat-mdc-button-disabled-interactive:focus .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-outlined-button-focus-state-layer-opacity)}.mat-mdc-outlined-button:active .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-outlined-button-pressed-state-layer-opacity)}.mat-mdc-outlined-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%);display:var(--mat-outlined-button-touch-target-display)}.mat-mdc-outlined-button:not(:disabled){color:var(--mdc-outlined-button-label-text-color);border-color:var(--mdc-outlined-button-outline-color)}.mat-mdc-outlined-button[disabled],.mat-mdc-outlined-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mdc-outlined-button-disabled-label-text-color);border-color:var(--mdc-outlined-button-disabled-outline-color)}.mat-mdc-outlined-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-outlined-button .mdc-button__ripple{border-width:var(--mdc-outlined-button-outline-width);border-style:solid;border-color:rgba(0,0,0,0)}.mat-mdc-button,.mat-mdc-unelevated-button,.mat-mdc-raised-button,.mat-mdc-outlined-button{-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-button .mat-mdc-button-ripple,.mat-mdc-button .mat-mdc-button-persistent-ripple,.mat-mdc-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button .mat-mdc-button-ripple,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button .mat-mdc-button-ripple,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-button .mat-mdc-button-ripple,.mat-mdc-unelevated-button .mat-mdc-button-ripple,.mat-mdc-raised-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mat-mdc-button-ripple{overflow:hidden}.mat-mdc-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before{content:"";opacity:0}.mat-mdc-button .mdc-button__label,.mat-mdc-button .mat-icon,.mat-mdc-unelevated-button .mdc-button__label,.mat-mdc-unelevated-button .mat-icon,.mat-mdc-raised-button .mdc-button__label,.mat-mdc-raised-button .mat-icon,.mat-mdc-outlined-button .mdc-button__label,.mat-mdc-outlined-button .mat-icon{z-index:1;position:relative}.mat-mdc-button .mat-mdc-focus-indicator,.mat-mdc-unelevated-button .mat-mdc-focus-indicator,.mat-mdc-raised-button .mat-mdc-focus-indicator,.mat-mdc-outlined-button .mat-mdc-focus-indicator{top:0;left:0;right:0;bottom:0;position:absolute}.mat-mdc-button:focus .mat-mdc-focus-indicator::before,.mat-mdc-unelevated-button:focus .mat-mdc-focus-indicator::before,.mat-mdc-raised-button:focus .mat-mdc-focus-indicator::before,.mat-mdc-outlined-button:focus .mat-mdc-focus-indicator::before{content:""}.mat-mdc-button._mat-animation-noopable,.mat-mdc-unelevated-button._mat-animation-noopable,.mat-mdc-raised-button._mat-animation-noopable,.mat-mdc-outlined-button._mat-animation-noopable{transition:none !important;animation:none !important}.mat-mdc-button>.mat-icon,.mat-mdc-unelevated-button>.mat-icon,.mat-mdc-raised-button>.mat-icon,.mat-mdc-outlined-button>.mat-icon{display:inline-block;position:relative;vertical-align:top;font-size:1.125rem;height:1.125rem;width:1.125rem}.mat-mdc-outlined-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px}.mat-mdc-unelevated-button .mat-mdc-focus-indicator::before,.mat-mdc-raised-button .mat-mdc-focus-indicator::before{margin:calc(calc(var(--mat-mdc-focus-indicator-border-width, 3px) + 2px)*-1)}.mat-mdc-outlined-button .mat-mdc-focus-indicator::before{margin:calc(calc(var(--mat-mdc-focus-indicator-border-width, 3px) + 3px)*-1)}',".cdk-high-contrast-active .mat-mdc-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-unelevated-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-raised-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-outlined-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-icon-button{outline:solid 1px}"],encapsulation:2,changeDetection:0});let i=e;return i})();var Wo=(()=>{let e=class e extends Y3{constructor(n,r,o,s){super(n,r,o,s),this._rippleLoader.configureRipple(this._elementRef.nativeElement,{centered:!0})}};e.\u0275fac=function(r){return new(r||e)(M(Re),M(gn),M(Fe),M(jn,8))},e.\u0275cmp=ce({type:e,selectors:[["button","mat-icon-button",""]],hostVars:14,hostBindings:function(r,o){r&2&&(Ye("disabled",o._getDisabledAttribute())("aria-disabled",o._getAriaDisabled()),Vr(o.color?"mat-"+o.color:""),re("mat-mdc-button-disabled",o.disabled)("mat-mdc-button-disabled-interactive",o.disabledInteractive)("_mat-animation-noopable",o._animationMode==="NoopAnimations")("mat-unthemed",!o.color)("mat-mdc-button-base",!0))},exportAs:["matButton"],standalone:!0,features:[sn,le],attrs:gJ,ngContentSelectors:_J,decls:4,vars:0,consts:[[1,"mat-mdc-button-persistent-ripple","mdc-icon-button__ripple"],[1,"mat-mdc-focus-indicator"],[1,"mat-mdc-button-touch-target"]],template:function(r,o){r&1&&(In(),ee(0,"span",0),Wt(1),ee(2,"span",1)(3,"span",2))},styles:['.mat-mdc-icon-button{-webkit-user-select:none;user-select:none;display:inline-block;position:relative;box-sizing:border-box;border:none;outline:none;background-color:rgba(0,0,0,0);fill:currentColor;color:inherit;text-decoration:none;cursor:pointer;z-index:0;overflow:visible;border-radius:50%;flex-shrink:0;text-align:center;width:var(--mdc-icon-button-state-layer-size, 48px);height:var(--mdc-icon-button-state-layer-size, 48px);padding:calc(calc(var(--mdc-icon-button-state-layer-size, 48px) - var(--mdc-icon-button-icon-size, 24px)) / 2);font-size:var(--mdc-icon-button-icon-size);color:var(--mdc-icon-button-icon-color);-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-icon-button[disabled],.mat-mdc-icon-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mdc-icon-button-disabled-icon-color)}.mat-mdc-icon-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-icon-button img,.mat-mdc-icon-button svg{width:var(--mdc-icon-button-icon-size);height:var(--mdc-icon-button-icon-size);vertical-align:baseline}.mat-mdc-icon-button .mat-mdc-button-ripple,.mat-mdc-icon-button .mat-mdc-button-persistent-ripple,.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-icon-button .mat-mdc-button-ripple{overflow:hidden}.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before{content:"";opacity:0}.mat-mdc-icon-button .mdc-button__label,.mat-mdc-icon-button .mat-icon{z-index:1;position:relative}.mat-mdc-icon-button .mat-mdc-focus-indicator{top:0;left:0;right:0;bottom:0;position:absolute}.mat-mdc-icon-button:focus .mat-mdc-focus-indicator::before{content:""}.mat-mdc-icon-button .mat-ripple-element{background-color:var(--mat-icon-button-ripple-color)}.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-icon-button-state-layer-color)}.mat-mdc-icon-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-icon-button-disabled-state-layer-color)}.mat-mdc-icon-button:hover .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-icon-button-hover-state-layer-opacity)}.mat-mdc-icon-button.cdk-program-focused .mat-mdc-button-persistent-ripple::before,.mat-mdc-icon-button.cdk-keyboard-focused .mat-mdc-button-persistent-ripple::before,.mat-mdc-icon-button.mat-mdc-button-disabled-interactive:focus .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-icon-button-focus-state-layer-opacity)}.mat-mdc-icon-button:active .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-icon-button-pressed-state-layer-opacity)}.mat-mdc-icon-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:50%;width:48px;transform:translate(-50%, -50%);display:var(--mat-icon-button-touch-target-display)}.mat-mdc-icon-button._mat-animation-noopable{transition:none !important;animation:none !important}.mat-mdc-icon-button .mat-mdc-button-persistent-ripple{border-radius:50%}.mat-mdc-icon-button[hidden]{display:none}.mat-mdc-icon-button.mat-unthemed:not(.mdc-ripple-upgraded):focus::before,.mat-mdc-icon-button.mat-primary:not(.mdc-ripple-upgraded):focus::before,.mat-mdc-icon-button.mat-accent:not(.mdc-ripple-upgraded):focus::before,.mat-mdc-icon-button.mat-warn:not(.mdc-ripple-upgraded):focus::before{background:rgba(0,0,0,0);opacity:1}',mJ],encapsulation:2,changeDetection:0});let i=e;return i})();var xn=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=rt({type:e}),e.\u0275inj=it({imports:[Ut,Id,Ut]});let i=e;return i})();function Ks(i,e){return ie?1:i>=e?0:NaN}function ky(i){return i.length===1&&(i=yJ(i)),{left:function(e,t,n,r){for(n==null&&(n=0),r==null&&(r=e.length);n>>1;i(e[o],t)<0?n=o+1:r=o}return n},right:function(e,t,n,r){for(n==null&&(n=0),r==null&&(r=e.length);n>>1;i(e[o],t)>0?r=o:n=o+1}return n}}}function yJ(i){return function(e,t){return Ks(i(e),t)}}var X3=ky(Ks),xJ=X3.right,wJ=X3.left;var Z3=Array.prototype,SJ=Z3.slice,MJ=Z3.map;var nPe=Math.sqrt(50),iPe=Math.sqrt(10),rPe=Math.sqrt(2);var OJ=Array.prototype.slice;var RJ={value:function(){}};function tB(){for(var i=0,e=arguments.length,t={},n;i=0&&(n=t.slice(r+1),t=t.slice(0,r)),t&&!e.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:n}})}Fy.prototype=tB.prototype={constructor:Fy,on:function(i,e){var t=this._,n=AJ(i+"",t),r,o=-1,s=n.length;if(arguments.length<2){for(;++o0)for(var t=new Array(r),n=0,r,o;n=0&&(e=i.slice(0,t))!=="xmlns"&&(i=i.slice(t+1)),TT.hasOwnProperty(e)?{space:TT[e],local:i}:i}function kJ(i){return function(){var e=this.ownerDocument,t=this.namespaceURI;return t===By&&e.documentElement.namespaceURI===By?e.createElement(i):e.createElementNS(t,i)}}function LJ(i){return function(){return this.ownerDocument.createElementNS(i.space,i.local)}}function Vy(i){var e=Ha(i);return(e.local?LJ:kJ)(e)}function FJ(){}function Td(i){return i==null?FJ:function(){return this.querySelector(i)}}function nB(i){typeof i!="function"&&(i=Td(i));for(var e=this._groups,t=e.length,n=new Array(t),r=0;r=x&&(x=_+1);!(T=y[x])&&++x=0;)(s=n[r])&&(o&&s.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(s,o),o=s);return this}function pB(i){i||(i=UJ);function e(u,h){return u&&h?i(u.__data__,h.__data__):!u-!h}for(var t=this._groups,n=t.length,r=new Array(n),o=0;oe?1:i>=e?0:NaN}function fB(){var i=arguments[0];return arguments[0]=this,i.apply(null,arguments),this}function mB(){var i=new Array(this.size()),e=-1;return this.each(function(){i[++e]=this}),i}function gB(){for(var i=this._groups,e=0,t=i.length;e1?this.each((e==null?YJ:typeof e=="function"?ZJ:XJ)(i,e,t??"")):Qc(this.node(),i)}function Qc(i,e){return i.style.getPropertyValue(e)||Uy(i).getComputedStyle(i,null).getPropertyValue(e)}function QJ(i){return function(){delete this[i]}}function KJ(i,e){return function(){this[i]=e}}function JJ(i,e){return function(){var t=e.apply(this,arguments);t==null?delete this[i]:this[i]=t}}function wB(i,e){return arguments.length>1?this.each((e==null?QJ:typeof e=="function"?JJ:KJ)(i,e)):this.node()[i]}function CB(i){return i.trim().split(/^|\s+/)}function DT(i){return i.classList||new SB(i)}function SB(i){this._node=i,this._names=CB(i.getAttribute("class")||"")}SB.prototype={add:function(i){var e=this._names.indexOf(i);e<0&&(this._names.push(i),this._node.setAttribute("class",this._names.join(" ")))},remove:function(i){var e=this._names.indexOf(i);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(i){return this._names.indexOf(i)>=0}};function MB(i,e){for(var t=DT(i),n=-1,r=e.length;++n=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}})}function _ee(i){return function(){var e=this.__on;if(e){for(var t=0,n=-1,r=e.length,o;t>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):t===8?qy(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):t===4?qy(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=wee.exec(i))?new bo(e[1],e[2],e[3],1):(e=Cee.exec(i))?new bo(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=See.exec(i))?qy(e[1],e[2],e[3],e[4]):(e=Mee.exec(i))?qy(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=Eee.exec(i))?ZB(e[1],e[2]/100,e[3]/100,1):(e=Iee.exec(i))?ZB(e[1],e[2]/100,e[3]/100,e[4]):jB.hasOwnProperty(i)?qB(jB[i]):i==="transparent"?new bo(NaN,NaN,NaN,0):null}function qB(i){return new bo(i>>16&255,i>>8&255,i&255,1)}function qy(i,e,t,n){return n<=0&&(i=e=t=NaN),new bo(i,e,t,n)}function Dee(i){return i instanceof tg||(i=_s(i)),i?(i=i.rgb(),new bo(i.r,i.g,i.b,i.opacity)):new bo}function $h(i,e,t,n){return arguments.length===1?Dee(i):new bo(i,e,t,n??1)}function bo(i,e,t,n){this.r=+i,this.g=+e,this.b=+t,this.opacity=+n}$y(bo,$h,NT(tg,{brighter:function(i){return i=i==null?Yy:Math.pow(Yy,i),new bo(this.r*i,this.g*i,this.b*i,this.opacity)},darker:function(i){return i=i==null?Jm:Math.pow(Jm,i),new bo(this.r*i,this.g*i,this.b*i,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:YB,formatHex:YB,formatRgb:XB,toString:XB}));function YB(){return"#"+kT(this.r)+kT(this.g)+kT(this.b)}function XB(){var i=this.opacity;return i=isNaN(i)?1:Math.max(0,Math.min(1,i)),(i===1?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(i===1?")":", "+i+")")}function kT(i){return i=Math.max(0,Math.min(255,Math.round(i)||0)),(i<16?"0":"")+i.toString(16)}function ZB(i,e,t,n){return n<=0?i=e=t=NaN:t<=0||t>=1?i=e=NaN:e<=0&&(i=NaN),new Js(i,e,t,n)}function QB(i){if(i instanceof Js)return new Js(i.h,i.s,i.l,i.opacity);if(i instanceof tg||(i=_s(i)),!i)return new Js;if(i instanceof Js)return i;i=i.rgb();var e=i.r/255,t=i.g/255,n=i.b/255,r=Math.min(e,t,n),o=Math.max(e,t,n),s=NaN,a=o-r,c=(o+r)/2;return a?(e===o?s=(t-n)/a+(t0&&c<1?0:s,new Js(s,a,c,i.opacity)}function KB(i,e,t,n){return arguments.length===1?QB(i):new Js(i,e,t,n??1)}function Js(i,e,t,n){this.h=+i,this.s=+e,this.l=+t,this.opacity=+n}$y(Js,KB,NT(tg,{brighter:function(i){return i=i==null?Yy:Math.pow(Yy,i),new Js(this.h,this.s,this.l*i,this.opacity)},darker:function(i){return i=i==null?Jm:Math.pow(Jm,i),new Js(this.h,this.s,this.l*i,this.opacity)},rgb:function(){var i=this.h%360+(this.h<0)*360,e=isNaN(i)||isNaN(this.s)?0:this.s,t=this.l,n=t+(t<.5?t:1-t)*e,r=2*t-n;return new bo(LT(i>=240?i-240:i+120,r,n),LT(i,r,n),LT(i<120?i+240:i-120,r,n),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var i=this.opacity;return i=isNaN(i)?1:Math.max(0,Math.min(1,i)),(i===1?"hsl(":"hsla(")+(this.h||0)+", "+(this.s||0)*100+"%, "+(this.l||0)*100+"%"+(i===1?")":", "+i+")")}}));function LT(i,e,t){return(i<60?e+(t-e)*i/60:i<180?t:i<240?e+(t-e)*(240-i)/60:e)*255}function FT(i,e,t,n,r){var o=i*i,s=o*i;return((1-3*i+3*o-s)*e+(4-6*o+3*s)*t+(1+3*i+3*o-3*s)*n+s*r)/6}function JB(i){var e=i.length-1;return function(t){var n=t<=0?t=0:t>=1?(t=1,e-1):Math.floor(t*e),r=i[n],o=i[n+1],s=n>0?i[n-1]:2*r-o,a=nt&&(o=e.slice(t,o),a[s]?a[s]+=o:a[++s]=o),(n=n[0])===(r=r[0])?a[s]?a[s]+=r:a[++s]=r:(a[++s]=null,c.push({i:s,x:jr(n,r)})),t=BT.lastIndex;return t180?d+=360:d-l>180&&(l+=360),h.push({i:u.push(r(u)+"rotate(",null,n)-2,x:jr(l,d)})):d&&u.push(r(u)+"rotate("+d+n)}function a(l,d,u,h){l!==d?h.push({i:u.push(r(u)+"skewX(",null,n)-2,x:jr(l,d)}):d&&u.push(r(u)+"skewX("+d+n)}function c(l,d,u,h,p,f){if(l!==u||d!==h){var m=p.push(r(p)+"scale(",null,",",null,")");f.push({i:m-4,x:jr(l,u)},{i:m-2,x:jr(d,h)})}else(u!==1||h!==1)&&p.push(r(p)+"scale("+u+","+h+")")}return function(l,d){var u=[],h=[];return l=i(l),d=i(d),o(l.translateX,l.translateY,d.translateX,d.translateY,u,h),s(l.rotate,d.rotate,u,h),a(l.skewX,d.skewX,u,h),c(l.scaleX,l.scaleY,d.scaleX,d.scaleY,u,h),l=d=null,function(p){for(var f=-1,m=h.length,y;++f=0&&i._call.call(null,e),i=i._next;--qh}function mV(){Od=(Jy=lg.now())+ex,qh=ag=0;try{vV()}finally{qh=0,Uee(),Od=0}}function zee(){var i=lg.now(),e=i-Jy;e>gV&&(ex-=e,Jy=i)}function Uee(){for(var i,e=Ky,t,n=1/0;e;)e._call?(n>e._time&&(n=e._time),i=e,e=e._next):(t=e._next,e._next=null,e=i?i._next=t:Ky=t);cg=i,$T(n)}function $T(i){if(!qh){ag&&(ag=clearTimeout(ag));var e=i-Od;e>24?(i<1/0&&(ag=setTimeout(mV,i-lg.now()-ex)),sg&&(sg=clearInterval(sg))):(sg||(Jy=lg.now(),sg=setInterval(zee,gV)),qh=1,_V(mV))}}function nx(i,e,t){var n=new dg;return e=e==null?0:+e,n.restart(function(r){n.stop(),i(r+e)},e,t),n}var Hee=Xm("start","end","cancel","interrupt"),Gee=[],yV=0,qT=1,rx=2,ix=3,bV=4,ox=5,ug=6;function Kc(i,e,t,n,r,o){var s=i.__transition;if(!s)i.__transition={};else if(t in s)return;jee(i,t,{name:e,index:n,group:r,on:Hee,tween:Gee,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:yV})}function hg(i,e){var t=Vi(i,e);if(t.state>yV)throw new Error("too late; already scheduled");return t}function Wr(i,e){var t=Vi(i,e);if(t.state>ix)throw new Error("too late; already running");return t}function Vi(i,e){var t=i.__transition;if(!t||!(t=t[e]))throw new Error("transition not found");return t}function jee(i,e,t){var n=i.__transition,r;n[e]=t,t.timer=tx(o,0,t.time);function o(l){t.state=qT,t.timer.restart(s,t.delay,t.time),t.delay<=l&&s(l-t.delay)}function s(l){var d,u,h,p;if(t.state!==qT)return c();for(d in n)if(p=n[d],p.name===t.name){if(p.state===ix)return nx(s);p.state===bV?(p.state=ug,p.timer.stop(),p.on.call("interrupt",i,i.__data__,p.index,p.group),delete n[d]):+drx&&n.state=0&&(e=e.slice(0,t)),!e||e==="start"})}function lte(i,e,t){var n,r,o=cte(e)?hg:Wr;return function(){var s=o(this,i),a=s.on;a!==n&&(r=(n=a).copy()).on(e,t),s.on=r}}function PV(i,e){var t=this._id;return arguments.length<2?Vi(this.node(),t).on.on(i):this.each(lte(t,i,e))}function dte(i){return function(){var e=this.parentNode;for(var t in this.__transition)if(+t!==i)return;e&&e.removeChild(this)}}function OV(){return this.on("end.remove",dte(this._id))}function RV(i){var e=this._name,t=this._id;typeof i!="function"&&(i=Td(i));for(var n=this._groups,r=n.length,o=new Array(r),s=0;sRd)if(!(Math.abs(d*a-c*l)>Rd)||!r)this._+="L"+(this._x1=i)+","+(this._y1=e);else{var h=t-o,p=n-s,f=a*a+c*c,m=h*h+p*p,y=Math.sqrt(f),g=Math.sqrt(u),_=r*Math.tan((KT-Math.acos((f+u-m)/(2*y*g)))/2),x=_/g,C=_/y;Math.abs(x-1)>Rd&&(this._+="L"+(i+x*l)+","+(e+x*d)),this._+="A"+r+","+r+",0,0,"+ +(d*h>l*p)+","+(this._x1=i+C*a)+","+(this._y1=e+C*c)}},arc:function(i,e,t,n,r,o){i=+i,e=+e,t=+t,o=!!o;var s=t*Math.cos(n),a=t*Math.sin(n),c=i+s,l=e+a,d=1^o,u=o?n-r:r-n;if(t<0)throw new Error("negative radius: "+t);this._x1===null?this._+="M"+c+","+l:(Math.abs(this._x1-c)>Rd||Math.abs(this._y1-l)>Rd)&&(this._+="L"+c+","+l),t&&(u<0&&(u=u%JT+JT),u>Dte?this._+="A"+t+","+t+",0,1,"+d+","+(i-s)+","+(e-a)+"A"+t+","+t+",0,1,"+d+","+(this._x1=c)+","+(this._y1=l):u>Rd&&(this._+="A"+t+","+t+",0,"+ +(u>=KT)+","+d+","+(this._x1=i+t*Math.cos(r))+","+(this._y1=e+t*Math.sin(r))))},rect:function(i,e,t,n){this._+="M"+(this._x0=this._x1=+i)+","+(this._y0=this._y1=+e)+"h"+ +t+"v"+ +n+"h"+-t+"Z"},toString:function(){return this._}};var tD=$V;var yo="$";function lx(){}lx.prototype=qV.prototype={constructor:lx,has:function(i){return yo+i in this},get:function(i){return this[yo+i]},set:function(i,e){return this[yo+i]=e,this},remove:function(i){var e=yo+i;return e in this&&delete this[e]},clear:function(){for(var i in this)i[0]===yo&&delete this[i]},keys:function(){var i=[];for(var e in this)e[0]===yo&&i.push(e.slice(1));return i},values:function(){var i=[];for(var e in this)e[0]===yo&&i.push(this[e]);return i},entries:function(){var i=[];for(var e in this)e[0]===yo&&i.push({key:e.slice(1),value:this[e]});return i},size:function(){var i=0;for(var e in this)e[0]===yo&&++i;return i},empty:function(){for(var i in this)if(i[0]===yo)return!1;return!0},each:function(i){for(var e in this)e[0]===yo&&i(this[e],e.slice(1),this)}};function qV(i,e){var t=new lx;if(i instanceof lx)i.each(function(a,c){t.set(c,a)});else if(Array.isArray(i)){var n=-1,r=i.length,o;if(e==null)for(;++n1);return n+r*a*Math.sqrt(-2*Math.log(s)/s)}}return t.source=i,t}(qo);var kte=function i(e){function t(){var n=nD.source(e).apply(this,arguments);return function(){return Math.exp(n())}}return t.source=i,t}(qo);var iD=function i(e){function t(n){return function(){for(var r=0,o=0;o0)){if(m/=p,p<0){if(m0){if(m>h)return;m>u&&(u=m)}if(m=n-a,!(!p&&m<0)){if(m/=p,p<0){if(m>h)return;m>u&&(u=m)}else if(p>0){if(m0)){if(m/=f,f<0){if(m0){if(m>h)return;m>u&&(u=m)}if(m=r-c,!(!f&&m<0)){if(m/=f,f<0){if(m>h)return;m>u&&(u=m)}else if(f>0){if(m0)&&!(h<1)||(u>0&&(i[0]=[a+u*p,c+u*f]),h<1&&(i[1]=[a+h*p,c+h*f])),!0}}}}}function Zte(i,e,t,n,r){var o=i[1];if(o)return!0;var s=i[0],a=i.left,c=i.right,l=a[0],d=a[1],u=c[0],h=c[1],p=(l+u)/2,f=(d+h)/2,m,y;if(h===d){if(p=n)return;if(l>u){if(!s)s=[p,t];else if(s[1]>=r)return;o=[p,r]}else{if(!s)s=[p,r];else if(s[1]1)if(l>u){if(!s)s=[(t-y)/m,t];else if(s[1]>=r)return;o=[(r-y)/m,r]}else{if(!s)s=[(r-y)/m,r];else if(s[1]=n)return;o=[n,m*n+y]}else{if(!s)s=[n,m*n+y];else if(s[0]Un||Math.abs(o[0][1]-o[1][1])>Un))&&delete Gi[r]}function dz(i){return $r[i.index]={site:i,halfedges:[]}}function Qte(i,e){var t=i.site,n=e.left,r=e.right;return t===r&&(r=n,n=t),r?Math.atan2(r[1]-n[1],r[0]-n[0]):(t===n?(n=e[1],r=e[0]):(n=e[0],r=e[1]),Math.atan2(n[0]-r[0],r[1]-n[1]))}function dD(i,e){return e[+(e.left!==i.site)]}function Kte(i,e){return e[+(e.left===i.site)]}function uz(){for(var i=0,e=$r.length,t,n,r,o;iUn||Math.abs(y-p)>Un)&&(l.splice(c,0,Gi.push(tp(a,f,Math.abs(m-i)Un?[i,Math.abs(h-i)Un?[Math.abs(p-n)Un?[t,Math.abs(h-t)Un?[Math.abs(p-e)=-fz)){var p=c*c+l*l,f=d*d+u*u,m=(u*p-l*f)/h,y=(c*f-d*p)/h,g=pz.pop()||new Jte;g.arc=i,g.site=r,g.x=m+s,g.y=(g.cy=y+a)+Math.sqrt(m*m+y*y),i.circle=g;for(var _=null,x=np._;x;)if(g.yUn)a=a.L;else if(s=e-tne(a,t),s>Un){if(!a.R){n=a;break}a=a.R}else{o>-Un?(n=a.P,r=a):s>-Un?(n=a,r=a.N):n=r=a;break}dz(i);var c=mz(i);if(Fd.insert(n,c),!(!n&&!r)){if(n===r){Ld(n),r=mz(n.site),Fd.insert(c,r),c.edge=r.edge=ep(n.site,c.site),kd(n),kd(r);return}if(!r){c.edge=ep(n.site,c.site);return}Ld(n),Ld(r);var l=n.site,d=l[0],u=l[1],h=i[0]-d,p=i[1]-u,f=r.site,m=f[0]-d,y=f[1]-u,g=2*(h*y-p*m),_=h*h+p*p,x=m*m+y*y,C=[(y*_-p*x)/g+d,(h*x-m*_)/g+u];yg(r.edge,l,f,C),c.edge=ep(l,i,null,C),r.edge=ep(i,f,null,C),kd(n),kd(r)}}function bz(i,e){var t=i.site,n=t[0],r=t[1],o=r-e;if(!o)return n;var s=i.P;if(!s)return-1/0;t=s.site;var a=t[0],c=t[1],l=c-e;if(!l)return a;var d=a-n,u=1/o-1/l,h=d/l;return u?(-h+Math.sqrt(h*h-2*u*(d*d/(-2*l)-c+l/2+r-o/2)))/u+n:(n+a)/2}function tne(i,e){var t=i.N;if(t)return bz(t,e);var n=i.site;return n[1]===e?n[0]:1/0}var Un=1e-6,fz=1e-12,Fd,$r,np,Gi;function nne(i,e,t){return(i[0]-t[0])*(e[1]-i[1])-(i[0]-e[0])*(t[1]-i[1])}function ine(i,e){return e[1]-i[1]||e[0]-i[0]}function px(i,e){var t=i.sort(ine).pop(),n,r,o;for(Gi=[],$r=new Array(i.length),Fd=new lD,np=new lD;;)if(o=hx,t&&(!o||t[1]=s)return null;var c=i-a.site[0],l=e-a.site[1],d=c*c+l*l;do a=n.cells[r=o],o=null,a.halfedges.forEach(function(u){var h=n.edges[u],p=h.left;if(!((p===a.site||!p)&&!(p=h.right))){var f=i-p[0],m=e-p[1],y=f*f+m*m;yn?(n+r)/2:Math.min(0,n)||Math.max(0,r),s>o?(o+s)/2:Math.min(0,o)||Math.max(0,s))}function fD(){var i=rne,e=one,t=cne,n=sne,r=ane,o=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],a=250,c=WT,l=Xm("start","zoom","end"),d,u,h=500,p=150,f=0;function m(P){P.property("__zoom",yz).on("wheel.zoom",D).on("mousedown.zoom",E).on("dblclick.zoom",A).filter(r).on("touchstart.zoom",j).on("touchmove.zoom",q).on("touchend.zoom touchcancel.zoom",z).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}m.transform=function(P,U,W){var Y=P.selection?P.selection():P;Y.property("__zoom",yz),P!==Y?x(P,U,W):Y.interrupt().each(function(){C(this,arguments).start().zoom(null,typeof U=="function"?U.apply(this,arguments):U).end()})},m.scaleBy=function(P,U,W){m.scaleTo(P,function(){var Y=this.__zoom.k,k=typeof U=="function"?U.apply(this,arguments):U;return Y*k},W)},m.scaleTo=function(P,U,W){m.transform(P,function(){var Y=e.apply(this,arguments),k=this.__zoom,G=W==null?_(Y):typeof W=="function"?W.apply(this,arguments):W,K=k.invert(G),de=typeof U=="function"?U.apply(this,arguments):U;return t(g(y(k,de),G,K),Y,s)},W)},m.translateBy=function(P,U,W){m.transform(P,function(){return t(this.__zoom.translate(typeof U=="function"?U.apply(this,arguments):U,typeof W=="function"?W.apply(this,arguments):W),e.apply(this,arguments),s)})},m.translateTo=function(P,U,W,Y){m.transform(P,function(){var k=e.apply(this,arguments),G=this.__zoom,K=Y==null?_(k):typeof Y=="function"?Y.apply(this,arguments):Y;return t(Bd.translate(K[0],K[1]).scale(G.k).translate(typeof U=="function"?-U.apply(this,arguments):-U,typeof W=="function"?-W.apply(this,arguments):-W),k,s)},Y)};function y(P,U){return U=Math.max(o[0],Math.min(o[1],U)),U===P.k?P:new na(U,P.x,P.y)}function g(P,U,W){var Y=U[0]-W[0]*P.k,k=U[1]-W[1]*P.k;return Y===P.x&&k===P.y?P:new na(P.k,Y,k)}function _(P){return[(+P[0][0]+ +P[1][0])/2,(+P[0][1]+ +P[1][1])/2]}function x(P,U,W){P.on("start.zoom",function(){C(this,arguments).start()}).on("interrupt.zoom end.zoom",function(){C(this,arguments).end()}).tween("zoom",function(){var Y=this,k=arguments,G=C(Y,k),K=e.apply(Y,k),de=W==null?_(K):typeof W=="function"?W.apply(Y,k):W,De=Math.max(K[1][0]-K[0][0],K[1][1]-K[0][1]),Te=Y.__zoom,He=typeof U=="function"?U.apply(Y,k):U,he=c(Te.invert(de).concat(De/Te.k),He.invert(de).concat(De/He.k));return function(se){if(se===1)se=He;else{var qe=he(se),ue=De/qe[2];se=new na(ue,de[0]-qe[0]*ue,de[1]-qe[1]*ue)}G.zoom(null,se)}})}function C(P,U,W){return!W&&P.__zooming||new T(P,U)}function T(P,U){this.that=P,this.args=U,this.active=0,this.extent=e.apply(P,U),this.taps=0}T.prototype={start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(P,U){return this.mouse&&P!=="mouse"&&(this.mouse[1]=U.invert(this.mouse[0])),this.touch0&&P!=="touch"&&(this.touch0[1]=U.invert(this.touch0[0])),this.touch1&&P!=="touch"&&(this.touch1[1]=U.invert(this.touch1[0])),this.that.__zoom=U,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(P){PT(new hD(m,P,this.that.__zoom),l.apply,l,[P,this.that,this.args])}};function D(){if(!i.apply(this,arguments))return;var P=C(this,arguments),U=this.__zoom,W=Math.max(o[0],Math.min(o[1],U.k*Math.pow(2,n.apply(this,arguments)))),Y=jh(this);if(P.wheel)(P.mouse[0][0]!==Y[0]||P.mouse[0][1]!==Y[1])&&(P.mouse[1]=U.invert(P.mouse[0]=Y)),clearTimeout(P.wheel);else{if(U.k===W)return;P.mouse=[Y,U.invert(Y)],Jc(this),P.start()}ip(),P.wheel=setTimeout(k,p),P.zoom("mouse",t(g(y(U,W),P.mouse[0],P.mouse[1]),P.extent,s));function k(){P.wheel=null,P.end()}}function E(){if(u||!i.apply(this,arguments))return;var P=C(this,arguments,!0),U=$o(ht.view).on("mousemove.zoom",G,!0).on("mouseup.zoom",K,!0),W=jh(this),Y=ht.clientX,k=ht.clientY;RT(ht.view),fx(),P.mouse=[W,this.__zoom.invert(W)],Jc(this),P.start();function G(){if(ip(),!P.moved){var de=ht.clientX-Y,De=ht.clientY-k;P.moved=de*de+De*De>f}P.zoom("mouse",t(g(P.that.__zoom,P.mouse[0]=jh(P.that),P.mouse[1]),P.extent,s))}function K(){U.on("mousemove.zoom mouseup.zoom",null),AT(ht.view,P.moved),ip(),P.end()}}function A(){if(i.apply(this,arguments)){var P=this.__zoom,U=jh(this),W=P.invert(U),Y=P.k*(ht.shiftKey?.5:2),k=t(g(y(P,Y),U,W),e.apply(this,arguments),s);ip(),a>0?$o(this).transition().duration(a).call(x,k,U):$o(this).call(m.transform,k)}}function j(){if(i.apply(this,arguments)){var P=ht.touches,U=P.length,W=C(this,arguments,ht.changedTouches.length===U),Y,k,G,K;for(fx(),k=0;kv4,AddEquation:()=>qd,AddOperation:()=>f4,AdditiveAnimationBlendMode:()=>XP,AdditiveBlending:()=>KD,AlphaFormat:()=>E4,AlwaysDepth:()=>a4,AlwaysStencilFunc:()=>yH,AmbientLight:()=>L_,AmbientLightProbe:()=>Bw,AnimationClip:()=>pu,AnimationLoader:()=>yP,AnimationMixer:()=>Gw,AnimationObjectGroup:()=>Hw,AnimationUtils:()=>Kn,ArcCurve:()=>s_,ArrayCamera:()=>Zg,ArrowHelper:()=>zP,Audio:()=>z_,AudioAnalyser:()=>zw,AudioContext:()=>rO,AudioListener:()=>SP,AudioLoader:()=>Lw,AxesHelper:()=>Qw,AxisHelper:()=>qce,BackSide:()=>Ci,BasicDepthPacking:()=>_H,BasicShadowMap:()=>hne,BinaryTextureLoader:()=>Kce,Bone:()=>Wp,BooleanKeyframeTrack:()=>sc,BoundingBoxHelper:()=>Yce,Box2:()=>vl,Box3:()=>qr,Box3Helper:()=>BP,BoxBufferGeometry:()=>ul,BoxGeometry:()=>ul,BoxHelper:()=>Zw,BufferAttribute:()=>un,BufferGeometry:()=>Dt,BufferGeometryLoader:()=>Nw,ByteType:()=>y4,Cache:()=>fu,Camera:()=>iu,CameraHelper:()=>FP,CanvasRenderer:()=>ele,CanvasTexture:()=>yw,CatmullRomCurve3:()=>a_,CineonToneMapping:()=>_4,CircleBufferGeometry:()=>n_,CircleGeometry:()=>n_,ClampToEdgeWrapping:()=>or,Clock:()=>Vw,Color:()=>je,ColorKeyframeTrack:()=>D_,CompressedTexture:()=>t_,CompressedTextureLoader:()=>xP,ConeBufferGeometry:()=>i_,ConeGeometry:()=>i_,CubeCamera:()=>kp,CubeReflectionMapping:()=>_u,CubeRefractionMapping:()=>vu,CubeTexture:()=>hl,CubeTextureLoader:()=>Iw,CubeUVReflectionMapping:()=>tf,CubeUVRefractionMapping:()=>H_,CubicBezierCurve:()=>$p,CubicBezierCurve3:()=>c_,CubicInterpolant:()=>Sw,CullFaceBack:()=>QD,CullFaceFront:()=>$U,CullFaceFrontBack:()=>une,CullFaceNone:()=>WU,Curve:()=>Xr,CurvePath:()=>Cw,CustomBlending:()=>YU,CustomToneMapping:()=>b4,CylinderBufferGeometry:()=>au,CylinderGeometry:()=>au,Cylindrical:()=>OP,DataTexture:()=>Ka,DataTexture2DArray:()=>Bp,DataTexture3D:()=>Xg,DataTextureLoader:()=>Tw,DataUtils:()=>HP,DecrementStencilOp:()=>Cne,DecrementWrapStencilOp:()=>Mne,DefaultLoadingManager:()=>UH,DepthFormat:()=>Kd,DepthStencilFormat:()=>Dp,DepthTexture:()=>xw,DirectionalLight:()=>k_,DirectionalLightHelper:()=>LP,DiscreteInterpolant:()=>Mw,DodecahedronBufferGeometry:()=>r_,DodecahedronGeometry:()=>r_,DoubleSide:()=>tu,DstAlphaFactor:()=>t4,DstColorFactor:()=>i4,DynamicBufferAttribute:()=>Fce,DynamicCopyUsage:()=>Vne,DynamicDrawUsage:()=>Op,DynamicReadUsage:()=>Lne,EdgesGeometry:()=>o_,EdgesHelper:()=>Xce,EllipseCurve:()=>cu,EqualDepth:()=>l4,EqualStencilFunc:()=>Dne,EquirectangularReflectionMapping:()=>Bg,EquirectangularRefractionMapping:()=>Vg,Euler:()=>nu,EventDispatcher:()=>sa,ExtrudeBufferGeometry:()=>oc,ExtrudeGeometry:()=>oc,FaceColors:()=>Ece,FileLoader:()=>Qo,FlatShading:()=>WP,Float16BufferAttribute:()=>pw,Float32Attribute:()=>Wce,Float32BufferAttribute:()=>ot,Float64Attribute:()=>$ce,Float64BufferAttribute:()=>fw,FloatType:()=>ra,Fog:()=>Kg,FogExp2:()=>Qg,Font:()=>ale,FontLoader:()=>sle,FrontSide:()=>eu,Frustum:()=>ru,GLBufferAttribute:()=>$w,GLSL1:()=>Une,GLSL3:()=>pP,GammaEncoding:()=>eC,GreaterDepth:()=>u4,GreaterEqualDepth:()=>d4,GreaterEqualStencilFunc:()=>Ane,GreaterStencilFunc:()=>One,GridHelper:()=>Xw,Group:()=>Za,HalfFloatType:()=>Zd,HemisphereLight:()=>O_,HemisphereLightHelper:()=>NP,HemisphereLightProbe:()=>Fw,IcosahedronBufferGeometry:()=>h_,IcosahedronGeometry:()=>h_,ImageBitmapLoader:()=>kw,ImageLoader:()=>mu,ImageUtils:()=>ec,ImmediateRenderObject:()=>cle,IncrementStencilOp:()=>wne,IncrementWrapStencilOp:()=>Sne,InstancedBufferAttribute:()=>nc,InstancedBufferGeometry:()=>V_,InstancedInterleavedBuffer:()=>Ww,InstancedMesh:()=>Jg,Int16Attribute:()=>Uce,Int16BufferAttribute:()=>uw,Int32Attribute:()=>Gce,Int32BufferAttribute:()=>hw,Int8Attribute:()=>Bce,Int8BufferAttribute:()=>cw,IntType:()=>w4,InterleavedBuffer:()=>tc,InterleavedBufferAttribute:()=>ml,Interpolant:()=>Ms,InterpolateDiscrete:()=>Gg,InterpolateLinear:()=>jg,InterpolateSmooth:()=>nw,InvertStencilOp:()=>Ene,JSONLoader:()=>tle,KeepStencilOp:()=>iw,KeyframeTrack:()=>Mo,LOD:()=>_w,LatheBufferGeometry:()=>p_,LatheGeometry:()=>p_,Layers:()=>Yg,LensFlare:()=>ile,LessDepth:()=>c4,LessEqualDepth:()=>rw,LessEqualStencilFunc:()=>Pne,LessStencilFunc:()=>Tne,Light:()=>Eo,LightProbe:()=>gu,Line:()=>Ss,Line3:()=>qw,LineBasicMaterial:()=>Ri,LineCurve:()=>lu,LineCurve3:()=>ww,LineDashedMaterial:()=>I_,LineLoop:()=>e_,LinePieces:()=>Sce,LineSegments:()=>Cr,LineStrip:()=>Cce,LinearEncoding:()=>cr,LinearFilter:()=>zi,LinearInterpolant:()=>T_,LinearMipMapLinearFilter:()=>_ne,LinearMipMapNearestFilter:()=>gne,LinearMipmapLinearFilter:()=>bu,LinearMipmapNearestFilter:()=>YP,LinearToneMapping:()=>m4,Loader:()=>lr,LoaderUtils:()=>ef,LoadingManager:()=>P_,LogLuvEncoding:()=>gH,LoopOnce:()=>hH,LoopPingPong:()=>fH,LoopRepeat:()=>pH,LuminanceAlphaFormat:()=>T4,LuminanceFormat:()=>I4,MOUSE:()=>lne,Material:()=>Oi,MaterialLoader:()=>Aw,Math:()=>nie,MathUtils:()=>nie,Matrix3:()=>Si,Matrix4:()=>dt,MaxEquation:()=>nP,Mesh:()=>pi,MeshBasicMaterial:()=>ws,MeshDepthMaterial:()=>Vp,MeshDistanceMaterial:()=>zp,MeshFaceMaterial:()=>Tce,MeshLambertMaterial:()=>M_,MeshMatcapMaterial:()=>E_,MeshNormalMaterial:()=>S_,MeshPhongMaterial:()=>w_,MeshPhysicalMaterial:()=>x_,MeshStandardMaterial:()=>Jp,MeshToonMaterial:()=>C_,MinEquation:()=>tP,MirroredRepeatWrapping:()=>Ug,MixOperation:()=>p4,MultiMaterial:()=>Dce,MultiplyBlending:()=>eP,MultiplyOperation:()=>U_,NearestFilter:()=>Pi,NearestMipMapLinearFilter:()=>mne,NearestMipMapNearestFilter:()=>fne,NearestMipmapLinearFilter:()=>sw,NearestMipmapNearestFilter:()=>ow,NeverDepth:()=>s4,NeverStencilFunc:()=>Ine,NoBlending:()=>Qa,NoColors:()=>Mce,NoToneMapping:()=>cl,NormalAnimationBlendMode:()=>Jw,NormalBlending:()=>Ep,NotEqualDepth:()=>h4,NotEqualStencilFunc:()=>Rne,NumberKeyframeTrack:()=>uu,Object3D:()=>hn,ObjectLoader:()=>wP,ObjectSpaceNormalMap:()=>bH,OctahedronBufferGeometry:()=>Zp,OctahedronGeometry:()=>Zp,OneFactor:()=>KU,OneMinusDstAlphaFactor:()=>n4,OneMinusDstColorFactor:()=>r4,OneMinusSrcAlphaFactor:()=>qP,OneMinusSrcColorFactor:()=>e4,OrthographicCamera:()=>ou,PCFShadowMap:()=>jP,PCFSoftShadowMap:()=>qU,PMREMGenerator:()=>mw,ParametricGeometry:()=>rle,Particle:()=>Oce,ParticleBasicMaterial:()=>Nce,ParticleSystem:()=>Rce,ParticleSystemMaterial:()=>kce,Path:()=>du,PerspectiveCamera:()=>Di,Plane:()=>Xo,PlaneBufferGeometry:()=>Fp,PlaneGeometry:()=>Fp,PlaneHelper:()=>VP,PointCloud:()=>Pce,PointCloudMaterial:()=>Ace,PointLight:()=>N_,PointLightHelper:()=>AP,Points:()=>su,PointsMaterial:()=>ic,PolarGridHelper:()=>kP,PolyhedronBufferGeometry:()=>rc,PolyhedronGeometry:()=>rc,PositionalAudio:()=>MP,PropertyBinding:()=>qn,PropertyMixer:()=>Uw,QuadraticBezierCurve:()=>qp,QuadraticBezierCurve3:()=>Yp,Quaternion:()=>Ui,QuaternionKeyframeTrack:()=>_l,QuaternionLinearInterpolant:()=>Ew,REVISION:()=>GP,RGBADepthPacking:()=>vH,RGBAFormat:()=>sr,RGBAIntegerFormat:()=>k4,RGBA_ASTC_10x10_Format:()=>Y4,RGBA_ASTC_10x5_Format:()=>W4,RGBA_ASTC_10x6_Format:()=>$4,RGBA_ASTC_10x8_Format:()=>q4,RGBA_ASTC_12x10_Format:()=>X4,RGBA_ASTC_12x12_Format:()=>Z4,RGBA_ASTC_4x4_Format:()=>F4,RGBA_ASTC_5x4_Format:()=>B4,RGBA_ASTC_5x5_Format:()=>V4,RGBA_ASTC_6x5_Format:()=>z4,RGBA_ASTC_6x6_Format:()=>U4,RGBA_ASTC_8x5_Format:()=>H4,RGBA_ASTC_8x6_Format:()=>G4,RGBA_ASTC_8x8_Format:()=>j4,RGBA_BPTC_Format:()=>Q4,RGBA_ETC2_EAC_Format:()=>hP,RGBA_PVRTC_2BPPV1_Format:()=>dP,RGBA_PVRTC_4BPPV1_Format:()=>lP,RGBA_S3TC_DXT1_Format:()=>rP,RGBA_S3TC_DXT3_Format:()=>oP,RGBA_S3TC_DXT5_Format:()=>sP,RGBDEncoding:()=>KP,RGBEEncoding:()=>tC,RGBEFormat:()=>D4,RGBFormat:()=>Qd,RGBIntegerFormat:()=>N4,RGBM16Encoding:()=>QP,RGBM7Encoding:()=>ZP,RGB_ETC1_Format:()=>L4,RGB_ETC2_Format:()=>uP,RGB_PVRTC_2BPPV1_Format:()=>cP,RGB_PVRTC_4BPPV1_Format:()=>aP,RGB_S3TC_DXT1_Format:()=>iP,RGFormat:()=>R4,RGIntegerFormat:()=>A4,RawShaderMaterial:()=>pl,Ray:()=>ca,Raycaster:()=>TP,RectAreaLight:()=>F_,RedFormat:()=>P4,RedIntegerFormat:()=>O4,ReinhardToneMapping:()=>g4,RepeatWrapping:()=>zg,ReplaceStencilOp:()=>xne,ReverseSubtractEquation:()=>ZU,RingBufferGeometry:()=>f_,RingGeometry:()=>f_,SRGB8_ALPHA8_ASTC_10x10_Format:()=>lH,SRGB8_ALPHA8_ASTC_10x5_Format:()=>sH,SRGB8_ALPHA8_ASTC_10x6_Format:()=>aH,SRGB8_ALPHA8_ASTC_10x8_Format:()=>cH,SRGB8_ALPHA8_ASTC_12x10_Format:()=>dH,SRGB8_ALPHA8_ASTC_12x12_Format:()=>uH,SRGB8_ALPHA8_ASTC_4x4_Format:()=>K4,SRGB8_ALPHA8_ASTC_5x4_Format:()=>J4,SRGB8_ALPHA8_ASTC_5x5_Format:()=>eH,SRGB8_ALPHA8_ASTC_6x5_Format:()=>tH,SRGB8_ALPHA8_ASTC_6x6_Format:()=>nH,SRGB8_ALPHA8_ASTC_8x5_Format:()=>iH,SRGB8_ALPHA8_ASTC_8x6_Format:()=>rH,SRGB8_ALPHA8_ASTC_8x8_Format:()=>oH,Scene:()=>Up,SceneUtils:()=>nle,ShaderChunk:()=>an,ShaderLib:()=>xs,ShaderMaterial:()=>Cs,ShadowMaterial:()=>y_,Shape:()=>Zo,ShapeBufferGeometry:()=>Qp,ShapeGeometry:()=>Qp,ShapePath:()=>UP,ShapeUtils:()=>oa,ShortType:()=>x4,Skeleton:()=>vw,SkeletonHelper:()=>Yw,SkinnedMesh:()=>jp,SmoothShading:()=>pne,Sphere:()=>aa,SphereBufferGeometry:()=>Kp,SphereGeometry:()=>Kp,Spherical:()=>PP,SphericalHarmonics3:()=>B_,SplineCurve:()=>Xp,SpotLight:()=>A_,SpotLightHelper:()=>RP,Sprite:()=>Gp,SpriteMaterial:()=>Hp,SrcAlphaFactor:()=>$P,SrcAlphaSaturateFactor:()=>o4,SrcColorFactor:()=>JU,StaticCopyUsage:()=>Bne,StaticDrawUsage:()=>Pp,StaticReadUsage:()=>kne,StereoCamera:()=>CP,StreamCopyUsage:()=>zne,StreamDrawUsage:()=>Nne,StreamReadUsage:()=>Fne,StringKeyframeTrack:()=>ac,SubtractEquation:()=>XU,SubtractiveBlending:()=>JD,TOUCH:()=>dne,TangentSpaceNormalMap:()=>yu,TetrahedronBufferGeometry:()=>m_,TetrahedronGeometry:()=>m_,TextGeometry:()=>ole,Texture:()=>Wi,TextureLoader:()=>Dw,TorusBufferGeometry:()=>g_,TorusGeometry:()=>g_,TorusKnotBufferGeometry:()=>__,TorusKnotGeometry:()=>__,Triangle:()=>ar,TriangleFanDrawMode:()=>bne,TriangleStripDrawMode:()=>vne,TrianglesDrawMode:()=>mH,TubeBufferGeometry:()=>v_,TubeGeometry:()=>v_,UVMapping:()=>Kw,Uint16Attribute:()=>Hce,Uint16BufferAttribute:()=>Rp,Uint32Attribute:()=>jce,Uint32BufferAttribute:()=>Ap,Uint8Attribute:()=>Vce,Uint8BufferAttribute:()=>lw,Uint8ClampedAttribute:()=>zce,Uint8ClampedBufferAttribute:()=>dw,Uniform:()=>jw,UniformsLib:()=>Ue,UniformsUtils:()=>SH,UnsignedByteType:()=>Ja,UnsignedInt248Type:()=>Ip,UnsignedIntType:()=>Ag,UnsignedShort4444Type:()=>C4,UnsignedShort5551Type:()=>S4,UnsignedShort565Type:()=>M4,UnsignedShortType:()=>Hg,VSMShadowMap:()=>Cp,Vector2:()=>we,Vector3:()=>O,Vector4:()=>Sn,VectorKeyframeTrack:()=>hu,Vertex:()=>Lce,VertexColors:()=>Ice,VideoTexture:()=>bw,WebGL1Renderer:()=>gw,WebGLCubeRenderTarget:()=>Lp,WebGLMultipleRenderTargets:()=>aw,WebGLMultisampleRenderTarget:()=>qg,WebGLRenderTarget:()=>So,WebGLRenderTargetCube:()=>Jce,WebGLRenderer:()=>kn,WebGLUtils:()=>LH,WireframeGeometry:()=>b_,WireframeHelper:()=>Zce,WrapAroundEnding:()=>Wg,XHRLoader:()=>Qce,ZeroCurvatureEnding:()=>Yd,ZeroFactor:()=>QU,ZeroSlopeEnding:()=>Xd,ZeroStencilOp:()=>yne,sRGBEncoding:()=>bl});var GP="134",lne={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},dne={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},WU=0,QD=1,$U=2,une=3,hne=0,jP=1,qU=2,Cp=3,eu=0,Ci=1,tu=2,WP=1,pne=2,Qa=0,Ep=1,KD=2,JD=3,eP=4,YU=5,qd=100,XU=101,ZU=102,tP=103,nP=104,QU=200,KU=201,JU=202,e4=203,$P=204,qP=205,t4=206,n4=207,i4=208,r4=209,o4=210,s4=0,a4=1,c4=2,rw=3,l4=4,d4=5,u4=6,h4=7,U_=0,p4=1,f4=2,cl=0,m4=1,g4=2,_4=3,v4=4,b4=5,Kw=300,_u=301,vu=302,Bg=303,Vg=304,tf=306,H_=307,zg=1e3,or=1001,Ug=1002,Pi=1003,ow=1004,fne=1004,sw=1005,mne=1005,zi=1006,YP=1007,gne=1007,bu=1008,_ne=1008,Ja=1009,y4=1010,x4=1011,Hg=1012,w4=1013,Ag=1014,ra=1015,Zd=1016,C4=1017,S4=1018,M4=1019,Ip=1020,E4=1021,Qd=1022,sr=1023,I4=1024,T4=1025,D4=sr,Kd=1026,Dp=1027,P4=1028,O4=1029,R4=1030,A4=1031,N4=1032,k4=1033,iP=33776,rP=33777,oP=33778,sP=33779,aP=35840,cP=35841,lP=35842,dP=35843,L4=36196,uP=37492,hP=37496,F4=37808,B4=37809,V4=37810,z4=37811,U4=37812,H4=37813,G4=37814,j4=37815,W4=37816,$4=37817,q4=37818,Y4=37819,X4=37820,Z4=37821,Q4=36492,K4=37840,J4=37841,eH=37842,tH=37843,nH=37844,iH=37845,rH=37846,oH=37847,sH=37848,aH=37849,cH=37850,lH=37851,dH=37852,uH=37853,hH=2200,pH=2201,fH=2202,Gg=2300,jg=2301,nw=2302,Yd=2400,Xd=2401,Wg=2402,Jw=2500,XP=2501,mH=0,vne=1,bne=2,cr=3e3,bl=3001,eC=3007,tC=3002,gH=3003,ZP=3004,QP=3005,KP=3006,_H=3200,vH=3201,yu=0,bH=1,yne=0,iw=7680,xne=7681,wne=7682,Cne=7683,Sne=34055,Mne=34056,Ene=5386,Ine=512,Tne=513,Dne=514,Pne=515,One=516,Rne=517,Ane=518,yH=519,Pp=35044,Op=35048,Nne=35040,kne=35045,Lne=35049,Fne=35041,Bne=35046,Vne=35050,zne=35042,Une="100",pP="300 es",sa=class{addEventListener(e,t){this._listeners===void 0&&(this._listeners={});let n=this._listeners;n[e]===void 0&&(n[e]=[]),n[e].indexOf(t)===-1&&n[e].push(t)}hasEventListener(e,t){if(this._listeners===void 0)return!1;let n=this._listeners;return n[e]!==void 0&&n[e].indexOf(t)!==-1}removeEventListener(e,t){if(this._listeners===void 0)return;let r=this._listeners[e];if(r!==void 0){let o=r.indexOf(t);o!==-1&&r.splice(o,1)}}dispatchEvent(e){if(this._listeners===void 0)return;let n=this._listeners[e.type];if(n!==void 0){e.target=this;let r=n.slice(0);for(let o=0,s=r.length;o>8&255]+ir[i>>16&255]+ir[i>>24&255]+"-"+ir[e&255]+ir[e>>8&255]+"-"+ir[e>>16&15|64]+ir[e>>24&255]+"-"+ir[t&63|128]+ir[t>>8&255]+"-"+ir[t>>16&255]+ir[t>>24&255]+ir[n&255]+ir[n>>8&255]+ir[n>>16&255]+ir[n>>24&255]).toUpperCase()}function rr(i,e,t){return Math.max(e,Math.min(t,i))}function JP(i,e){return(i%e+e)%e}function Gne(i,e,t,n,r){return n+(i-e)*(r-n)/(t-e)}function jne(i,e,t){return i!==e?(t-i)/(e-i):0}function Ng(i,e,t){return(1-t)*i+t*e}function Wne(i,e,t,n){return Ng(i,e,1-Math.exp(-t*n))}function $ne(i,e=1){return e-Math.abs(JP(i,e*2)-e)}function qne(i,e,t){return i<=e?0:i>=t?1:(i=(i-e)/(t-e),i*i*(3-2*i))}function Yne(i,e,t){return i<=e?0:i>=t?1:(i=(i-e)/(t-e),i*i*i*(i*(i*6-15)+10))}function Xne(i,e){return i+Math.floor(Math.random()*(e-i+1))}function Zne(i,e){return i+Math.random()*(e-i)}function Qne(i){return i*(.5-Math.random())}function Kne(i){return i!==void 0&&(mx=i%2147483647),mx=mx*16807%2147483647,(mx-1)/2147483646}function Jne(i){return i*Jd}function eie(i){return i*$g}function fP(i){return(i&i-1)===0&&i!==0}function xH(i){return Math.pow(2,Math.ceil(Math.log(i)/Math.LN2))}function wH(i){return Math.pow(2,Math.floor(Math.log(i)/Math.LN2))}function tie(i,e,t,n,r){let o=Math.cos,s=Math.sin,a=o(t/2),c=s(t/2),l=o((e+n)/2),d=s((e+n)/2),u=o((e-n)/2),h=s((e-n)/2),p=o((n-e)/2),f=s((n-e)/2);switch(r){case"XYX":i.set(a*d,c*u,c*h,a*l);break;case"YZY":i.set(c*h,a*d,c*u,a*l);break;case"ZXZ":i.set(c*u,c*h,a*d,a*l);break;case"XZX":i.set(a*d,c*f,c*p,a*l);break;case"YXY":i.set(c*p,a*d,c*f,a*l);break;case"ZYZ":i.set(c*f,c*p,a*d,a*l);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+r)}}var nie=Object.freeze({__proto__:null,DEG2RAD:Jd,RAD2DEG:$g,generateUUID:Co,clamp:rr,euclideanModulo:JP,mapLinear:Gne,inverseLerp:jne,lerp:Ng,damp:Wne,pingpong:$ne,smoothstep:qne,smootherstep:Yne,randInt:Xne,randFloat:Zne,randFloatSpread:Qne,seededRandom:Kne,degToRad:Jne,radToDeg:eie,isPowerOfTwo:fP,ceilPowerOfTwo:xH,floorPowerOfTwo:wH,setQuaternionFromProperEuler:tie}),we=class{constructor(e=0,t=0){this.x=e,this.y=t}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,t){return this.x=e,this.y=t,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e,t){return t!==void 0?(console.warn("THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(e,t)):(this.x+=e.x,this.y+=e.y,this)}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this}sub(e,t){return t!==void 0?(console.warn("THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(e,t)):(this.x-=e.x,this.y-=e.y,this)}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){let t=this.x,n=this.y,r=e.elements;return this.x=r[0]*t+r[3]*n+r[6],this.y=r[1]*t+r[4]*n+r[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this}clampLength(e,t){let n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){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(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){let t=this.x-e.x,n=this.y-e.y;return t*t+n*n}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e}fromBufferAttribute(e,t,n){return n!==void 0&&console.warn("THREE.Vector2: offset has been removed from .fromBufferAttribute()."),this.x=e.getX(t),this.y=e.getY(t),this}rotateAround(e,t){let n=Math.cos(t),r=Math.sin(t),o=this.x-e.x,s=this.y-e.y;return this.x=o*n-s*r+e.x,this.y=o*r+s*n+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}};we.prototype.isVector2=!0;var Si=class{constructor(){this.elements=[1,0,0,0,1,0,0,0,1],arguments.length>0&&console.error("THREE.Matrix3: the constructor no longer reads arguments. use .set() instead.")}set(e,t,n,r,o,s,a,c,l){let d=this.elements;return d[0]=e,d[1]=r,d[2]=a,d[3]=t,d[4]=o,d[5]=c,d[6]=n,d[7]=s,d[8]=l,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){let t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],this}extractBasis(e,t,n){return e.setFromMatrix3Column(this,0),t.setFromMatrix3Column(this,1),n.setFromMatrix3Column(this,2),this}setFromMatrix4(e){let t=e.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){let n=e.elements,r=t.elements,o=this.elements,s=n[0],a=n[3],c=n[6],l=n[1],d=n[4],u=n[7],h=n[2],p=n[5],f=n[8],m=r[0],y=r[3],g=r[6],_=r[1],x=r[4],C=r[7],T=r[2],D=r[5],E=r[8];return o[0]=s*m+a*_+c*T,o[3]=s*y+a*x+c*D,o[6]=s*g+a*C+c*E,o[1]=l*m+d*_+u*T,o[4]=l*y+d*x+u*D,o[7]=l*g+d*C+u*E,o[2]=h*m+p*_+f*T,o[5]=h*y+p*x+f*D,o[8]=h*g+p*C+f*E,this}multiplyScalar(e){let t=this.elements;return t[0]*=e,t[3]*=e,t[6]*=e,t[1]*=e,t[4]*=e,t[7]*=e,t[2]*=e,t[5]*=e,t[8]*=e,this}determinant(){let e=this.elements,t=e[0],n=e[1],r=e[2],o=e[3],s=e[4],a=e[5],c=e[6],l=e[7],d=e[8];return t*s*d-t*a*l-n*o*d+n*a*c+r*o*l-r*s*c}invert(){let e=this.elements,t=e[0],n=e[1],r=e[2],o=e[3],s=e[4],a=e[5],c=e[6],l=e[7],d=e[8],u=d*s-a*l,h=a*c-d*o,p=l*o-s*c,f=t*u+n*h+r*p;if(f===0)return this.set(0,0,0,0,0,0,0,0,0);let m=1/f;return e[0]=u*m,e[1]=(r*l-d*n)*m,e[2]=(a*n-r*s)*m,e[3]=h*m,e[4]=(d*t-r*c)*m,e[5]=(r*o-a*t)*m,e[6]=p*m,e[7]=(n*c-l*t)*m,e[8]=(s*t-n*o)*m,this}transpose(){let e,t=this.elements;return e=t[1],t[1]=t[3],t[3]=e,e=t[2],t[2]=t[6],t[6]=e,e=t[5],t[5]=t[7],t[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){let t=this.elements;return e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8],this}setUvTransform(e,t,n,r,o,s,a){let c=Math.cos(o),l=Math.sin(o);return this.set(n*c,n*l,-n*(c*s+l*a)+s+e,-r*l,r*c,-r*(-l*s+c*a)+a+t,0,0,1),this}scale(e,t){let n=this.elements;return n[0]*=e,n[3]*=e,n[6]*=e,n[1]*=t,n[4]*=t,n[7]*=t,this}rotate(e){let t=Math.cos(e),n=Math.sin(e),r=this.elements,o=r[0],s=r[3],a=r[6],c=r[1],l=r[4],d=r[7];return r[0]=t*o+n*c,r[3]=t*s+n*l,r[6]=t*a+n*d,r[1]=-n*o+t*c,r[4]=-n*s+t*l,r[7]=-n*a+t*d,this}translate(e,t){let n=this.elements;return n[0]+=e*n[2],n[3]+=e*n[5],n[6]+=e*n[8],n[1]+=t*n[2],n[4]+=t*n[5],n[7]+=t*n[8],this}equals(e){let t=this.elements,n=e.elements;for(let r=0;r<9;r++)if(t[r]!==n[r])return!1;return!0}fromArray(e,t=0){for(let n=0;n<9;n++)this.elements[n]=e[n+t];return this}toArray(e=[],t=0){let n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e}clone(){return new this.constructor().fromArray(this.elements)}};Si.prototype.isMatrix3=!0;function CH(i){if(i.length===0)return-1/0;let e=i[0];for(let t=1,n=i.length;te&&(e=i[t]);return e}var iie={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function Sp(i,e){return new iie[i](e)}function nC(i){return document.createElementNS("http://www.w3.org/1999/xhtml",i)}function xz(i,e=0){let t=3735928559^e,n=1103547991^e;for(let r=0,o;r>>16,2246822507)^Math.imul(n^n>>>13,3266489909),n=Math.imul(n^n>>>16,2246822507)^Math.imul(t^t>>>13,3266489909),4294967296*(2097151&n)+(t>>>0)}var rp,ec=class{static getDataURL(e){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement>"u")return e.src;let t;if(e instanceof HTMLCanvasElement)t=e;else{rp===void 0&&(rp=nC("canvas")),rp.width=e.width,rp.height=e.height;let n=rp.getContext("2d");e instanceof ImageData?n.putImageData(e,0,0):n.drawImage(e,0,0,e.width,e.height),t=rp}return t.width>2048||t.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",e),t.toDataURL("image/jpeg",.6)):t.toDataURL("image/png")}},rie=0,Wi=class i extends sa{constructor(e=i.DEFAULT_IMAGE,t=i.DEFAULT_MAPPING,n=or,r=or,o=zi,s=bu,a=sr,c=Ja,l=1,d=cr){super(),Object.defineProperty(this,"id",{value:rie++}),this.uuid=Co(),this.name="",this.image=e,this.mipmaps=[],this.mapping=t,this.wrapS=n,this.wrapT=r,this.magFilter=o,this.minFilter=s,this.anisotropy=l,this.format=a,this.internalFormat=null,this.type=c,this.offset=new we(0,0),this.repeat=new we(1,1),this.center=new we(0,0),this.rotation=0,this.matrixAutoUpdate=!0,this.matrix=new Si,this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,this.encoding=d,this.userData={},this.version=0,this.onUpdate=null,this.isRenderTargetTexture=!1}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)}clone(){return new this.constructor().copy(this)}copy(e){return this.name=e.name,this.image=e.image,this.mipmaps=e.mipmaps.slice(0),this.mapping=e.mapping,this.wrapS=e.wrapS,this.wrapT=e.wrapT,this.magFilter=e.magFilter,this.minFilter=e.minFilter,this.anisotropy=e.anisotropy,this.format=e.format,this.internalFormat=e.internalFormat,this.type=e.type,this.offset.copy(e.offset),this.repeat.copy(e.repeat),this.center.copy(e.center),this.rotation=e.rotation,this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrix.copy(e.matrix),this.generateMipmaps=e.generateMipmaps,this.premultiplyAlpha=e.premultiplyAlpha,this.flipY=e.flipY,this.unpackAlignment=e.unpackAlignment,this.encoding=e.encoding,this.userData=JSON.parse(JSON.stringify(e.userData)),this}toJSON(e){let t=e===void 0||typeof e=="string";if(!t&&e.textures[this.uuid]!==void 0)return e.textures[this.uuid];let 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(this.image!==void 0){let r=this.image;if(r.uuid===void 0&&(r.uuid=Co()),!t&&e.images[r.uuid]===void 0){let o;if(Array.isArray(r)){o=[];for(let s=0,a=r.length;s1)switch(this.wrapS){case zg:e.x=e.x-Math.floor(e.x);break;case or:e.x=e.x<0?0:1;break;case Ug:Math.abs(Math.floor(e.x)%2)===1?e.x=Math.ceil(e.x)-e.x:e.x=e.x-Math.floor(e.x);break}if(e.y<0||e.y>1)switch(this.wrapT){case zg:e.y=e.y-Math.floor(e.y);break;case or:e.y=e.y<0?0:1;break;case Ug:Math.abs(Math.floor(e.y)%2)===1?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y);break}return this.flipY&&(e.y=1-e.y),e}set needsUpdate(e){e===!0&&this.version++}};Wi.DEFAULT_IMAGE=void 0;Wi.DEFAULT_MAPPING=Kw;Wi.prototype.isTexture=!0;function gD(i){return typeof HTMLImageElement<"u"&&i instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&i instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&i instanceof ImageBitmap?ec.getDataURL(i):i.data?{data:Array.prototype.slice.call(i.data),width:i.width,height:i.height,type:i.data.constructor.name}:(console.warn("THREE.Texture: Unable to serialize Texture."),{})}var Sn=class{constructor(e=0,t=0,n=0,r=1){this.x=e,this.y=t,this.z=n,this.w=r}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,t,n,r){return this.x=e,this.y=t,this.z=n,this.w=r,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this.w=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setW(e){return this.w=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w!==void 0?e.w:1,this}add(e,t){return t!==void 0?(console.warn("THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(e,t)):(this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this)}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this.w=e.w+t.w,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this.w+=e.w*t,this}sub(e,t){return t!==void 0?(console.warn("THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(e,t)):(this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this)}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this.w=e.w-t.w,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this.w*=e.w,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this}applyMatrix4(e){let t=this.x,n=this.y,r=this.z,o=this.w,s=e.elements;return this.x=s[0]*t+s[4]*n+s[8]*r+s[12]*o,this.y=s[1]*t+s[5]*n+s[9]*r+s[13]*o,this.z=s[2]*t+s[6]*n+s[10]*r+s[14]*o,this.w=s[3]*t+s[7]*n+s[11]*r+s[15]*o,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);let t=Math.sqrt(1-e.w*e.w);return t<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/t,this.y=e.y/t,this.z=e.z/t),this}setAxisAngleFromRotationMatrix(e){let t,n,r,o,c=e.elements,l=c[0],d=c[4],u=c[8],h=c[1],p=c[5],f=c[9],m=c[2],y=c[6],g=c[10];if(Math.abs(d-h)<.01&&Math.abs(u-m)<.01&&Math.abs(f-y)<.01){if(Math.abs(d+h)<.1&&Math.abs(u+m)<.1&&Math.abs(f+y)<.1&&Math.abs(l+p+g-3)<.1)return this.set(1,0,0,0),this;t=Math.PI;let x=(l+1)/2,C=(p+1)/2,T=(g+1)/2,D=(d+h)/4,E=(u+m)/4,A=(f+y)/4;return x>C&&x>T?x<.01?(n=0,r=.707106781,o=.707106781):(n=Math.sqrt(x),r=D/n,o=E/n):C>T?C<.01?(n=.707106781,r=0,o=.707106781):(r=Math.sqrt(C),n=D/r,o=A/r):T<.01?(n=.707106781,r=.707106781,o=0):(o=Math.sqrt(T),n=E/o,r=A/o),this.set(n,r,o,t),this}let _=Math.sqrt((y-f)*(y-f)+(u-m)*(u-m)+(h-d)*(h-d));return Math.abs(_)<.001&&(_=1),this.x=(y-f)/_,this.y=(u-m)/_,this.z=(h-d)/_,this.w=Math.acos((l+p+g-1)/2),this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this.w=Math.min(this.w,e.w),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this.w=Math.max(this.w,e.w),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this.w=Math.max(e.w,Math.min(t.w,this.w)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this.z=Math.max(e,Math.min(t,this.z)),this.w=Math.max(e,Math.min(t,this.w)),this}clampLength(e,t){let n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))}floor(){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(){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(){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(){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(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z+this.w*e.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this.w+=(e.w-this.w)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this.z=e.z+(t.z-e.z)*n,this.w=e.w+(t.w-e.w)*n,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this.w=e[t+3],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e[t+3]=this.w,e}fromBufferAttribute(e,t,n){return n!==void 0&&console.warn("THREE.Vector4: offset has been removed from .fromBufferAttribute()."),this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this.w=e.getW(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z,yield this.w}};Sn.prototype.isVector4=!0;var So=class extends sa{constructor(e,t,n={}){super(),this.width=e,this.height=t,this.depth=1,this.scissor=new Sn(0,0,e,t),this.scissorTest=!1,this.viewport=new Sn(0,0,e,t),this.texture=new Wi(void 0,n.mapping,n.wrapS,n.wrapT,n.magFilter,n.minFilter,n.format,n.type,n.anisotropy,n.encoding),this.texture.isRenderTargetTexture=!0,this.texture.image={width:e,height:t,depth:1},this.texture.generateMipmaps=n.generateMipmaps!==void 0?n.generateMipmaps:!1,this.texture.internalFormat=n.internalFormat!==void 0?n.internalFormat:null,this.texture.minFilter=n.minFilter!==void 0?n.minFilter:zi,this.depthBuffer=n.depthBuffer!==void 0?n.depthBuffer:!0,this.stencilBuffer=n.stencilBuffer!==void 0?n.stencilBuffer:!1,this.depthTexture=n.depthTexture!==void 0?n.depthTexture:null}setTexture(e){e.image={width:this.width,height:this.height,depth:this.depth},this.texture=e}setSize(e,t,n=1){(this.width!==e||this.height!==t||this.depth!==n)&&(this.width=e,this.height=t,this.depth=n,this.texture.image.width=e,this.texture.image.height=t,this.texture.image.depth=n,this.dispose()),this.viewport.set(0,0,e,t),this.scissor.set(0,0,e,t)}clone(){return new this.constructor().copy(this)}copy(e){return this.width=e.width,this.height=e.height,this.depth=e.depth,this.viewport.copy(e.viewport),this.texture=e.texture.clone(),this.texture.image=Z({},this.texture.image),this.depthBuffer=e.depthBuffer,this.stencilBuffer=e.stencilBuffer,this.depthTexture=e.depthTexture,this}dispose(){this.dispatchEvent({type:"dispose"})}};So.prototype.isWebGLRenderTarget=!0;var aw=class extends So{constructor(e,t,n){super(e,t);let r=this.texture;this.texture=[];for(let o=0;o=0?1:-1,x=1-g*g;if(x>Number.EPSILON){let T=Math.sqrt(x),D=Math.atan2(T,g*_);y=Math.sin(y*D)/T,a=Math.sin(a*D)/T}let C=a*_;if(c=c*y+h*C,l=l*y+p*C,d=d*y+f*C,u=u*y+m*C,y===1-a){let T=1/Math.sqrt(c*c+l*l+d*d+u*u);c*=T,l*=T,d*=T,u*=T}}e[t]=c,e[t+1]=l,e[t+2]=d,e[t+3]=u}static multiplyQuaternionsFlat(e,t,n,r,o,s){let a=n[r],c=n[r+1],l=n[r+2],d=n[r+3],u=o[s],h=o[s+1],p=o[s+2],f=o[s+3];return e[t]=a*f+d*u+c*p-l*h,e[t+1]=c*f+d*h+l*u-a*p,e[t+2]=l*f+d*p+a*h-c*u,e[t+3]=d*f-a*u-c*h-l*p,e}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e,this._onChangeCallback()}set(e,t,n,r){return this._x=e,this._y=t,this._z=n,this._w=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this._onChangeCallback(),this}setFromEuler(e,t){if(!(e&&e.isEuler))throw new Error("THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.");let n=e._x,r=e._y,o=e._z,s=e._order,a=Math.cos,c=Math.sin,l=a(n/2),d=a(r/2),u=a(o/2),h=c(n/2),p=c(r/2),f=c(o/2);switch(s){case"XYZ":this._x=h*d*u+l*p*f,this._y=l*p*u-h*d*f,this._z=l*d*f+h*p*u,this._w=l*d*u-h*p*f;break;case"YXZ":this._x=h*d*u+l*p*f,this._y=l*p*u-h*d*f,this._z=l*d*f-h*p*u,this._w=l*d*u+h*p*f;break;case"ZXY":this._x=h*d*u-l*p*f,this._y=l*p*u+h*d*f,this._z=l*d*f+h*p*u,this._w=l*d*u-h*p*f;break;case"ZYX":this._x=h*d*u-l*p*f,this._y=l*p*u+h*d*f,this._z=l*d*f-h*p*u,this._w=l*d*u+h*p*f;break;case"YZX":this._x=h*d*u+l*p*f,this._y=l*p*u+h*d*f,this._z=l*d*f-h*p*u,this._w=l*d*u-h*p*f;break;case"XZY":this._x=h*d*u-l*p*f,this._y=l*p*u-h*d*f,this._z=l*d*f+h*p*u,this._w=l*d*u+h*p*f;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+s)}return t!==!1&&this._onChangeCallback(),this}setFromAxisAngle(e,t){let n=t/2,r=Math.sin(n);return this._x=e.x*r,this._y=e.y*r,this._z=e.z*r,this._w=Math.cos(n),this._onChangeCallback(),this}setFromRotationMatrix(e){let t=e.elements,n=t[0],r=t[4],o=t[8],s=t[1],a=t[5],c=t[9],l=t[2],d=t[6],u=t[10],h=n+a+u;if(h>0){let p=.5/Math.sqrt(h+1);this._w=.25/p,this._x=(d-c)*p,this._y=(o-l)*p,this._z=(s-r)*p}else if(n>a&&n>u){let p=2*Math.sqrt(1+n-a-u);this._w=(d-c)/p,this._x=.25*p,this._y=(r+s)/p,this._z=(o+l)/p}else if(a>u){let p=2*Math.sqrt(1+a-n-u);this._w=(o-l)/p,this._x=(r+s)/p,this._y=.25*p,this._z=(c+d)/p}else{let p=2*Math.sqrt(1+u-n-a);this._w=(s-r)/p,this._x=(o+l)/p,this._y=(c+d)/p,this._z=.25*p}return this._onChangeCallback(),this}setFromUnitVectors(e,t){let n=e.dot(t)+1;return nMath.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=n):(this._x=0,this._y=-e.z,this._z=e.y,this._w=n)):(this._x=e.y*t.z-e.z*t.y,this._y=e.z*t.x-e.x*t.z,this._z=e.x*t.y-e.y*t.x,this._w=n),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(rr(this.dot(e),-1,1)))}rotateTowards(e,t){let n=this.angleTo(e);if(n===0)return this;let r=Math.min(1,t/n);return this.slerp(e,r),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let e=this.length();return e===0?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x=this._x*e,this._y=this._y*e,this._z=this._z*e,this._w=this._w*e),this._onChangeCallback(),this}multiply(e,t){return t!==void 0?(console.warn("THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead."),this.multiplyQuaternions(e,t)):this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,t){let n=e._x,r=e._y,o=e._z,s=e._w,a=t._x,c=t._y,l=t._z,d=t._w;return this._x=n*d+s*a+r*l-o*c,this._y=r*d+s*c+o*a-n*l,this._z=o*d+s*l+n*c-r*a,this._w=s*d-n*a-r*c-o*l,this._onChangeCallback(),this}slerp(e,t){if(t===0)return this;if(t===1)return this.copy(e);let n=this._x,r=this._y,o=this._z,s=this._w,a=s*e._w+n*e._x+r*e._y+o*e._z;if(a<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,a=-a):this.copy(e),a>=1)return this._w=s,this._x=n,this._y=r,this._z=o,this;let c=1-a*a;if(c<=Number.EPSILON){let p=1-t;return this._w=p*s+t*this._w,this._x=p*n+t*this._x,this._y=p*r+t*this._y,this._z=p*o+t*this._z,this.normalize(),this._onChangeCallback(),this}let l=Math.sqrt(c),d=Math.atan2(l,a),u=Math.sin((1-t)*d)/l,h=Math.sin(t*d)/l;return this._w=s*u+this._w*h,this._x=n*u+this._x*h,this._y=r*u+this._y*h,this._z=o*u+this._z*h,this._onChangeCallback(),this}slerpQuaternions(e,t,n){this.copy(e).slerp(t,n)}random(){let e=Math.random(),t=Math.sqrt(1-e),n=Math.sqrt(e),r=2*Math.PI*Math.random(),o=2*Math.PI*Math.random();return this.set(t*Math.cos(r),n*Math.sin(o),n*Math.cos(o),t*Math.sin(r))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,t=0){return this._x=e[t],this._y=e[t+1],this._z=e[t+2],this._w=e[t+3],this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._w,e}fromBufferAttribute(e,t){return this._x=e.getX(t),this._y=e.getY(t),this._z=e.getZ(t),this._w=e.getW(t),this}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}};Ui.prototype.isQuaternion=!0;var O=class{constructor(e=0,t=0,n=0){this.x=e,this.y=t,this.z=n}set(e,t,n){return n===void 0&&(n=this.z),this.x=e,this.y=t,this.z=n,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}add(e,t){return t!==void 0?(console.warn("THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(e,t)):(this.x+=e.x,this.y+=e.y,this.z+=e.z,this)}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this}sub(e,t){return t!==void 0?(console.warn("THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(e,t)):(this.x-=e.x,this.y-=e.y,this.z-=e.z,this)}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this}multiply(e,t){return t!==void 0?(console.warn("THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead."),this.multiplyVectors(e,t)):(this.x*=e.x,this.y*=e.y,this.z*=e.z,this)}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this}multiplyVectors(e,t){return this.x=e.x*t.x,this.y=e.y*t.y,this.z=e.z*t.z,this}applyEuler(e){return e&&e.isEuler||console.error("THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order."),this.applyQuaternion(wz.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(wz.setFromAxisAngle(e,t))}applyMatrix3(e){let t=this.x,n=this.y,r=this.z,o=e.elements;return this.x=o[0]*t+o[3]*n+o[6]*r,this.y=o[1]*t+o[4]*n+o[7]*r,this.z=o[2]*t+o[5]*n+o[8]*r,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){let t=this.x,n=this.y,r=this.z,o=e.elements,s=1/(o[3]*t+o[7]*n+o[11]*r+o[15]);return this.x=(o[0]*t+o[4]*n+o[8]*r+o[12])*s,this.y=(o[1]*t+o[5]*n+o[9]*r+o[13])*s,this.z=(o[2]*t+o[6]*n+o[10]*r+o[14])*s,this}applyQuaternion(e){let t=this.x,n=this.y,r=this.z,o=e.x,s=e.y,a=e.z,c=e.w,l=c*t+s*r-a*n,d=c*n+a*t-o*r,u=c*r+o*n-s*t,h=-o*t-s*n-a*r;return this.x=l*c+h*-o+d*-a-u*-s,this.y=d*c+h*-s+u*-o-l*-a,this.z=u*c+h*-a+l*-s-d*-o,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){let t=this.x,n=this.y,r=this.z,o=e.elements;return this.x=o[0]*t+o[4]*n+o[8]*r,this.y=o[1]*t+o[5]*n+o[9]*r,this.z=o[2]*t+o[6]*n+o[10]*r,this.normalize()}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this.z=Math.max(e,Math.min(t,this.z)),this}clampLength(e,t){let n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){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(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this.z=e.z+(t.z-e.z)*n,this}cross(e,t){return t!==void 0?(console.warn("THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead."),this.crossVectors(e,t)):this.crossVectors(this,e)}crossVectors(e,t){let n=e.x,r=e.y,o=e.z,s=t.x,a=t.y,c=t.z;return this.x=r*c-o*a,this.y=o*s-n*c,this.z=n*a-r*s,this}projectOnVector(e){let t=e.lengthSq();if(t===0)return this.set(0,0,0);let n=e.dot(this)/t;return this.copy(e).multiplyScalar(n)}projectOnPlane(e){return _D.copy(this).projectOnVector(e),this.sub(_D)}reflect(e){return this.sub(_D.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){let t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;let n=this.dot(e)/t;return Math.acos(rr(n,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){let t=this.x-e.x,n=this.y-e.y,r=this.z-e.z;return t*t+n*n+r*r}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)}setFromSpherical(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)}setFromSphericalCoords(e,t,n){let r=Math.sin(t)*e;return this.x=r*Math.sin(n),this.y=Math.cos(t)*e,this.z=r*Math.cos(n),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,t,n){return this.x=e*Math.sin(t),this.y=n,this.z=e*Math.cos(t),this}setFromMatrixPosition(e){let t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this}setFromMatrixScale(e){let t=this.setFromMatrixColumn(e,0).length(),n=this.setFromMatrixColumn(e,1).length(),r=this.setFromMatrixColumn(e,2).length();return this.x=t,this.y=n,this.z=r,this}setFromMatrixColumn(e,t){return this.fromArray(e.elements,t*4)}setFromMatrix3Column(e,t){return this.fromArray(e.elements,t*3)}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e}fromBufferAttribute(e,t,n){return n!==void 0&&console.warn("THREE.Vector3: offset has been removed from .fromBufferAttribute()."),this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){let e=(Math.random()-.5)*2,t=Math.random()*Math.PI*2,n=Math.sqrt(1-e**2);return this.x=n*Math.cos(t),this.y=n*Math.sin(t),this.z=e,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}};O.prototype.isVector3=!0;var _D=new O,wz=new Ui,qr=class{constructor(e=new O(1/0,1/0,1/0),t=new O(-1/0,-1/0,-1/0)){this.min=e,this.max=t}set(e,t){return this.min.copy(e),this.max.copy(t),this}setFromArray(e){let t=1/0,n=1/0,r=1/0,o=-1/0,s=-1/0,a=-1/0;for(let c=0,l=e.length;co&&(o=d),u>s&&(s=u),h>a&&(a=h)}return this.min.set(t,n,r),this.max.set(o,s,a),this}setFromBufferAttribute(e){let t=1/0,n=1/0,r=1/0,o=-1/0,s=-1/0,a=-1/0;for(let c=0,l=e.count;co&&(o=d),u>s&&(s=u),h>a&&(a=h)}return this.min.set(t,n,r),this.max.set(o,s,a),this}setFromPoints(e){this.makeEmpty();for(let t=0,n=e.length;tthis.max.x||e.ythis.max.y||e.zthis.max.z)}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(e){return!(e.max.xthis.max.x||e.max.ythis.max.y||e.max.zthis.max.z)}intersectsSphere(e){return this.clampPoint(e.center,wg),wg.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let t,n;return e.normal.x>0?(t=e.normal.x*this.min.x,n=e.normal.x*this.max.x):(t=e.normal.x*this.max.x,n=e.normal.x*this.min.x),e.normal.y>0?(t+=e.normal.y*this.min.y,n+=e.normal.y*this.max.y):(t+=e.normal.y*this.max.y,n+=e.normal.y*this.min.y),e.normal.z>0?(t+=e.normal.z*this.min.z,n+=e.normal.z*this.max.z):(t+=e.normal.z*this.max.z,n+=e.normal.z*this.min.z),t<=-e.constant&&n>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(Cg),gx.subVectors(this.max,Cg),op.subVectors(e.a,Cg),sp.subVectors(e.b,Cg),ap.subVectors(e.c,Cg),el.subVectors(sp,op),tl.subVectors(ap,sp),Vd.subVectors(op,ap);let t=[0,-el.z,el.y,0,-tl.z,tl.y,0,-Vd.z,Vd.y,el.z,0,-el.x,tl.z,0,-tl.x,Vd.z,0,-Vd.x,-el.y,el.x,0,-tl.y,tl.x,0,-Vd.y,Vd.x,0];return!bD(t,op,sp,ap,gx)||(t=[1,0,0,0,1,0,0,0,1],!bD(t,op,sp,ap,gx))?!1:(_x.crossVectors(el,tl),t=[_x.x,_x.y,_x.z],bD(t,op,sp,ap,gx))}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return wg.copy(e).clamp(this.min,this.max).sub(e).length()}getBoundingSphere(e){return this.getCenter(e.center),e.radius=this.getSize(wg).length()*.5,e}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}applyMatrix4(e){return this.isEmpty()?this:(ja[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),ja[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),ja[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),ja[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),ja[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),ja[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),ja[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),ja[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(ja),this)}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}};qr.prototype.isBox3=!0;var ja=[new O,new O,new O,new O,new O,new O,new O,new O],wg=new O,vD=new qr,op=new O,sp=new O,ap=new O,el=new O,tl=new O,Vd=new O,Cg=new O,gx=new O,_x=new O,zd=new O;function bD(i,e,t,n,r){for(let o=0,s=i.length-3;o<=s;o+=3){zd.fromArray(i,o);let a=r.x*Math.abs(zd.x)+r.y*Math.abs(zd.y)+r.z*Math.abs(zd.z),c=e.dot(zd),l=t.dot(zd),d=n.dot(zd);if(Math.max(-Math.max(c,l,d),Math.min(c,l,d))>a)return!1}return!0}var oie=new qr,Cz=new O,yD=new O,xD=new O,aa=class{constructor(e=new O,t=-1){this.center=e,this.radius=t}set(e,t){return this.center.copy(e),this.radius=t,this}setFromPoints(e,t){let n=this.center;t!==void 0?n.copy(t):oie.setFromPoints(e).getCenter(n);let r=0;for(let o=0,s=e.length;othis.radius*this.radius&&(t.sub(this.center).normalize(),t.multiplyScalar(this.radius).add(this.center)),t}getBoundingBox(e){return this.isEmpty()?(e.makeEmpty(),e):(e.set(this.center,this.center),e.expandByScalar(this.radius),e)}applyMatrix4(e){return this.center.applyMatrix4(e),this.radius=this.radius*e.getMaxScaleOnAxis(),this}translate(e){return this.center.add(e),this}expandByPoint(e){xD.subVectors(e,this.center);let t=xD.lengthSq();if(t>this.radius*this.radius){let n=Math.sqrt(t),r=(n-this.radius)*.5;this.center.add(xD.multiplyScalar(r/n)),this.radius+=r}return this}union(e){return yD.subVectors(e.center,this.center).normalize().multiplyScalar(e.radius),this.expandByPoint(Cz.copy(e.center).add(yD)),this.expandByPoint(Cz.copy(e.center).sub(yD)),this}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}},Wa=new O,wD=new O,vx=new O,nl=new O,CD=new O,bx=new O,SD=new O,ca=class{constructor(e=new O,t=new O(0,0,-1)){this.origin=e,this.direction=t}set(e,t){return this.origin.copy(e),this.direction.copy(t),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,t){return t.copy(this.direction).multiplyScalar(e).add(this.origin)}lookAt(e){return this.direction.copy(e).sub(this.origin).normalize(),this}recast(e){return this.origin.copy(this.at(e,Wa)),this}closestPointToPoint(e,t){t.subVectors(e,this.origin);let n=t.dot(this.direction);return n<0?t.copy(this.origin):t.copy(this.direction).multiplyScalar(n).add(this.origin)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){let t=Wa.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(Wa.copy(this.direction).multiplyScalar(t).add(this.origin),Wa.distanceToSquared(e))}distanceSqToSegment(e,t,n,r){wD.copy(e).add(t).multiplyScalar(.5),vx.copy(t).sub(e).normalize(),nl.copy(this.origin).sub(wD);let o=e.distanceTo(t)*.5,s=-this.direction.dot(vx),a=nl.dot(this.direction),c=-nl.dot(vx),l=nl.lengthSq(),d=Math.abs(1-s*s),u,h,p,f;if(d>0)if(u=s*c-a,h=s*a-c,f=o*d,u>=0)if(h>=-f)if(h<=f){let m=1/d;u*=m,h*=m,p=u*(u+s*h+2*a)+h*(s*u+h+2*c)+l}else h=o,u=Math.max(0,-(s*h+a)),p=-u*u+h*(h+2*c)+l;else h=-o,u=Math.max(0,-(s*h+a)),p=-u*u+h*(h+2*c)+l;else h<=-f?(u=Math.max(0,-(-s*o+a)),h=u>0?-o:Math.min(Math.max(-o,-c),o),p=-u*u+h*(h+2*c)+l):h<=f?(u=0,h=Math.min(Math.max(-o,-c),o),p=h*(h+2*c)+l):(u=Math.max(0,-(s*o+a)),h=u>0?o:Math.min(Math.max(-o,-c),o),p=-u*u+h*(h+2*c)+l);else h=s>0?-o:o,u=Math.max(0,-(s*h+a)),p=-u*u+h*(h+2*c)+l;return n&&n.copy(this.direction).multiplyScalar(u).add(this.origin),r&&r.copy(vx).multiplyScalar(h).add(wD),p}intersectSphere(e,t){Wa.subVectors(e.center,this.origin);let n=Wa.dot(this.direction),r=Wa.dot(Wa)-n*n,o=e.radius*e.radius;if(r>o)return null;let s=Math.sqrt(o-r),a=n-s,c=n+s;return a<0&&c<0?null:a<0?this.at(c,t):this.at(a,t)}intersectsSphere(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){let t=e.normal.dot(this.direction);if(t===0)return e.distanceToPoint(this.origin)===0?0:null;let n=-(this.origin.dot(e.normal)+e.constant)/t;return n>=0?n:null}intersectPlane(e,t){let n=this.distanceToPlane(e);return n===null?null:this.at(n,t)}intersectsPlane(e){let t=e.distanceToPoint(this.origin);return t===0||e.normal.dot(this.direction)*t<0}intersectBox(e,t){let n,r,o,s,a,c,l=1/this.direction.x,d=1/this.direction.y,u=1/this.direction.z,h=this.origin;return l>=0?(n=(e.min.x-h.x)*l,r=(e.max.x-h.x)*l):(n=(e.max.x-h.x)*l,r=(e.min.x-h.x)*l),d>=0?(o=(e.min.y-h.y)*d,s=(e.max.y-h.y)*d):(o=(e.max.y-h.y)*d,s=(e.min.y-h.y)*d),n>s||o>r||((o>n||n!==n)&&(n=o),(s=0?(a=(e.min.z-h.z)*u,c=(e.max.z-h.z)*u):(a=(e.max.z-h.z)*u,c=(e.min.z-h.z)*u),n>c||a>r)||((a>n||n!==n)&&(n=a),(c=0?n:r,t)}intersectsBox(e){return this.intersectBox(e,Wa)!==null}intersectTriangle(e,t,n,r,o){CD.subVectors(t,e),bx.subVectors(n,e),SD.crossVectors(CD,bx);let s=this.direction.dot(SD),a;if(s>0){if(r)return null;a=1}else if(s<0)a=-1,s=-s;else return null;nl.subVectors(this.origin,e);let c=a*this.direction.dot(bx.crossVectors(nl,bx));if(c<0)return null;let l=a*this.direction.dot(CD.cross(nl));if(l<0||c+l>s)return null;let d=-a*nl.dot(SD);return d<0?null:this.at(d/s,o)}applyMatrix4(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}},dt=class i{constructor(){this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],arguments.length>0&&console.error("THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.")}set(e,t,n,r,o,s,a,c,l,d,u,h,p,f,m,y){let g=this.elements;return g[0]=e,g[4]=t,g[8]=n,g[12]=r,g[1]=o,g[5]=s,g[9]=a,g[13]=c,g[2]=l,g[6]=d,g[10]=u,g[14]=h,g[3]=p,g[7]=f,g[11]=m,g[15]=y,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new i().fromArray(this.elements)}copy(e){let t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15],this}copyPosition(e){let t=this.elements,n=e.elements;return t[12]=n[12],t[13]=n[13],t[14]=n[14],this}setFromMatrix3(e){let t=e.elements;return this.set(t[0],t[3],t[6],0,t[1],t[4],t[7],0,t[2],t[5],t[8],0,0,0,0,1),this}extractBasis(e,t,n){return e.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),n.setFromMatrixColumn(this,2),this}makeBasis(e,t,n){return this.set(e.x,t.x,n.x,0,e.y,t.y,n.y,0,e.z,t.z,n.z,0,0,0,0,1),this}extractRotation(e){let t=this.elements,n=e.elements,r=1/cp.setFromMatrixColumn(e,0).length(),o=1/cp.setFromMatrixColumn(e,1).length(),s=1/cp.setFromMatrixColumn(e,2).length();return t[0]=n[0]*r,t[1]=n[1]*r,t[2]=n[2]*r,t[3]=0,t[4]=n[4]*o,t[5]=n[5]*o,t[6]=n[6]*o,t[7]=0,t[8]=n[8]*s,t[9]=n[9]*s,t[10]=n[10]*s,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromEuler(e){e&&e.isEuler||console.error("THREE.Matrix4: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.");let t=this.elements,n=e.x,r=e.y,o=e.z,s=Math.cos(n),a=Math.sin(n),c=Math.cos(r),l=Math.sin(r),d=Math.cos(o),u=Math.sin(o);if(e.order==="XYZ"){let h=s*d,p=s*u,f=a*d,m=a*u;t[0]=c*d,t[4]=-c*u,t[8]=l,t[1]=p+f*l,t[5]=h-m*l,t[9]=-a*c,t[2]=m-h*l,t[6]=f+p*l,t[10]=s*c}else if(e.order==="YXZ"){let h=c*d,p=c*u,f=l*d,m=l*u;t[0]=h+m*a,t[4]=f*a-p,t[8]=s*l,t[1]=s*u,t[5]=s*d,t[9]=-a,t[2]=p*a-f,t[6]=m+h*a,t[10]=s*c}else if(e.order==="ZXY"){let h=c*d,p=c*u,f=l*d,m=l*u;t[0]=h-m*a,t[4]=-s*u,t[8]=f+p*a,t[1]=p+f*a,t[5]=s*d,t[9]=m-h*a,t[2]=-s*l,t[6]=a,t[10]=s*c}else if(e.order==="ZYX"){let h=s*d,p=s*u,f=a*d,m=a*u;t[0]=c*d,t[4]=f*l-p,t[8]=h*l+m,t[1]=c*u,t[5]=m*l+h,t[9]=p*l-f,t[2]=-l,t[6]=a*c,t[10]=s*c}else if(e.order==="YZX"){let h=s*c,p=s*l,f=a*c,m=a*l;t[0]=c*d,t[4]=m-h*u,t[8]=f*u+p,t[1]=u,t[5]=s*d,t[9]=-a*d,t[2]=-l*d,t[6]=p*u+f,t[10]=h-m*u}else if(e.order==="XZY"){let h=s*c,p=s*l,f=a*c,m=a*l;t[0]=c*d,t[4]=-u,t[8]=l*d,t[1]=h*u+m,t[5]=s*d,t[9]=p*u-f,t[2]=f*u-p,t[6]=a*d,t[10]=m*u+h}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromQuaternion(e){return this.compose(sie,e,aie)}lookAt(e,t,n){let r=this.elements;return xo.subVectors(e,t),xo.lengthSq()===0&&(xo.z=1),xo.normalize(),il.crossVectors(n,xo),il.lengthSq()===0&&(Math.abs(n.z)===1?xo.x+=1e-4:xo.z+=1e-4,xo.normalize(),il.crossVectors(n,xo)),il.normalize(),yx.crossVectors(xo,il),r[0]=il.x,r[4]=yx.x,r[8]=xo.x,r[1]=il.y,r[5]=yx.y,r[9]=xo.y,r[2]=il.z,r[6]=yx.z,r[10]=xo.z,this}multiply(e,t){return t!==void 0?(console.warn("THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead."),this.multiplyMatrices(e,t)):this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){let n=e.elements,r=t.elements,o=this.elements,s=n[0],a=n[4],c=n[8],l=n[12],d=n[1],u=n[5],h=n[9],p=n[13],f=n[2],m=n[6],y=n[10],g=n[14],_=n[3],x=n[7],C=n[11],T=n[15],D=r[0],E=r[4],A=r[8],j=r[12],q=r[1],z=r[5],P=r[9],U=r[13],W=r[2],Y=r[6],k=r[10],G=r[14],K=r[3],de=r[7],De=r[11],Te=r[15];return o[0]=s*D+a*q+c*W+l*K,o[4]=s*E+a*z+c*Y+l*de,o[8]=s*A+a*P+c*k+l*De,o[12]=s*j+a*U+c*G+l*Te,o[1]=d*D+u*q+h*W+p*K,o[5]=d*E+u*z+h*Y+p*de,o[9]=d*A+u*P+h*k+p*De,o[13]=d*j+u*U+h*G+p*Te,o[2]=f*D+m*q+y*W+g*K,o[6]=f*E+m*z+y*Y+g*de,o[10]=f*A+m*P+y*k+g*De,o[14]=f*j+m*U+y*G+g*Te,o[3]=_*D+x*q+C*W+T*K,o[7]=_*E+x*z+C*Y+T*de,o[11]=_*A+x*P+C*k+T*De,o[15]=_*j+x*U+C*G+T*Te,this}multiplyScalar(e){let t=this.elements;return t[0]*=e,t[4]*=e,t[8]*=e,t[12]*=e,t[1]*=e,t[5]*=e,t[9]*=e,t[13]*=e,t[2]*=e,t[6]*=e,t[10]*=e,t[14]*=e,t[3]*=e,t[7]*=e,t[11]*=e,t[15]*=e,this}determinant(){let e=this.elements,t=e[0],n=e[4],r=e[8],o=e[12],s=e[1],a=e[5],c=e[9],l=e[13],d=e[2],u=e[6],h=e[10],p=e[14],f=e[3],m=e[7],y=e[11],g=e[15];return f*(+o*c*u-r*l*u-o*a*h+n*l*h+r*a*p-n*c*p)+m*(+t*c*p-t*l*h+o*s*h-r*s*p+r*l*d-o*c*d)+y*(+t*l*u-t*a*p-o*s*u+n*s*p+o*a*d-n*l*d)+g*(-r*a*d-t*c*u+t*a*h+r*s*u-n*s*h+n*c*d)}transpose(){let e=this.elements,t;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(e,t,n){let r=this.elements;return e.isVector3?(r[12]=e.x,r[13]=e.y,r[14]=e.z):(r[12]=e,r[13]=t,r[14]=n),this}invert(){let e=this.elements,t=e[0],n=e[1],r=e[2],o=e[3],s=e[4],a=e[5],c=e[6],l=e[7],d=e[8],u=e[9],h=e[10],p=e[11],f=e[12],m=e[13],y=e[14],g=e[15],_=u*y*l-m*h*l+m*c*p-a*y*p-u*c*g+a*h*g,x=f*h*l-d*y*l-f*c*p+s*y*p+d*c*g-s*h*g,C=d*m*l-f*u*l+f*a*p-s*m*p-d*a*g+s*u*g,T=f*u*c-d*m*c-f*a*h+s*m*h+d*a*y-s*u*y,D=t*_+n*x+r*C+o*T;if(D===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);let E=1/D;return e[0]=_*E,e[1]=(m*h*o-u*y*o-m*r*p+n*y*p+u*r*g-n*h*g)*E,e[2]=(a*y*o-m*c*o+m*r*l-n*y*l-a*r*g+n*c*g)*E,e[3]=(u*c*o-a*h*o-u*r*l+n*h*l+a*r*p-n*c*p)*E,e[4]=x*E,e[5]=(d*y*o-f*h*o+f*r*p-t*y*p-d*r*g+t*h*g)*E,e[6]=(f*c*o-s*y*o-f*r*l+t*y*l+s*r*g-t*c*g)*E,e[7]=(s*h*o-d*c*o+d*r*l-t*h*l-s*r*p+t*c*p)*E,e[8]=C*E,e[9]=(f*u*o-d*m*o-f*n*p+t*m*p+d*n*g-t*u*g)*E,e[10]=(s*m*o-f*a*o+f*n*l-t*m*l-s*n*g+t*a*g)*E,e[11]=(d*a*o-s*u*o-d*n*l+t*u*l+s*n*p-t*a*p)*E,e[12]=T*E,e[13]=(d*m*r-f*u*r+f*n*h-t*m*h-d*n*y+t*u*y)*E,e[14]=(f*a*r-s*m*r-f*n*c+t*m*c+s*n*y-t*a*y)*E,e[15]=(s*u*r-d*a*r+d*n*c-t*u*c-s*n*h+t*a*h)*E,this}scale(e){let t=this.elements,n=e.x,r=e.y,o=e.z;return t[0]*=n,t[4]*=r,t[8]*=o,t[1]*=n,t[5]*=r,t[9]*=o,t[2]*=n,t[6]*=r,t[10]*=o,t[3]*=n,t[7]*=r,t[11]*=o,this}getMaxScaleOnAxis(){let e=this.elements,t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],n=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],r=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(t,n,r))}makeTranslation(e,t,n){return this.set(1,0,0,e,0,1,0,t,0,0,1,n,0,0,0,1),this}makeRotationX(e){let t=Math.cos(e),n=Math.sin(e);return this.set(1,0,0,0,0,t,-n,0,0,n,t,0,0,0,0,1),this}makeRotationY(e){let t=Math.cos(e),n=Math.sin(e);return this.set(t,0,n,0,0,1,0,0,-n,0,t,0,0,0,0,1),this}makeRotationZ(e){let t=Math.cos(e),n=Math.sin(e);return this.set(t,-n,0,0,n,t,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,t){let n=Math.cos(t),r=Math.sin(t),o=1-n,s=e.x,a=e.y,c=e.z,l=o*s,d=o*a;return this.set(l*s+n,l*a-r*c,l*c+r*a,0,l*a+r*c,d*a+n,d*c-r*s,0,l*c-r*a,d*c+r*s,o*c*c+n,0,0,0,0,1),this}makeScale(e,t,n){return this.set(e,0,0,0,0,t,0,0,0,0,n,0,0,0,0,1),this}makeShear(e,t,n,r,o,s){return this.set(1,n,o,0,e,1,s,0,t,r,1,0,0,0,0,1),this}compose(e,t,n){let r=this.elements,o=t._x,s=t._y,a=t._z,c=t._w,l=o+o,d=s+s,u=a+a,h=o*l,p=o*d,f=o*u,m=s*d,y=s*u,g=a*u,_=c*l,x=c*d,C=c*u,T=n.x,D=n.y,E=n.z;return r[0]=(1-(m+g))*T,r[1]=(p+C)*T,r[2]=(f-x)*T,r[3]=0,r[4]=(p-C)*D,r[5]=(1-(h+g))*D,r[6]=(y+_)*D,r[7]=0,r[8]=(f+x)*E,r[9]=(y-_)*E,r[10]=(1-(h+m))*E,r[11]=0,r[12]=e.x,r[13]=e.y,r[14]=e.z,r[15]=1,this}decompose(e,t,n){let r=this.elements,o=cp.set(r[0],r[1],r[2]).length(),s=cp.set(r[4],r[5],r[6]).length(),a=cp.set(r[8],r[9],r[10]).length();this.determinant()<0&&(o=-o),e.x=r[12],e.y=r[13],e.z=r[14],vs.copy(this);let l=1/o,d=1/s,u=1/a;return vs.elements[0]*=l,vs.elements[1]*=l,vs.elements[2]*=l,vs.elements[4]*=d,vs.elements[5]*=d,vs.elements[6]*=d,vs.elements[8]*=u,vs.elements[9]*=u,vs.elements[10]*=u,t.setFromRotationMatrix(vs),n.x=o,n.y=s,n.z=a,this}makePerspective(e,t,n,r,o,s){s===void 0&&console.warn("THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.");let a=this.elements,c=2*o/(t-e),l=2*o/(n-r),d=(t+e)/(t-e),u=(n+r)/(n-r),h=-(s+o)/(s-o),p=-2*s*o/(s-o);return a[0]=c,a[4]=0,a[8]=d,a[12]=0,a[1]=0,a[5]=l,a[9]=u,a[13]=0,a[2]=0,a[6]=0,a[10]=h,a[14]=p,a[3]=0,a[7]=0,a[11]=-1,a[15]=0,this}makeOrthographic(e,t,n,r,o,s){let a=this.elements,c=1/(t-e),l=1/(n-r),d=1/(s-o),u=(t+e)*c,h=(n+r)*l,p=(s+o)*d;return a[0]=2*c,a[4]=0,a[8]=0,a[12]=-u,a[1]=0,a[5]=2*l,a[9]=0,a[13]=-h,a[2]=0,a[6]=0,a[10]=-2*d,a[14]=-p,a[3]=0,a[7]=0,a[11]=0,a[15]=1,this}equals(e){let t=this.elements,n=e.elements;for(let r=0;r<16;r++)if(t[r]!==n[r])return!1;return!0}fromArray(e,t=0){for(let n=0;n<16;n++)this.elements[n]=e[n+t];return this}toArray(e=[],t=0){let n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e[t+9]=n[9],e[t+10]=n[10],e[t+11]=n[11],e[t+12]=n[12],e[t+13]=n[13],e[t+14]=n[14],e[t+15]=n[15],e}};dt.prototype.isMatrix4=!0;var cp=new O,vs=new dt,sie=new O(0,0,0),aie=new O(1,1,1),il=new O,yx=new O,xo=new O,Sz=new dt,Mz=new Ui,nu=class i{constructor(e=0,t=0,n=0,r=i.DefaultOrder){this._x=e,this._y=t,this._z=n,this._order=r}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get order(){return this._order}set order(e){this._order=e,this._onChangeCallback()}set(e,t,n,r=this._order){return this._x=e,this._y=t,this._z=n,this._order=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this._onChangeCallback(),this}setFromRotationMatrix(e,t=this._order,n=!0){let r=e.elements,o=r[0],s=r[4],a=r[8],c=r[1],l=r[5],d=r[9],u=r[2],h=r[6],p=r[10];switch(t){case"XYZ":this._y=Math.asin(rr(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(-d,p),this._z=Math.atan2(-s,o)):(this._x=Math.atan2(h,l),this._z=0);break;case"YXZ":this._x=Math.asin(-rr(d,-1,1)),Math.abs(d)<.9999999?(this._y=Math.atan2(a,p),this._z=Math.atan2(c,l)):(this._y=Math.atan2(-u,o),this._z=0);break;case"ZXY":this._x=Math.asin(rr(h,-1,1)),Math.abs(h)<.9999999?(this._y=Math.atan2(-u,p),this._z=Math.atan2(-s,l)):(this._y=0,this._z=Math.atan2(c,o));break;case"ZYX":this._y=Math.asin(-rr(u,-1,1)),Math.abs(u)<.9999999?(this._x=Math.atan2(h,p),this._z=Math.atan2(c,o)):(this._x=0,this._z=Math.atan2(-s,l));break;case"YZX":this._z=Math.asin(rr(c,-1,1)),Math.abs(c)<.9999999?(this._x=Math.atan2(-d,l),this._y=Math.atan2(-u,o)):(this._x=0,this._y=Math.atan2(a,p));break;case"XZY":this._z=Math.asin(-rr(s,-1,1)),Math.abs(s)<.9999999?(this._x=Math.atan2(h,l),this._y=Math.atan2(a,o)):(this._x=Math.atan2(-d,p),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+t)}return this._order=t,n===!0&&this._onChangeCallback(),this}setFromQuaternion(e,t,n){return Sz.makeRotationFromQuaternion(e),this.setFromRotationMatrix(Sz,t,n)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){return Mz.setFromEuler(this),this.setFromQuaternion(Mz,e)}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order}fromArray(e){return this._x=e[0],this._y=e[1],this._z=e[2],e[3]!==void 0&&(this._order=e[3]),this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._order,e}toVector3(e){return e?e.set(this._x,this._y,this._z):new O(this._x,this._y,this._z)}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}};nu.prototype.isEuler=!0;nu.DefaultOrder="XYZ";nu.RotationOrders=["XYZ","YZX","ZXY","XZY","YXZ","ZYX"];var Yg=class{constructor(){this.mask=1}set(e){this.mask=1<1){for(let t=0;t1){for(let n=0;n0){r.children=[];for(let a=0;a0){r.animations=[];for(let a=0;a0&&(n.geometries=a),c.length>0&&(n.materials=c),l.length>0&&(n.textures=l),d.length>0&&(n.images=d),u.length>0&&(n.shapes=u),h.length>0&&(n.skeletons=h),p.length>0&&(n.animations=p)}return n.object=r,n;function s(a){let c=[];for(let l in a){let d=a[l];delete d.metadata,c.push(d)}return c}}clone(e){return new this.constructor().copy(this,e)}copy(e,t=!0){if(this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.rotation.order=e.rotation.order,this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.userData=JSON.parse(JSON.stringify(e.userData)),t===!0)for(let n=0;n0?r.multiplyScalar(1/Math.sqrt(o)):r.set(0,0,0)}static getBarycoord(e,t,n,r,o){bs.subVectors(r,t),qa.subVectors(n,t),MD.subVectors(e,t);let s=bs.dot(bs),a=bs.dot(qa),c=bs.dot(MD),l=qa.dot(qa),d=qa.dot(MD),u=s*l-a*a;if(u===0)return o.set(-2,-1,-1);let h=1/u,p=(l*c-a*d)*h,f=(s*d-a*c)*h;return o.set(1-p-f,f,p)}static containsPoint(e,t,n,r){return this.getBarycoord(e,t,n,r,Ya),Ya.x>=0&&Ya.y>=0&&Ya.x+Ya.y<=1}static getUV(e,t,n,r,o,s,a,c){return this.getBarycoord(e,t,n,r,Ya),c.set(0,0),c.addScaledVector(o,Ya.x),c.addScaledVector(s,Ya.y),c.addScaledVector(a,Ya.z),c}static isFrontFacing(e,t,n,r){return bs.subVectors(n,t),qa.subVectors(e,t),bs.cross(qa).dot(r)<0}set(e,t,n){return this.a.copy(e),this.b.copy(t),this.c.copy(n),this}setFromPointsAndIndices(e,t,n,r){return this.a.copy(e[t]),this.b.copy(e[n]),this.c.copy(e[r]),this}setFromAttributeAndIndices(e,t,n,r){return this.a.fromBufferAttribute(e,t),this.b.fromBufferAttribute(e,n),this.c.fromBufferAttribute(e,r),this}clone(){return new this.constructor().copy(this)}copy(e){return this.a.copy(e.a),this.b.copy(e.b),this.c.copy(e.c),this}getArea(){return bs.subVectors(this.c,this.b),qa.subVectors(this.a,this.b),bs.cross(qa).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return i.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return i.getBarycoord(e,this.a,this.b,this.c,t)}getUV(e,t,n,r,o){return i.getUV(e,this.a,this.b,this.c,t,n,r,o)}containsPoint(e){return i.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return i.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,t){let n=this.a,r=this.b,o=this.c,s,a;dp.subVectors(r,n),up.subVectors(o,n),ED.subVectors(e,n);let c=dp.dot(ED),l=up.dot(ED);if(c<=0&&l<=0)return t.copy(n);ID.subVectors(e,r);let d=dp.dot(ID),u=up.dot(ID);if(d>=0&&u<=d)return t.copy(r);let h=c*u-d*l;if(h<=0&&c>=0&&d<=0)return s=c/(c-d),t.copy(n).addScaledVector(dp,s);TD.subVectors(e,o);let p=dp.dot(TD),f=up.dot(TD);if(f>=0&&p<=f)return t.copy(o);let m=p*l-c*f;if(m<=0&&l>=0&&f<=0)return a=l/(l-f),t.copy(n).addScaledVector(up,a);let y=d*f-p*u;if(y<=0&&u-d>=0&&p-f>=0)return Oz.subVectors(o,r),a=(u-d)/(u-d+(p-f)),t.copy(r).addScaledVector(Oz,a);let g=1/(y+m+h);return s=m*g,a=h*g,t.copy(n).addScaledVector(dp,s).addScaledVector(up,a)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}},hie=0,Oi=class extends sa{constructor(){super(),Object.defineProperty(this,"id",{value:hie++}),this.uuid=Co(),this.name="",this.type="Material",this.fog=!0,this.blending=Ep,this.side=eu,this.vertexColors=!1,this.opacity=1,this.format=sr,this.transparent=!1,this.blendSrc=$P,this.blendDst=qP,this.blendEquation=qd,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.depthFunc=rw,this.depthTest=!0,this.depthWrite=!0,this.stencilWriteMask=255,this.stencilFunc=yH,this.stencilRef=0,this.stencilFuncMask=255,this.stencilFail=iw,this.stencilZFail=iw,this.stencilZPass=iw,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.alphaToCoverage=!1,this.premultipliedAlpha=!1,this.visible=!0,this.toneMapped=!0,this.userData={},this.version=0,this._alphaTest=0}get alphaTest(){return this._alphaTest}set alphaTest(e){this._alphaTest>0!=e>0&&this.version++,this._alphaTest=e}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(e!==void 0)for(let t in e){let n=e[t];if(n===void 0){console.warn("THREE.Material: '"+t+"' parameter is undefined.");continue}if(t==="shading"){console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead."),this.flatShading=n===WP;continue}let r=this[t];if(r===void 0){console.warn("THREE."+this.type+": '"+t+"' is not a property of this material.");continue}r&&r.isColor?r.set(n):r&&r.isVector3&&n&&n.isVector3?r.copy(n):this[t]=n}}toJSON(e){let t=e===void 0||typeof e=="string";t&&(e={textures:{},images:{}});let n={metadata:{version:4.5,type:"Material",generator:"Material.toJSON"}};n.uuid=this.uuid,n.type=this.type,this.name!==""&&(n.name=this.name),this.color&&this.color.isColor&&(n.color=this.color.getHex()),this.roughness!==void 0&&(n.roughness=this.roughness),this.metalness!==void 0&&(n.metalness=this.metalness),this.sheen!==void 0&&(n.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(n.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(n.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(n.emissive=this.emissive.getHex()),this.emissiveIntensity&&this.emissiveIntensity!==1&&(n.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(n.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(n.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(n.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(n.shininess=this.shininess),this.clearcoat!==void 0&&(n.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(n.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(n.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(n.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(n.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,n.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.map&&this.map.isTexture&&(n.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(n.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(n.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(n.lightMap=this.lightMap.toJSON(e).uuid,n.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(n.aoMap=this.aoMap.toJSON(e).uuid,n.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(n.bumpMap=this.bumpMap.toJSON(e).uuid,n.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(n.normalMap=this.normalMap.toJSON(e).uuid,n.normalMapType=this.normalMapType,n.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(n.displacementMap=this.displacementMap.toJSON(e).uuid,n.displacementScale=this.displacementScale,n.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(n.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(n.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(n.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(n.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(n.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(n.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(n.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(n.combine=this.combine)),this.envMapIntensity!==void 0&&(n.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(n.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(n.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(n.gradientMap=this.gradientMap.toJSON(e).uuid),this.transmission!==void 0&&(n.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(n.transmissionMap=this.transmissionMap.toJSON(e).uuid),this.thickness!==void 0&&(n.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(n.thicknessMap=this.thicknessMap.toJSON(e).uuid),this.attenuationDistance!==void 0&&(n.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(n.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(n.size=this.size),this.shadowSide!==null&&(n.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(n.sizeAttenuation=this.sizeAttenuation),this.blending!==Ep&&(n.blending=this.blending),this.side!==eu&&(n.side=this.side),this.vertexColors&&(n.vertexColors=!0),this.opacity<1&&(n.opacity=this.opacity),this.format!==sr&&(n.format=this.format),this.transparent===!0&&(n.transparent=this.transparent),n.depthFunc=this.depthFunc,n.depthTest=this.depthTest,n.depthWrite=this.depthWrite,n.colorWrite=this.colorWrite,n.stencilWrite=this.stencilWrite,n.stencilWriteMask=this.stencilWriteMask,n.stencilFunc=this.stencilFunc,n.stencilRef=this.stencilRef,n.stencilFuncMask=this.stencilFuncMask,n.stencilFail=this.stencilFail,n.stencilZFail=this.stencilZFail,n.stencilZPass=this.stencilZPass,this.rotation&&this.rotation!==0&&(n.rotation=this.rotation),this.polygonOffset===!0&&(n.polygonOffset=!0),this.polygonOffsetFactor!==0&&(n.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(n.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth&&this.linewidth!==1&&(n.linewidth=this.linewidth),this.dashSize!==void 0&&(n.dashSize=this.dashSize),this.gapSize!==void 0&&(n.gapSize=this.gapSize),this.scale!==void 0&&(n.scale=this.scale),this.dithering===!0&&(n.dithering=!0),this.alphaTest>0&&(n.alphaTest=this.alphaTest),this.alphaToCoverage===!0&&(n.alphaToCoverage=this.alphaToCoverage),this.premultipliedAlpha===!0&&(n.premultipliedAlpha=this.premultipliedAlpha),this.wireframe===!0&&(n.wireframe=this.wireframe),this.wireframeLinewidth>1&&(n.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!=="round"&&(n.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!=="round"&&(n.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(n.flatShading=this.flatShading),this.visible===!1&&(n.visible=!1),this.toneMapped===!1&&(n.toneMapped=!1),JSON.stringify(this.userData)!=="{}"&&(n.userData=this.userData);function r(o){let s=[];for(let a in o){let c=o[a];delete c.metadata,s.push(c)}return s}if(t){let o=r(e.textures),s=r(e.images);o.length>0&&(n.textures=o),s.length>0&&(n.images=s)}return n}clone(){return new this.constructor().copy(this)}copy(e){this.name=e.name,this.fog=e.fog,this.blending=e.blending,this.side=e.side,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.format=e.format,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.stencilWriteMask=e.stencilWriteMask,this.stencilFunc=e.stencilFunc,this.stencilRef=e.stencilRef,this.stencilFuncMask=e.stencilFuncMask,this.stencilFail=e.stencilFail,this.stencilZFail=e.stencilZFail,this.stencilZPass=e.stencilZPass,this.stencilWrite=e.stencilWrite;let t=e.clippingPlanes,n=null;if(t!==null){let r=t.length;n=new Array(r);for(let o=0;o!==r;++o)n[o]=t[o].clone()}return this.clippingPlanes=n,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipShadows,this.shadowSide=e.shadowSide,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.alphaToCoverage=e.alphaToCoverage,this.premultipliedAlpha=e.premultipliedAlpha,this.visible=e.visible,this.toneMapped=e.toneMapped,this.userData=JSON.parse(JSON.stringify(e.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(e){e===!0&&this.version++}};Oi.prototype.isMaterial=!0;var Rz={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},ys={h:0,s:0,l:0},wx={h:0,s:0,l:0};function DD(i,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?i+(e-i)*6*t:t<1/2?e:t<2/3?i+(e-i)*6*(2/3-t):i}function PD(i){return i<.04045?i*.0773993808:Math.pow(i*.9478672986+.0521327014,2.4)}function OD(i){return i<.0031308?i*12.92:1.055*Math.pow(i,.41666)-.055}var je=(()=>{class i{constructor(t,n,r){return n===void 0&&r===void 0?this.set(t):this.setRGB(t,n,r)}set(t){return t&&t.isColor?this.copy(t):typeof t=="number"?this.setHex(t):typeof t=="string"&&this.setStyle(t),this}setScalar(t){return this.r=t,this.g=t,this.b=t,this}setHex(t){return t=Math.floor(t),this.r=(t>>16&255)/255,this.g=(t>>8&255)/255,this.b=(t&255)/255,this}setRGB(t,n,r){return this.r=t,this.g=n,this.b=r,this}setHSL(t,n,r){if(t=JP(t,1),n=rr(n,0,1),r=rr(r,0,1),n===0)this.r=this.g=this.b=r;else{let o=r<=.5?r*(1+n):r+n-r*n,s=2*r-o;this.r=DD(s,o,t+1/3),this.g=DD(s,o,t),this.b=DD(s,o,t-1/3)}return this}setStyle(t){function n(o){o!==void 0&&parseFloat(o)<1&&console.warn("THREE.Color: Alpha component of "+t+" will be ignored.")}let r;if(r=/^((?:rgb|hsl)a?)\(([^\)]*)\)/.exec(t)){let o,s=r[1],a=r[2];switch(s){case"rgb":case"rgba":if(o=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return this.r=Math.min(255,parseInt(o[1],10))/255,this.g=Math.min(255,parseInt(o[2],10))/255,this.b=Math.min(255,parseInt(o[3],10))/255,n(o[4]),this;if(o=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return this.r=Math.min(100,parseInt(o[1],10))/100,this.g=Math.min(100,parseInt(o[2],10))/100,this.b=Math.min(100,parseInt(o[3],10))/100,n(o[4]),this;break;case"hsl":case"hsla":if(o=/^\s*(\d*\.?\d+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a)){let c=parseFloat(o[1])/360,l=parseInt(o[2],10)/100,d=parseInt(o[3],10)/100;return n(o[4]),this.setHSL(c,l,d)}break}}else if(r=/^\#([A-Fa-f\d]+)$/.exec(t)){let o=r[1],s=o.length;if(s===3)return this.r=parseInt(o.charAt(0)+o.charAt(0),16)/255,this.g=parseInt(o.charAt(1)+o.charAt(1),16)/255,this.b=parseInt(o.charAt(2)+o.charAt(2),16)/255,this;if(s===6)return this.r=parseInt(o.charAt(0)+o.charAt(1),16)/255,this.g=parseInt(o.charAt(2)+o.charAt(3),16)/255,this.b=parseInt(o.charAt(4)+o.charAt(5),16)/255,this}return t&&t.length>0?this.setColorName(t):this}setColorName(t){let n=Rz[t.toLowerCase()];return n!==void 0?this.setHex(n):console.warn("THREE.Color: Unknown color "+t),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(t){return this.r=t.r,this.g=t.g,this.b=t.b,this}copyGammaToLinear(t,n=2){return this.r=Math.pow(t.r,n),this.g=Math.pow(t.g,n),this.b=Math.pow(t.b,n),this}copyLinearToGamma(t,n=2){let r=n>0?1/n:1;return this.r=Math.pow(t.r,r),this.g=Math.pow(t.g,r),this.b=Math.pow(t.b,r),this}convertGammaToLinear(t){return this.copyGammaToLinear(this,t),this}convertLinearToGamma(t){return this.copyLinearToGamma(this,t),this}copySRGBToLinear(t){return this.r=PD(t.r),this.g=PD(t.g),this.b=PD(t.b),this}copyLinearToSRGB(t){return this.r=OD(t.r),this.g=OD(t.g),this.b=OD(t.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(){return this.r*255<<16^this.g*255<<8^this.b*255<<0}getHexString(){return("000000"+this.getHex().toString(16)).slice(-6)}getHSL(t){let n=this.r,r=this.g,o=this.b,s=Math.max(n,r,o),a=Math.min(n,r,o),c,l,d=(a+s)/2;if(a===s)c=0,l=0;else{let u=s-a;switch(l=d<=.5?u/(s+a):u/(2-s-a),s){case n:c=(r-o)/u+(r65535?Ap:Rp)(e,1):this.index=e,this}getAttribute(e){return this.attributes[e]}setAttribute(e,t){return this.attributes[e]=t,this}deleteAttribute(e){return delete this.attributes[e],this}hasAttribute(e){return this.attributes[e]!==void 0}addGroup(e,t,n=0){this.groups.push({start:e,count:t,materialIndex:n})}clearGroups(){this.groups=[]}setDrawRange(e,t){this.drawRange.start=e,this.drawRange.count=t}applyMatrix4(e){let t=this.attributes.position;t!==void 0&&(t.applyMatrix4(e),t.needsUpdate=!0);let n=this.attributes.normal;if(n!==void 0){let o=new Si().getNormalMatrix(e);n.applyNormalMatrix(o),n.needsUpdate=!0}let r=this.attributes.tangent;return r!==void 0&&(r.transformDirection(e),r.needsUpdate=!0),this.boundingBox!==null&&this.computeBoundingBox(),this.boundingSphere!==null&&this.computeBoundingSphere(),this}applyQuaternion(e){return Yo.makeRotationFromQuaternion(e),this.applyMatrix4(Yo),this}rotateX(e){return Yo.makeRotationX(e),this.applyMatrix4(Yo),this}rotateY(e){return Yo.makeRotationY(e),this.applyMatrix4(Yo),this}rotateZ(e){return Yo.makeRotationZ(e),this.applyMatrix4(Yo),this}translate(e,t,n){return Yo.makeTranslation(e,t,n),this.applyMatrix4(Yo),this}scale(e,t,n){return Yo.makeScale(e,t,n),this.applyMatrix4(Yo),this}lookAt(e){return RD.lookAt(e),RD.updateMatrix(),this.applyMatrix4(RD.matrix),this}center(){return this.computeBoundingBox(),this.boundingBox.getCenter(hp).negate(),this.translate(hp.x,hp.y,hp.z),this}setFromPoints(e){let t=[];for(let n=0,r=e.length;n0&&(e.userData=this.userData),this.parameters!==void 0){let c=this.parameters;for(let l in c)c[l]!==void 0&&(e[l]=c[l]);return e}e.data={attributes:{}};let t=this.index;t!==null&&(e.data.index={type:t.array.constructor.name,array:Array.prototype.slice.call(t.array)});let n=this.attributes;for(let c in n){let l=n[c];e.data.attributes[c]=l.toJSON(e.data)}let r={},o=!1;for(let c in this.morphAttributes){let l=this.morphAttributes[c],d=[];for(let u=0,h=l.length;u0&&(r[c]=d,o=!0)}o&&(e.data.morphAttributes=r,e.data.morphTargetsRelative=this.morphTargetsRelative);let s=this.groups;s.length>0&&(e.data.groups=JSON.parse(JSON.stringify(s)));let a=this.boundingSphere;return a!==null&&(e.data.boundingSphere={center:a.center.toArray(),radius:a.radius}),e}clone(){return new this.constructor().copy(this)}copy(e){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;let t={};this.name=e.name;let n=e.index;n!==null&&this.setIndex(n.clone(t));let r=e.attributes;for(let l in r){let d=r[l];this.setAttribute(l,d.clone(t))}let o=e.morphAttributes;for(let l in o){let d=[],u=o[l];for(let h=0,p=u.length;h0){let r=t[n[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let o=0,s=r.length;o0&&console.error("THREE.Mesh.updateMorphTargets() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.")}}raycast(e,t){let n=this.geometry,r=this.material,o=this.matrixWorld;if(r===void 0||(n.boundingSphere===null&&n.computeBoundingSphere(),AD.copy(n.boundingSphere),AD.applyMatrix4(o),e.ray.intersectsSphere(AD)===!1)||(Az.copy(o).invert(),pp.copy(e.ray).applyMatrix4(Az),n.boundingBox!==null&&pp.intersectsBox(n.boundingBox)===!1))return;let s;if(n.isBufferGeometry){let a=n.index,c=n.attributes.position,l=n.morphAttributes.position,d=n.morphTargetsRelative,u=n.attributes.uv,h=n.attributes.uv2,p=n.groups,f=n.drawRange;if(a!==null)if(Array.isArray(r))for(let m=0,y=p.length;mt.far?null:{distance:l,point:Px.clone(),object:i}}function Ox(i,e,t,n,r,o,s,a,c,l,d,u){rl.fromBufferAttribute(r,l),ol.fromBufferAttribute(r,d),sl.fromBufferAttribute(r,u);let h=i.morphTargetInfluences;if(o&&h){Sx.set(0,0,0),Mx.set(0,0,0),Ex.set(0,0,0);for(let f=0,m=o.length;f0?1:-1,d.push(de.x,de.y,de.z),u.push(He/E),u.push(1-De/A),G+=1}}for(let De=0;De0&&(t.defines=this.defines),t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader;let n={};for(let r in this.extensions)this.extensions[r]===!0&&(n[r]=!0);return Object.keys(n).length>0&&(t.extensions=n),t}};ws.prototype.isShaderMaterial=!0;var Jd=class extends hn{constructor(){super(),this.type="Camera",this.matrixWorldInverse=new ct,this.projectionMatrix=new ct,this.projectionMatrixInverse=new ct}copy(e,t){return super.copy(e,t),this.matrixWorldInverse.copy(e.matrixWorldInverse),this.projectionMatrix.copy(e.projectionMatrix),this.projectionMatrixInverse.copy(e.projectionMatrixInverse),this}getWorldDirection(e){this.updateWorldMatrix(!0,!1);let t=this.matrixWorld.elements;return e.set(-t[8],-t[9],-t[10]).normalize()}updateMatrixWorld(e){super.updateMatrixWorld(e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(e,t){super.updateWorldMatrix(e,t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}};Jd.prototype.isCamera=!0;var Ei=class extends Jd{constructor(e=50,t=1,n=.1,r=2e3){super(),this.type="PerspectiveCamera",this.fov=e,this.zoom=1,this.near=n,this.far=r,this.focus=10,this.aspect=t,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.fov=e.fov,this.zoom=e.zoom,this.near=e.near,this.far=e.far,this.focus=e.focus,this.aspect=e.aspect,this.view=e.view===null?null:Object.assign({},e.view),this.filmGauge=e.filmGauge,this.filmOffset=e.filmOffset,this}setFocalLength(e){let t=.5*this.getFilmHeight()/e;this.fov=Gg*2*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){let e=Math.tan(Xd*.5*this.fov);return .5*this.getFilmHeight()/e}getEffectiveFOV(){return Gg*2*Math.atan(Math.tan(Xd*.5*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}setViewOffset(e,t,n,r,o,s){this.aspect=e/t,this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=n,this.view.offsetY=r,this.view.width=o,this.view.height=s,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){let e=this.near,t=e*Math.tan(Xd*.5*this.fov)/this.zoom,n=2*t,r=this.aspect*n,o=-.5*r,s=this.view;if(this.view!==null&&this.view.enabled){let l=s.fullWidth,c=s.fullHeight;o+=s.offsetX*r/l,t-=s.offsetY*n/c,r*=s.width/l,n*=s.height/c}let a=this.filmOffset;a!==0&&(o+=e*a/this.getFilmWidth()),this.projectionMatrix.makePerspective(o,o+r,t,t-n,e,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){let t=super.toJSON(e);return t.object.fov=this.fov,t.object.zoom=this.zoom,t.object.near=this.near,t.object.far=this.far,t.object.focus=this.focus,t.object.aspect=this.aspect,this.view!==null&&(t.object.view=Object.assign({},this.view)),t.object.filmGauge=this.filmGauge,t.object.filmOffset=this.filmOffset,t}};Ei.prototype.isPerspectiveCamera=!0;var dp=90,up=1,Op=class extends hn{constructor(e,t,n){if(super(),this.type="CubeCamera",n.isWebGLCubeRenderTarget!==!0){console.error("THREE.CubeCamera: The constructor now expects an instance of WebGLCubeRenderTarget as third parameter.");return}this.renderTarget=n;let r=new Ei(dp,up,e,t);r.layers=this.layers,r.up.set(0,-1,0),r.lookAt(new R(1,0,0)),this.add(r);let o=new Ei(dp,up,e,t);o.layers=this.layers,o.up.set(0,-1,0),o.lookAt(new R(-1,0,0)),this.add(o);let s=new Ei(dp,up,e,t);s.layers=this.layers,s.up.set(0,0,1),s.lookAt(new R(0,1,0)),this.add(s);let a=new Ei(dp,up,e,t);a.layers=this.layers,a.up.set(0,0,-1),a.lookAt(new R(0,-1,0)),this.add(a);let l=new Ei(dp,up,e,t);l.layers=this.layers,l.up.set(0,-1,0),l.lookAt(new R(0,0,1)),this.add(l);let c=new Ei(dp,up,e,t);c.layers=this.layers,c.up.set(0,-1,0),c.lookAt(new R(0,0,-1)),this.add(c)}update(e,t){this.parent===null&&this.updateMatrixWorld();let n=this.renderTarget,[r,o,s,a,l,c]=this.children,d=e.xr.enabled,u=e.getRenderTarget();e.xr.enabled=!1;let h=n.texture.generateMipmaps;n.texture.generateMipmaps=!1,e.setRenderTarget(n,0),e.render(t,r),e.setRenderTarget(n,1),e.render(t,o),e.setRenderTarget(n,2),e.render(t,s),e.setRenderTarget(n,3),e.render(t,a),e.setRenderTarget(n,4),e.render(t,l),n.texture.generateMipmaps=h,e.setRenderTarget(n,5),e.render(t,c),e.setRenderTarget(u),e.xr.enabled=d}},cc=class extends Gi{constructor(e,t,n,r,o,s,a,l,c,d){e=e!==void 0?e:[],t=t!==void 0?t:pu,super(e,t,n,r,o,s,a,l,c,d),this.flipY=!1}get images(){return this.image}set images(e){this.image=e}};cc.prototype.isCubeTexture=!0;var Rp=class extends xo{constructor(e,t,n){Number.isInteger(t)&&(console.warn("THREE.WebGLCubeRenderTarget: constructor signature is now WebGLCubeRenderTarget( size, options )"),t=n),super(e,e,t),t=t||{},this.texture=new cc(void 0,t.mapping,t.wrapS,t.wrapT,t.magFilter,t.minFilter,t.format,t.type,t.anisotropy,t.encoding),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=t.generateMipmaps!==void 0?t.generateMipmaps:!1,this.texture.minFilter=t.minFilter!==void 0?t.minFilter:Fi,this.texture._needsFlipEnvMap=!1}fromEquirectangularTexture(e,t){this.texture.type=t.type,this.texture.format=rr,this.texture.encoding=t.encoding,this.texture.generateMipmaps=t.generateMipmaps,this.texture.minFilter=t.minFilter,this.texture.magFilter=t.magFilter;let n={uniforms:{tEquirect:{value:null}},vertexShader:` +}`,Cs=class extends Oi{constructor(e){super(),this.type="ShaderMaterial",this.defines={},this.uniforms={},this.vertexShader=mie,this.fragmentShader=gie,this.linewidth=1,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.clipping=!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,this.glslVersion=null,e!==void 0&&(e.attributes!==void 0&&console.error("THREE.ShaderMaterial: attributes should now be defined in THREE.BufferGeometry instead."),this.setValues(e))}copy(e){return super.copy(e),this.fragmentShader=e.fragmentShader,this.vertexShader=e.vertexShader,this.uniforms=Np(e.uniforms),this.defines=Object.assign({},e.defines),this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.lights=e.lights,this.clipping=e.clipping,this.extensions=Object.assign({},e.extensions),this.glslVersion=e.glslVersion,this}toJSON(e){let t=super.toJSON(e);t.glslVersion=this.glslVersion,t.uniforms={};for(let r in this.uniforms){let s=this.uniforms[r].value;s&&s.isTexture?t.uniforms[r]={type:"t",value:s.toJSON(e).uuid}:s&&s.isColor?t.uniforms[r]={type:"c",value:s.getHex()}:s&&s.isVector2?t.uniforms[r]={type:"v2",value:s.toArray()}:s&&s.isVector3?t.uniforms[r]={type:"v3",value:s.toArray()}:s&&s.isVector4?t.uniforms[r]={type:"v4",value:s.toArray()}:s&&s.isMatrix3?t.uniforms[r]={type:"m3",value:s.toArray()}:s&&s.isMatrix4?t.uniforms[r]={type:"m4",value:s.toArray()}:t.uniforms[r]={value:s}}Object.keys(this.defines).length>0&&(t.defines=this.defines),t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader;let n={};for(let r in this.extensions)this.extensions[r]===!0&&(n[r]=!0);return Object.keys(n).length>0&&(t.extensions=n),t}};Cs.prototype.isShaderMaterial=!0;var iu=class extends hn{constructor(){super(),this.type="Camera",this.matrixWorldInverse=new dt,this.projectionMatrix=new dt,this.projectionMatrixInverse=new dt}copy(e,t){return super.copy(e,t),this.matrixWorldInverse.copy(e.matrixWorldInverse),this.projectionMatrix.copy(e.projectionMatrix),this.projectionMatrixInverse.copy(e.projectionMatrixInverse),this}getWorldDirection(e){this.updateWorldMatrix(!0,!1);let t=this.matrixWorld.elements;return e.set(-t[8],-t[9],-t[10]).normalize()}updateMatrixWorld(e){super.updateMatrixWorld(e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(e,t){super.updateWorldMatrix(e,t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}};iu.prototype.isCamera=!0;var Di=class extends iu{constructor(e=50,t=1,n=.1,r=2e3){super(),this.type="PerspectiveCamera",this.fov=e,this.zoom=1,this.near=n,this.far=r,this.focus=10,this.aspect=t,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.fov=e.fov,this.zoom=e.zoom,this.near=e.near,this.far=e.far,this.focus=e.focus,this.aspect=e.aspect,this.view=e.view===null?null:Object.assign({},e.view),this.filmGauge=e.filmGauge,this.filmOffset=e.filmOffset,this}setFocalLength(e){let t=.5*this.getFilmHeight()/e;this.fov=$g*2*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){let e=Math.tan(Jd*.5*this.fov);return .5*this.getFilmHeight()/e}getEffectiveFOV(){return $g*2*Math.atan(Math.tan(Jd*.5*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}setViewOffset(e,t,n,r,o,s){this.aspect=e/t,this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=n,this.view.offsetY=r,this.view.width=o,this.view.height=s,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){let e=this.near,t=e*Math.tan(Jd*.5*this.fov)/this.zoom,n=2*t,r=this.aspect*n,o=-.5*r,s=this.view;if(this.view!==null&&this.view.enabled){let c=s.fullWidth,l=s.fullHeight;o+=s.offsetX*r/c,t-=s.offsetY*n/l,r*=s.width/c,n*=s.height/l}let a=this.filmOffset;a!==0&&(o+=e*a/this.getFilmWidth()),this.projectionMatrix.makePerspective(o,o+r,t,t-n,e,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){let t=super.toJSON(e);return t.object.fov=this.fov,t.object.zoom=this.zoom,t.object.near=this.near,t.object.far=this.far,t.object.focus=this.focus,t.object.aspect=this.aspect,this.view!==null&&(t.object.view=Object.assign({},this.view)),t.object.filmGauge=this.filmGauge,t.object.filmOffset=this.filmOffset,t}};Di.prototype.isPerspectiveCamera=!0;var fp=90,mp=1,kp=class extends hn{constructor(e,t,n){if(super(),this.type="CubeCamera",n.isWebGLCubeRenderTarget!==!0){console.error("THREE.CubeCamera: The constructor now expects an instance of WebGLCubeRenderTarget as third parameter.");return}this.renderTarget=n;let r=new Di(fp,mp,e,t);r.layers=this.layers,r.up.set(0,-1,0),r.lookAt(new O(1,0,0)),this.add(r);let o=new Di(fp,mp,e,t);o.layers=this.layers,o.up.set(0,-1,0),o.lookAt(new O(-1,0,0)),this.add(o);let s=new Di(fp,mp,e,t);s.layers=this.layers,s.up.set(0,0,1),s.lookAt(new O(0,1,0)),this.add(s);let a=new Di(fp,mp,e,t);a.layers=this.layers,a.up.set(0,0,-1),a.lookAt(new O(0,-1,0)),this.add(a);let c=new Di(fp,mp,e,t);c.layers=this.layers,c.up.set(0,-1,0),c.lookAt(new O(0,0,1)),this.add(c);let l=new Di(fp,mp,e,t);l.layers=this.layers,l.up.set(0,-1,0),l.lookAt(new O(0,0,-1)),this.add(l)}update(e,t){this.parent===null&&this.updateMatrixWorld();let n=this.renderTarget,[r,o,s,a,c,l]=this.children,d=e.xr.enabled,u=e.getRenderTarget();e.xr.enabled=!1;let h=n.texture.generateMipmaps;n.texture.generateMipmaps=!1,e.setRenderTarget(n,0),e.render(t,r),e.setRenderTarget(n,1),e.render(t,o),e.setRenderTarget(n,2),e.render(t,s),e.setRenderTarget(n,3),e.render(t,a),e.setRenderTarget(n,4),e.render(t,c),n.texture.generateMipmaps=h,e.setRenderTarget(n,5),e.render(t,l),e.setRenderTarget(u),e.xr.enabled=d}},hl=class extends Wi{constructor(e,t,n,r,o,s,a,c,l,d){e=e!==void 0?e:[],t=t!==void 0?t:_u,super(e,t,n,r,o,s,a,c,l,d),this.flipY=!1}get images(){return this.image}set images(e){this.image=e}};hl.prototype.isCubeTexture=!0;var Lp=class extends So{constructor(e,t,n){Number.isInteger(t)&&(console.warn("THREE.WebGLCubeRenderTarget: constructor signature is now WebGLCubeRenderTarget( size, options )"),t=n),super(e,e,t),t=t||{},this.texture=new hl(void 0,t.mapping,t.wrapS,t.wrapT,t.magFilter,t.minFilter,t.format,t.type,t.anisotropy,t.encoding),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=t.generateMipmaps!==void 0?t.generateMipmaps:!1,this.texture.minFilter=t.minFilter!==void 0?t.minFilter:zi,this.texture._needsFlipEnvMap=!1}fromEquirectangularTexture(e,t){this.texture.type=t.type,this.texture.format=sr,this.texture.encoding=t.encoding,this.texture.generateMipmaps=t.generateMipmaps,this.texture.minFilter=t.minFilter,this.texture.magFilter=t.magFilter;let n={uniforms:{tEquirect:{value:null}},vertexShader:` varying vec3 vWorldDirection; @@ -45,28 +45,28 @@ ${t.map((n,r)=>`${r+1}) ${n.toString()}`).join(` gl_FragColor = texture2D( tEquirect, sampleUV ); } - `},r=new lc(5,5,5),o=new ws({name:"CubemapFromEquirect",uniforms:Pp(n.uniforms),vertexShader:n.vertexShader,fragmentShader:n.fragmentShader,side:yi,blending:Za});o.uniforms.tEquirect.value=t;let s=new ui(r,o),a=t.minFilter;return t.minFilter===mu&&(t.minFilter=Fi),new Op(1,10,this).update(e,s),t.minFilter=a,s.geometry.dispose(),s.material.dispose(),this}clear(e,t,n,r){let o=e.getRenderTarget();for(let s=0;s<6;s++)e.setRenderTarget(this,s),e.clear(t,n,r);e.setRenderTarget(o)}};Rp.prototype.isWebGLCubeRenderTarget=!0;var BD=new R,lie=new R,cie=new xi,$o=class{constructor(e=new R(1,0,0),t=0){this.normal=e,this.constant=t}set(e,t){return this.normal.copy(e),this.constant=t,this}setComponents(e,t,n,r){return this.normal.set(e,t,n),this.constant=r,this}setFromNormalAndCoplanarPoint(e,t){return this.normal.copy(e),this.constant=-t.dot(this.normal),this}setFromCoplanarPoints(e,t,n){let r=BD.subVectors(n,t).cross(lie.subVectors(e,t)).normalize();return this.setFromNormalAndCoplanarPoint(r,e),this}copy(e){return this.normal.copy(e.normal),this.constant=e.constant,this}normalize(){let e=1/this.normal.length();return this.normal.multiplyScalar(e),this.constant*=e,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(e){return this.normal.dot(e)+this.constant}distanceToSphere(e){return this.distanceToPoint(e.center)-e.radius}projectPoint(e,t){return t.copy(this.normal).multiplyScalar(-this.distanceToPoint(e)).add(e)}intersectLine(e,t){let n=e.delta(BD),r=this.normal.dot(n);if(r===0)return this.distanceToPoint(e.start)===0?t.copy(e.start):null;let o=-(e.start.dot(this.normal)+this.constant)/r;return o<0||o>1?null:t.copy(n).multiplyScalar(o).add(e.start)}intersectsLine(e){let t=this.distanceToPoint(e.start),n=this.distanceToPoint(e.end);return t<0&&n>0||n<0&&t>0}intersectsBox(e){return e.intersectsPlane(this)}intersectsSphere(e){return e.intersectsPlane(this)}coplanarPoint(e){return e.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(e,t){let n=t||cie.getNormalMatrix(e),r=this.coplanarPoint(BD).applyMatrix4(e),o=this.normal.applyMatrix3(n).normalize();return this.constant=-r.dot(o),this}translate(e){return this.constant-=e.dot(this.normal),this}equals(e){return e.normal.equals(this.normal)&&e.constant===this.constant}clone(){return new this.constructor().copy(this)}};$o.prototype.isPlane=!0;var hp=new oa,Px=new R,eu=class{constructor(e=new $o,t=new $o,n=new $o,r=new $o,o=new $o,s=new $o){this.planes=[e,t,n,r,o,s]}set(e,t,n,r,o,s){let a=this.planes;return a[0].copy(e),a[1].copy(t),a[2].copy(n),a[3].copy(r),a[4].copy(o),a[5].copy(s),this}copy(e){let t=this.planes;for(let n=0;n<6;n++)t[n].copy(e.planes[n]);return this}setFromProjectionMatrix(e){let t=this.planes,n=e.elements,r=n[0],o=n[1],s=n[2],a=n[3],l=n[4],c=n[5],d=n[6],u=n[7],h=n[8],p=n[9],f=n[10],m=n[11],y=n[12],g=n[13],_=n[14],x=n[15];return t[0].setComponents(a-r,u-l,m-h,x-y).normalize(),t[1].setComponents(a+r,u+l,m+h,x+y).normalize(),t[2].setComponents(a+o,u+c,m+p,x+g).normalize(),t[3].setComponents(a-o,u-c,m-p,x-g).normalize(),t[4].setComponents(a-s,u-d,m-f,x-_).normalize(),t[5].setComponents(a+s,u+d,m+f,x+_).normalize(),this}intersectsObject(e){let t=e.geometry;return t.boundingSphere===null&&t.computeBoundingSphere(),hp.copy(t.boundingSphere).applyMatrix4(e.matrixWorld),this.intersectsSphere(hp)}intersectsSprite(e){return hp.center.set(0,0,0),hp.radius=.7071067811865476,hp.applyMatrix4(e.matrixWorld),this.intersectsSphere(hp)}intersectsSphere(e){let t=this.planes,n=e.center,r=-e.radius;for(let o=0;o<6;o++)if(t[o].distanceToPoint(n)0?e.max.x:e.min.x,Px.y=r.normal.y>0?e.max.y:e.min.y,Px.z=r.normal.z>0?e.max.z:e.min.z,r.distanceToPoint(Px)<0)return!1}return!0}containsPoint(e){let t=this.planes;for(let n=0;n<6;n++)if(t[n].distanceToPoint(e)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}};function wH(){let i=null,e=!1,t=null,n=null;function r(o,s){t(o,s),n=i.requestAnimationFrame(r)}return{start:function(){e!==!0&&t!==null&&(n=i.requestAnimationFrame(r),e=!0)},stop:function(){i.cancelAnimationFrame(n),e=!1},setAnimationLoop:function(o){t=o},setContext:function(o){i=o}}}function die(i,e){let t=e.isWebGL2,n=new WeakMap;function r(c,d){let u=c.array,h=c.usage,p=i.createBuffer();i.bindBuffer(d,p),i.bufferData(d,u,h),c.onUploadCallback();let f=5126;return u instanceof Float32Array?f=5126:u instanceof Float64Array?console.warn("THREE.WebGLAttributes: Unsupported data buffer format: Float64Array."):u instanceof Uint16Array?c.isFloat16BufferAttribute?t?f=5131:console.warn("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2."):f=5123:u instanceof Int16Array?f=5122:u instanceof Uint32Array?f=5125:u instanceof Int32Array?f=5124:u instanceof Int8Array?f=5120:(u instanceof Uint8Array||u instanceof Uint8ClampedArray)&&(f=5121),{buffer:p,type:f,bytesPerElement:u.BYTES_PER_ELEMENT,version:c.version}}function o(c,d,u){let h=d.array,p=d.updateRange;i.bindBuffer(u,c),p.count===-1?i.bufferSubData(u,0,h):(t?i.bufferSubData(u,p.offset*h.BYTES_PER_ELEMENT,h,p.offset,p.count):i.bufferSubData(u,p.offset*h.BYTES_PER_ELEMENT,h.subarray(p.offset,p.offset+p.count)),p.count=-1)}function s(c){return c.isInterleavedBufferAttribute&&(c=c.data),n.get(c)}function a(c){c.isInterleavedBufferAttribute&&(c=c.data);let d=n.get(c);d&&(i.deleteBuffer(d.buffer),n.delete(c))}function l(c,d){if(c.isGLBufferAttribute){let h=n.get(c);(!h||h.version1?null:t.copy(n).multiplyScalar(o).add(e.start)}intersectsLine(e){let t=this.distanceToPoint(e.start),n=this.distanceToPoint(e.end);return t<0&&n>0||n<0&&t>0}intersectsBox(e){return e.intersectsPlane(this)}intersectsSphere(e){return e.intersectsPlane(this)}coplanarPoint(e){return e.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(e,t){let n=t||vie.getNormalMatrix(e),r=this.coplanarPoint(BD).applyMatrix4(e),o=this.normal.applyMatrix3(n).normalize();return this.constant=-r.dot(o),this}translate(e){return this.constant-=e.dot(this.normal),this}equals(e){return e.normal.equals(this.normal)&&e.constant===this.constant}clone(){return new this.constructor().copy(this)}};Xo.prototype.isPlane=!0;var gp=new aa,Rx=new O,ru=class{constructor(e=new Xo,t=new Xo,n=new Xo,r=new Xo,o=new Xo,s=new Xo){this.planes=[e,t,n,r,o,s]}set(e,t,n,r,o,s){let a=this.planes;return a[0].copy(e),a[1].copy(t),a[2].copy(n),a[3].copy(r),a[4].copy(o),a[5].copy(s),this}copy(e){let t=this.planes;for(let n=0;n<6;n++)t[n].copy(e.planes[n]);return this}setFromProjectionMatrix(e){let t=this.planes,n=e.elements,r=n[0],o=n[1],s=n[2],a=n[3],c=n[4],l=n[5],d=n[6],u=n[7],h=n[8],p=n[9],f=n[10],m=n[11],y=n[12],g=n[13],_=n[14],x=n[15];return t[0].setComponents(a-r,u-c,m-h,x-y).normalize(),t[1].setComponents(a+r,u+c,m+h,x+y).normalize(),t[2].setComponents(a+o,u+l,m+p,x+g).normalize(),t[3].setComponents(a-o,u-l,m-p,x-g).normalize(),t[4].setComponents(a-s,u-d,m-f,x-_).normalize(),t[5].setComponents(a+s,u+d,m+f,x+_).normalize(),this}intersectsObject(e){let t=e.geometry;return t.boundingSphere===null&&t.computeBoundingSphere(),gp.copy(t.boundingSphere).applyMatrix4(e.matrixWorld),this.intersectsSphere(gp)}intersectsSprite(e){return gp.center.set(0,0,0),gp.radius=.7071067811865476,gp.applyMatrix4(e.matrixWorld),this.intersectsSphere(gp)}intersectsSphere(e){let t=this.planes,n=e.center,r=-e.radius;for(let o=0;o<6;o++)if(t[o].distanceToPoint(n)0?e.max.x:e.min.x,Rx.y=r.normal.y>0?e.max.y:e.min.y,Rx.z=r.normal.z>0?e.max.z:e.min.z,r.distanceToPoint(Rx)<0)return!1}return!0}containsPoint(e){let t=this.planes;for(let n=0;n<6;n++)if(t[n].distanceToPoint(e)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}};function MH(){let i=null,e=!1,t=null,n=null;function r(o,s){t(o,s),n=i.requestAnimationFrame(r)}return{start:function(){e!==!0&&t!==null&&(n=i.requestAnimationFrame(r),e=!0)},stop:function(){i.cancelAnimationFrame(n),e=!1},setAnimationLoop:function(o){t=o},setContext:function(o){i=o}}}function bie(i,e){let t=e.isWebGL2,n=new WeakMap;function r(l,d){let u=l.array,h=l.usage,p=i.createBuffer();i.bindBuffer(d,p),i.bufferData(d,u,h),l.onUploadCallback();let f=5126;return u instanceof Float32Array?f=5126:u instanceof Float64Array?console.warn("THREE.WebGLAttributes: Unsupported data buffer format: Float64Array."):u instanceof Uint16Array?l.isFloat16BufferAttribute?t?f=5131:console.warn("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2."):f=5123:u instanceof Int16Array?f=5122:u instanceof Uint32Array?f=5125:u instanceof Int32Array?f=5124:u instanceof Int8Array?f=5120:(u instanceof Uint8Array||u instanceof Uint8ClampedArray)&&(f=5121),{buffer:p,type:f,bytesPerElement:u.BYTES_PER_ELEMENT,version:l.version}}function o(l,d,u){let h=d.array,p=d.updateRange;i.bindBuffer(u,l),p.count===-1?i.bufferSubData(u,0,h):(t?i.bufferSubData(u,p.offset*h.BYTES_PER_ELEMENT,h,p.offset,p.count):i.bufferSubData(u,p.offset*h.BYTES_PER_ELEMENT,h.subarray(p.offset,p.offset+p.count)),p.count=-1)}function s(l){return l.isInterleavedBufferAttribute&&(l=l.data),n.get(l)}function a(l){l.isInterleavedBufferAttribute&&(l=l.data);let d=n.get(l);d&&(i.deleteBuffer(d.buffer),n.delete(l))}function c(l,d){if(l.isGLBufferAttribute){let h=n.get(l);(!h||h.version 0 +#endif`,Pie=`#if NUM_CLIPPING_PLANES > 0 vec4 plane; #pragma unroll_loop_start for ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) { @@ -218,26 +218,26 @@ vec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 no #pragma unroll_loop_end if ( clipped ) discard; #endif -#endif`,wie=`#if NUM_CLIPPING_PLANES > 0 +#endif`,Oie=`#if NUM_CLIPPING_PLANES > 0 varying vec3 vClipPosition; uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ]; -#endif`,Cie=`#if NUM_CLIPPING_PLANES > 0 +#endif`,Rie=`#if NUM_CLIPPING_PLANES > 0 varying vec3 vClipPosition; -#endif`,Sie=`#if NUM_CLIPPING_PLANES > 0 +#endif`,Aie=`#if NUM_CLIPPING_PLANES > 0 vClipPosition = - mvPosition.xyz; -#endif`,Mie=`#if defined( USE_COLOR_ALPHA ) +#endif`,Nie=`#if defined( USE_COLOR_ALPHA ) diffuseColor *= vColor; #elif defined( USE_COLOR ) diffuseColor.rgb *= vColor; -#endif`,Eie=`#if defined( USE_COLOR_ALPHA ) +#endif`,kie=`#if defined( USE_COLOR_ALPHA ) varying vec4 vColor; #elif defined( USE_COLOR ) varying vec3 vColor; -#endif`,Iie=`#if defined( USE_COLOR_ALPHA ) +#endif`,Lie=`#if defined( USE_COLOR_ALPHA ) varying vec4 vColor; #elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) varying vec3 vColor; -#endif`,Tie=`#if defined( USE_COLOR_ALPHA ) +#endif`,Fie=`#if defined( USE_COLOR_ALPHA ) vColor = vec4( 1.0 ); #elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) vColor = vec3( 1.0 ); @@ -247,7 +247,7 @@ vec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 no #endif #ifdef USE_INSTANCING_COLOR vColor.xyz *= instanceColor.xyz; -#endif`,Die=`#define PI 3.141592653589793 +#endif`,Bie=`#define PI 3.141592653589793 #define PI2 6.283185307179586 #define PI_HALF 1.5707963267948966 #define RECIPROCAL_PI 0.3183098861837907 @@ -318,7 +318,7 @@ vec2 equirectUv( in vec3 dir ) { float u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5; float v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5; return vec2( u, v ); -}`,Pie=`#ifdef ENVMAP_TYPE_CUBE_UV +}`,Vie=`#ifdef ENVMAP_TYPE_CUBE_UV #define cubeUV_maxMipLevel 8.0 #define cubeUV_minMipLevel 4.0 #define cubeUV_maxTileSize 256.0 @@ -428,7 +428,7 @@ vec2 equirectUv( in vec3 dir ) { return vec4( mix( color0, color1, mipF ), 1.0 ); } } -#endif`,Oie=`vec3 transformedNormal = objectNormal; +#endif`,zie=`vec3 transformedNormal = objectNormal; #ifdef USE_INSTANCING mat3 m = mat3( instanceMatrix ); transformedNormal /= vec3( dot( m[ 0 ], m[ 0 ] ), dot( m[ 1 ], m[ 1 ] ), dot( m[ 2 ], m[ 2 ] ) ); @@ -443,19 +443,19 @@ transformedNormal = normalMatrix * transformedNormal; #ifdef FLIP_SIDED transformedTangent = - transformedTangent; #endif -#endif`,Rie=`#ifdef USE_DISPLACEMENTMAP +#endif`,Uie=`#ifdef USE_DISPLACEMENTMAP uniform sampler2D displacementMap; uniform float displacementScale; uniform float displacementBias; -#endif`,Aie=`#ifdef USE_DISPLACEMENTMAP +#endif`,Hie=`#ifdef USE_DISPLACEMENTMAP transformed += normalize( objectNormal ) * ( texture2D( displacementMap, vUv ).x * displacementScale + displacementBias ); -#endif`,Nie=`#ifdef USE_EMISSIVEMAP +#endif`,Gie=`#ifdef USE_EMISSIVEMAP vec4 emissiveColor = texture2D( emissiveMap, vUv ); emissiveColor.rgb = emissiveMapTexelToLinear( emissiveColor ).rgb; totalEmissiveRadiance *= emissiveColor.rgb; -#endif`,kie=`#ifdef USE_EMISSIVEMAP +#endif`,jie=`#ifdef USE_EMISSIVEMAP uniform sampler2D emissiveMap; -#endif`,Lie="gl_FragColor = linearToOutputTexel( gl_FragColor );",Fie=` +#endif`,Wie="gl_FragColor = linearToOutputTexel( gl_FragColor );",$ie=` vec4 LinearToLinear( in vec4 value ) { return value; } @@ -517,7 +517,7 @@ vec4 LogLuvToLinear( in vec4 value ) { Xp_Y_XYZp.x = value.x * Xp_Y_XYZp.z; vec3 vRGB = cLogLuvInverseM * Xp_Y_XYZp.rgb; return vec4( max( vRGB, 0.0 ), 1.0 ); -}`,Bie=`#ifdef USE_ENVMAP +}`,qie=`#ifdef USE_ENVMAP #ifdef ENV_WORLDPOS vec3 cameraToFrag; if ( isOrthographic ) { @@ -549,7 +549,7 @@ vec4 LogLuvToLinear( in vec4 value ) { #elif defined( ENVMAP_BLENDING_ADD ) outgoingLight += envColor.xyz * specularStrength * reflectivity; #endif -#endif`,Vie=`#ifdef USE_ENVMAP +#endif`,Yie=`#ifdef USE_ENVMAP uniform float envMapIntensity; uniform float flipEnvMap; uniform int maxMipLevel; @@ -559,7 +559,7 @@ vec4 LogLuvToLinear( in vec4 value ) { uniform sampler2D envMap; #endif -#endif`,zie=`#ifdef USE_ENVMAP +#endif`,Xie=`#ifdef USE_ENVMAP uniform float reflectivity; #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) #define ENV_WORLDPOS @@ -570,7 +570,7 @@ vec4 LogLuvToLinear( in vec4 value ) { #else varying vec3 vReflect; #endif -#endif`,Uie=`#ifdef USE_ENVMAP +#endif`,Zie=`#ifdef USE_ENVMAP #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) ||defined( PHONG ) #define ENV_WORLDPOS #endif @@ -581,7 +581,7 @@ vec4 LogLuvToLinear( in vec4 value ) { varying vec3 vReflect; uniform float refractionRatio; #endif -#endif`,Hie=`#ifdef USE_ENVMAP +#endif`,Qie=`#ifdef USE_ENVMAP #ifdef ENV_WORLDPOS vWorldPosition = worldPosition.xyz; #else @@ -598,18 +598,18 @@ vec4 LogLuvToLinear( in vec4 value ) { vReflect = refract( cameraToVertex, worldNormal, refractionRatio ); #endif #endif -#endif`,Gie=`#ifdef USE_FOG +#endif`,Kie=`#ifdef USE_FOG vFogDepth = - mvPosition.z; -#endif`,jie=`#ifdef USE_FOG +#endif`,Jie=`#ifdef USE_FOG varying float vFogDepth; -#endif`,Wie=`#ifdef USE_FOG +#endif`,ere=`#ifdef USE_FOG #ifdef FOG_EXP2 float fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth ); #else float fogFactor = smoothstep( fogNear, fogFar, vFogDepth ); #endif gl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor ); -#endif`,$ie=`#ifdef USE_FOG +#endif`,tre=`#ifdef USE_FOG uniform vec3 fogColor; varying float vFogDepth; #ifdef FOG_EXP2 @@ -618,7 +618,7 @@ vec4 LogLuvToLinear( in vec4 value ) { uniform float fogNear; uniform float fogFar; #endif -#endif`,qie=`#ifdef USE_GRADIENTMAP +#endif`,nre=`#ifdef USE_GRADIENTMAP uniform sampler2D gradientMap; #endif vec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) { @@ -629,17 +629,17 @@ vec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) { #else return ( coord.x < 0.7 ) ? vec3( 0.7 ) : vec3( 1.0 ); #endif -}`,Yie=`#ifdef USE_LIGHTMAP +}`,ire=`#ifdef USE_LIGHTMAP vec4 lightMapTexel = texture2D( lightMap, vUv2 ); vec3 lightMapIrradiance = lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity; #ifndef PHYSICALLY_CORRECT_LIGHTS lightMapIrradiance *= PI; #endif reflectedLight.indirectDiffuse += lightMapIrradiance; -#endif`,Xie=`#ifdef USE_LIGHTMAP +#endif`,rre=`#ifdef USE_LIGHTMAP uniform sampler2D lightMap; uniform float lightMapIntensity; -#endif`,Zie=`vec3 diffuse = vec3( 1.0 ); +#endif`,ore=`vec3 diffuse = vec3( 1.0 ); GeometricContext geometry; geometry.position = mvPosition.xyz; geometry.normal = normalize( transformedNormal ); @@ -711,7 +711,7 @@ vIndirectFront += getLightProbeIrradiance( lightProbe, geometry.normal ); #endif } #pragma unroll_loop_end -#endif`,Qie=`uniform bool receiveShadow; +#endif`,sre=`uniform bool receiveShadow; uniform vec3 ambientLightColor; uniform vec3 lightProbe[ 9 ]; vec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) { @@ -832,7 +832,7 @@ float getSpotAttenuation( const in float coneCosine, const in float penumbraCosi vec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight ); return irradiance; } -#endif`,Kie=`#if defined( USE_ENVMAP ) +#endif`,are=`#if defined( USE_ENVMAP ) #ifdef ENVMAP_MODE_REFRACTION uniform float refractionRatio; #endif @@ -861,8 +861,8 @@ float getSpotAttenuation( const in float coneCosine, const in float penumbraCosi return vec3( 0.0 ); #endif } -#endif`,Jie=`ToonMaterial material; -material.diffuseColor = diffuseColor.rgb;`,ere=`varying vec3 vViewPosition; +#endif`,cre=`ToonMaterial material; +material.diffuseColor = diffuseColor.rgb;`,lre=`varying vec3 vViewPosition; struct ToonMaterial { vec3 diffuseColor; }; @@ -875,11 +875,11 @@ void RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in GeometricContex } #define RE_Direct RE_Direct_Toon #define RE_IndirectDiffuse RE_IndirectDiffuse_Toon -#define Material_LightProbeLOD( material ) (0)`,tre=`BlinnPhongMaterial material; +#define Material_LightProbeLOD( material ) (0)`,dre=`BlinnPhongMaterial material; material.diffuseColor = diffuseColor.rgb; material.specularColor = specular; material.specularShininess = shininess; -material.specularStrength = specularStrength;`,nre=`varying vec3 vViewPosition; +material.specularStrength = specularStrength;`,ure=`varying vec3 vViewPosition; struct BlinnPhongMaterial { vec3 diffuseColor; vec3 specularColor; @@ -897,7 +897,7 @@ void RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in Geometric } #define RE_Direct RE_Direct_BlinnPhong #define RE_IndirectDiffuse RE_IndirectDiffuse_BlinnPhong -#define Material_LightProbeLOD( material ) (0)`,ire=`PhysicalMaterial material; +#define Material_LightProbeLOD( material ) (0)`,hre=`PhysicalMaterial material; material.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor ); vec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) ); float geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z ); @@ -948,7 +948,7 @@ material.roughness = min( material.roughness, 1.0 ); #ifdef USE_SHEENROUGHNESSMAP material.sheenRoughness *= texture2D( sheenRoughnessMap, vUv ).a; #endif -#endif`,rre=`struct PhysicalMaterial { +#endif`,pre=`struct PhysicalMaterial { vec3 diffuseColor; float roughness; vec3 specularColor; @@ -1050,7 +1050,7 @@ void RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradia #define RE_IndirectSpecular RE_IndirectSpecular_Physical float computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) { return saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion ); -}`,ore=` +}`,fre=` GeometricContext geometry; geometry.position = - vViewPosition; geometry.normal = normal; @@ -1134,7 +1134,7 @@ IncidentLight directLight; #if defined( RE_IndirectSpecular ) vec3 radiance = vec3( 0.0 ); vec3 clearcoatRadiance = vec3( 0.0 ); -#endif`,sre=`#if defined( RE_IndirectDiffuse ) +#endif`,mre=`#if defined( RE_IndirectDiffuse ) #ifdef USE_LIGHTMAP vec4 lightMapTexel = texture2D( lightMap, vUv2 ); vec3 lightMapIrradiance = lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity; @@ -1152,25 +1152,25 @@ IncidentLight directLight; #ifdef USE_CLEARCOAT clearcoatRadiance += getIBLRadiance( geometry.viewDir, geometry.clearcoatNormal, material.clearcoatRoughness ); #endif -#endif`,are=`#if defined( RE_IndirectDiffuse ) +#endif`,gre=`#if defined( RE_IndirectDiffuse ) RE_IndirectDiffuse( irradiance, geometry, material, reflectedLight ); #endif #if defined( RE_IndirectSpecular ) RE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometry, material, reflectedLight ); -#endif`,lre=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) +#endif`,_re=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) gl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5; -#endif`,cre=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) +#endif`,vre=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) uniform float logDepthBufFC; varying float vFragDepth; varying float vIsPerspective; -#endif`,dre=`#ifdef USE_LOGDEPTHBUF +#endif`,bre=`#ifdef USE_LOGDEPTHBUF #ifdef USE_LOGDEPTHBUF_EXT varying float vFragDepth; varying float vIsPerspective; #else uniform float logDepthBufFC; #endif -#endif`,ure=`#ifdef USE_LOGDEPTHBUF +#endif`,yre=`#ifdef USE_LOGDEPTHBUF #ifdef USE_LOGDEPTHBUF_EXT vFragDepth = 1.0 + gl_Position.w; vIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) ); @@ -1180,13 +1180,13 @@ IncidentLight directLight; gl_Position.z *= gl_Position.w; } #endif -#endif`,hre=`#ifdef USE_MAP +#endif`,xre=`#ifdef USE_MAP vec4 texelColor = texture2D( map, vUv ); texelColor = mapTexelToLinear( texelColor ); diffuseColor *= texelColor; -#endif`,pre=`#ifdef USE_MAP +#endif`,wre=`#ifdef USE_MAP uniform sampler2D map; -#endif`,fre=`#if defined( USE_MAP ) || defined( USE_ALPHAMAP ) +#endif`,Cre=`#if defined( USE_MAP ) || defined( USE_ALPHAMAP ) vec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy; #endif #ifdef USE_MAP @@ -1195,7 +1195,7 @@ IncidentLight directLight; #endif #ifdef USE_ALPHAMAP diffuseColor.a *= texture2D( alphaMap, uv ).g; -#endif`,mre=`#if defined( USE_MAP ) || defined( USE_ALPHAMAP ) +#endif`,Sre=`#if defined( USE_MAP ) || defined( USE_ALPHAMAP ) uniform mat3 uvTransform; #endif #ifdef USE_MAP @@ -1203,13 +1203,13 @@ IncidentLight directLight; #endif #ifdef USE_ALPHAMAP uniform sampler2D alphaMap; -#endif`,gre=`float metalnessFactor = metalness; +#endif`,Mre=`float metalnessFactor = metalness; #ifdef USE_METALNESSMAP vec4 texelMetalness = texture2D( metalnessMap, vUv ); metalnessFactor *= texelMetalness.b; -#endif`,_re=`#ifdef USE_METALNESSMAP +#endif`,Ere=`#ifdef USE_METALNESSMAP uniform sampler2D metalnessMap; -#endif`,vre=`#ifdef USE_MORPHNORMALS +#endif`,Ire=`#ifdef USE_MORPHNORMALS objectNormal *= morphTargetBaseInfluence; #ifdef MORPHTARGETS_TEXTURE for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { @@ -1221,7 +1221,7 @@ IncidentLight directLight; objectNormal += morphNormal2 * morphTargetInfluences[ 2 ]; objectNormal += morphNormal3 * morphTargetInfluences[ 3 ]; #endif -#endif`,bre=`#ifdef USE_MORPHTARGETS +#endif`,Tre=`#ifdef USE_MORPHTARGETS uniform float morphTargetBaseInfluence; #ifdef MORPHTARGETS_TEXTURE uniform float morphTargetInfluences[ MORPHTARGETS_COUNT ]; @@ -1241,7 +1241,7 @@ IncidentLight directLight; uniform float morphTargetInfluences[ 4 ]; #endif #endif -#endif`,yre=`#ifdef USE_MORPHTARGETS +#endif`,Dre=`#ifdef USE_MORPHTARGETS transformed *= morphTargetBaseInfluence; #ifdef MORPHTARGETS_TEXTURE for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { @@ -1263,7 +1263,7 @@ IncidentLight directLight; transformed += morphTarget7 * morphTargetInfluences[ 7 ]; #endif #endif -#endif`,xre=`float faceDirection = gl_FrontFacing ? 1.0 : - 1.0; +#endif`,Pre=`float faceDirection = gl_FrontFacing ? 1.0 : - 1.0; #ifdef FLAT_SHADED vec3 fdx = vec3( dFdx( vViewPosition.x ), dFdx( vViewPosition.y ), dFdx( vViewPosition.z ) ); vec3 fdy = vec3( dFdy( vViewPosition.x ), dFdy( vViewPosition.y ), dFdy( vViewPosition.z ) ); @@ -1285,7 +1285,7 @@ IncidentLight directLight; #endif #endif #endif -vec3 geometryNormal = normal;`,wre=`#ifdef OBJECTSPACE_NORMALMAP +vec3 geometryNormal = normal;`,Ore=`#ifdef OBJECTSPACE_NORMALMAP normal = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0; #ifdef FLIP_SIDED normal = - normal; @@ -1304,25 +1304,25 @@ vec3 geometryNormal = normal;`,wre=`#ifdef OBJECTSPACE_NORMALMAP #endif #elif defined( USE_BUMPMAP ) normal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection ); -#endif`,Cre=`#ifndef FLAT_SHADED +#endif`,Rre=`#ifndef FLAT_SHADED varying vec3 vNormal; #ifdef USE_TANGENT varying vec3 vTangent; varying vec3 vBitangent; #endif -#endif`,Sre=`#ifndef FLAT_SHADED +#endif`,Are=`#ifndef FLAT_SHADED varying vec3 vNormal; #ifdef USE_TANGENT varying vec3 vTangent; varying vec3 vBitangent; #endif -#endif`,Mre=`#ifndef FLAT_SHADED +#endif`,Nre=`#ifndef FLAT_SHADED vNormal = normalize( transformedNormal ); #ifdef USE_TANGENT vTangent = normalize( transformedTangent ); vBitangent = normalize( cross( vNormal, vTangent ) * tangent.w ); #endif -#endif`,Ere=`#ifdef USE_NORMALMAP +#endif`,kre=`#ifdef USE_NORMALMAP uniform sampler2D normalMap; uniform vec2 normalScale; #endif @@ -1344,9 +1344,9 @@ vec3 geometryNormal = normal;`,wre=`#ifdef OBJECTSPACE_NORMALMAP float scale = ( det == 0.0 ) ? 0.0 : faceDirection * inversesqrt( det ); return normalize( T * ( mapN.x * scale ) + B * ( mapN.y * scale ) + N * mapN.z ); } -#endif`,Ire=`#ifdef USE_CLEARCOAT +#endif`,Lre=`#ifdef USE_CLEARCOAT vec3 clearcoatNormal = geometryNormal; -#endif`,Tre=`#ifdef USE_CLEARCOAT_NORMALMAP +#endif`,Fre=`#ifdef USE_CLEARCOAT_NORMALMAP vec3 clearcoatMapN = texture2D( clearcoatNormalMap, vUv ).xyz * 2.0 - 1.0; clearcoatMapN.xy *= clearcoatNormalScale; #ifdef USE_TANGENT @@ -1354,7 +1354,7 @@ vec3 geometryNormal = normal;`,wre=`#ifdef OBJECTSPACE_NORMALMAP #else clearcoatNormal = perturbNormal2Arb( - vViewPosition, clearcoatNormal, clearcoatMapN, faceDirection ); #endif -#endif`,Dre=`#ifdef USE_CLEARCOATMAP +#endif`,Bre=`#ifdef USE_CLEARCOATMAP uniform sampler2D clearcoatMap; #endif #ifdef USE_CLEARCOAT_ROUGHNESSMAP @@ -1363,13 +1363,13 @@ vec3 geometryNormal = normal;`,wre=`#ifdef OBJECTSPACE_NORMALMAP #ifdef USE_CLEARCOAT_NORMALMAP uniform sampler2D clearcoatNormalMap; uniform vec2 clearcoatNormalScale; -#endif`,Pre=`#ifdef OPAQUE +#endif`,Vre=`#ifdef OPAQUE diffuseColor.a = 1.0; #endif #ifdef USE_TRANSMISSION diffuseColor.a *= transmissionAlpha + 0.1; #endif -gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,Ore=`vec3 packNormalToRGB( const in vec3 normal ) { +gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,zre=`vec3 packNormalToRGB( const in vec3 normal ) { return normalize( normal ) * 0.5 + 0.5; } vec3 unpackRGBToNormal( const in vec3 rgb ) { @@ -1404,29 +1404,29 @@ float viewZToPerspectiveDepth( const in float viewZ, const in float near, const } float perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) { return ( near * far ) / ( ( far - near ) * invClipZ - far ); -}`,Rre=`#ifdef PREMULTIPLIED_ALPHA +}`,Ure=`#ifdef PREMULTIPLIED_ALPHA gl_FragColor.rgb *= gl_FragColor.a; -#endif`,Are=`vec4 mvPosition = vec4( transformed, 1.0 ); +#endif`,Hre=`vec4 mvPosition = vec4( transformed, 1.0 ); #ifdef USE_INSTANCING mvPosition = instanceMatrix * mvPosition; #endif mvPosition = modelViewMatrix * mvPosition; -gl_Position = projectionMatrix * mvPosition;`,Nre=`#ifdef DITHERING +gl_Position = projectionMatrix * mvPosition;`,Gre=`#ifdef DITHERING gl_FragColor.rgb = dithering( gl_FragColor.rgb ); -#endif`,kre=`#ifdef DITHERING +#endif`,jre=`#ifdef DITHERING vec3 dithering( vec3 color ) { float grid_position = rand( gl_FragCoord.xy ); vec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 ); dither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position ); return color + dither_shift_RGB; } -#endif`,Lre=`float roughnessFactor = roughness; +#endif`,Wre=`float roughnessFactor = roughness; #ifdef USE_ROUGHNESSMAP vec4 texelRoughness = texture2D( roughnessMap, vUv ); roughnessFactor *= texelRoughness.g; -#endif`,Fre=`#ifdef USE_ROUGHNESSMAP +#endif`,$re=`#ifdef USE_ROUGHNESSMAP uniform sampler2D roughnessMap; -#endif`,Bre=`#ifdef USE_SHADOWMAP +#endif`,qre=`#ifdef USE_SHADOWMAP #if NUM_DIR_LIGHT_SHADOWS > 0 uniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ]; varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ]; @@ -1600,7 +1600,7 @@ gl_Position = projectionMatrix * mvPosition;`,Nre=`#ifdef DITHERING return texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ); #endif } -#endif`,Vre=`#ifdef USE_SHADOWMAP +#endif`,Yre=`#ifdef USE_SHADOWMAP #if NUM_DIR_LIGHT_SHADOWS > 0 uniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ]; varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ]; @@ -1636,7 +1636,7 @@ gl_Position = projectionMatrix * mvPosition;`,Nre=`#ifdef DITHERING }; uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ]; #endif -#endif`,zre=`#ifdef USE_SHADOWMAP +#endif`,Xre=`#ifdef USE_SHADOWMAP #if NUM_DIR_LIGHT_SHADOWS > 0 || NUM_SPOT_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 vec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix ); vec4 shadowWorldPosition; @@ -1665,7 +1665,7 @@ gl_Position = projectionMatrix * mvPosition;`,Nre=`#ifdef DITHERING } #pragma unroll_loop_end #endif -#endif`,Ure=`float getShadowMask() { +#endif`,Zre=`float getShadowMask() { float shadow = 1.0; #ifdef USE_SHADOWMAP #if NUM_DIR_LIGHT_SHADOWS > 0 @@ -1697,12 +1697,12 @@ gl_Position = projectionMatrix * mvPosition;`,Nre=`#ifdef DITHERING #endif #endif return shadow; -}`,Hre=`#ifdef USE_SKINNING +}`,Qre=`#ifdef USE_SKINNING mat4 boneMatX = getBoneMatrix( skinIndex.x ); mat4 boneMatY = getBoneMatrix( skinIndex.y ); mat4 boneMatZ = getBoneMatrix( skinIndex.z ); mat4 boneMatW = getBoneMatrix( skinIndex.w ); -#endif`,Gre=`#ifdef USE_SKINNING +#endif`,Kre=`#ifdef USE_SKINNING uniform mat4 bindMatrix; uniform mat4 bindMatrixInverse; #ifdef BONE_TEXTURE @@ -1729,7 +1729,7 @@ gl_Position = projectionMatrix * mvPosition;`,Nre=`#ifdef DITHERING return bone; } #endif -#endif`,jre=`#ifdef USE_SKINNING +#endif`,Jre=`#ifdef USE_SKINNING vec4 skinVertex = bindMatrix * vec4( transformed, 1.0 ); vec4 skinned = vec4( 0.0 ); skinned += boneMatX * skinVertex * skinWeight.x; @@ -1737,7 +1737,7 @@ gl_Position = projectionMatrix * mvPosition;`,Nre=`#ifdef DITHERING skinned += boneMatZ * skinVertex * skinWeight.z; skinned += boneMatW * skinVertex * skinWeight.w; transformed = ( bindMatrixInverse * skinned ).xyz; -#endif`,Wre=`#ifdef USE_SKINNING +#endif`,eoe=`#ifdef USE_SKINNING mat4 skinMatrix = mat4( 0.0 ); skinMatrix += skinWeight.x * boneMatX; skinMatrix += skinWeight.y * boneMatY; @@ -1748,17 +1748,17 @@ gl_Position = projectionMatrix * mvPosition;`,Nre=`#ifdef DITHERING #ifdef USE_TANGENT objectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz; #endif -#endif`,$re=`float specularStrength; +#endif`,toe=`float specularStrength; #ifdef USE_SPECULARMAP vec4 texelSpecular = texture2D( specularMap, vUv ); specularStrength = texelSpecular.r; #else specularStrength = 1.0; -#endif`,qre=`#ifdef USE_SPECULARMAP +#endif`,noe=`#ifdef USE_SPECULARMAP uniform sampler2D specularMap; -#endif`,Yre=`#if defined( TONE_MAPPING ) +#endif`,ioe=`#if defined( TONE_MAPPING ) gl_FragColor.rgb = toneMapping( gl_FragColor.rgb ); -#endif`,Xre=`#ifndef saturate +#endif`,roe=`#ifndef saturate #define saturate( a ) clamp( a, 0.0, 1.0 ) #endif uniform float toneMappingExposure; @@ -1794,7 +1794,7 @@ vec3 ACESFilmicToneMapping( vec3 color ) { color = ACESOutputMat * color; return saturate( color ); } -vec3 CustomToneMapping( vec3 color ) { return color; }`,Zre=`#ifdef USE_TRANSMISSION +vec3 CustomToneMapping( vec3 color ) { return color; }`,ooe=`#ifdef USE_TRANSMISSION float transmissionAlpha = 1.0; float transmissionFactor = transmission; float thicknessFactor = thickness; @@ -1813,7 +1813,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,Zre=`#ifdef USE_TRANSMIS attenuationColor, attenuationDistance ); totalDiffuse = mix( totalDiffuse, transmission.rgb, transmissionFactor ); transmissionAlpha = mix( transmissionAlpha, transmission.a, transmissionFactor ); -#endif`,Qre=`#ifdef USE_TRANSMISSION +#endif`,soe=`#ifdef USE_TRANSMISSION uniform float transmission; uniform float thickness; uniform float attenuationDistance; @@ -1870,51 +1870,51 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,Zre=`#ifdef USE_TRANSMIS vec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness ); return vec4( ( 1.0 - F ) * attenuatedColor * diffuseColor, transmittedLight.a ); } -#endif`,Kre=`#if ( defined( USE_UV ) && ! defined( UVS_VERTEX_ONLY ) ) +#endif`,aoe=`#if ( defined( USE_UV ) && ! defined( UVS_VERTEX_ONLY ) ) varying vec2 vUv; -#endif`,Jre=`#ifdef USE_UV +#endif`,coe=`#ifdef USE_UV #ifdef UVS_VERTEX_ONLY vec2 vUv; #else varying vec2 vUv; #endif uniform mat3 uvTransform; -#endif`,eoe=`#ifdef USE_UV +#endif`,loe=`#ifdef USE_UV vUv = ( uvTransform * vec3( uv, 1 ) ).xy; -#endif`,toe=`#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP ) +#endif`,doe=`#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP ) varying vec2 vUv2; -#endif`,noe=`#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP ) +#endif`,uoe=`#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP ) attribute vec2 uv2; varying vec2 vUv2; uniform mat3 uv2Transform; -#endif`,ioe=`#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP ) +#endif`,hoe=`#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP ) vUv2 = ( uv2Transform * vec3( uv2, 1 ) ).xy; -#endif`,roe=`#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) +#endif`,poe=`#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) vec4 worldPosition = vec4( transformed, 1.0 ); #ifdef USE_INSTANCING worldPosition = instanceMatrix * worldPosition; #endif worldPosition = modelMatrix * worldPosition; -#endif`,ooe=`varying vec2 vUv; +#endif`,foe=`varying vec2 vUv; uniform mat3 uvTransform; void main() { vUv = ( uvTransform * vec3( uv, 1 ) ).xy; gl_Position = vec4( position.xy, 1.0, 1.0 ); -}`,soe=`uniform sampler2D t2D; +}`,moe=`uniform sampler2D t2D; varying vec2 vUv; void main() { vec4 texColor = texture2D( t2D, vUv ); gl_FragColor = mapTexelToLinear( texColor ); #include #include -}`,aoe=`varying vec3 vWorldDirection; +}`,goe=`varying vec3 vWorldDirection; #include void main() { vWorldDirection = transformDirection( position, modelMatrix ); #include #include gl_Position.z = gl_Position.w; -}`,loe=`#include +}`,_oe=`#include uniform float opacity; varying vec3 vWorldDirection; #include @@ -1925,7 +1925,7 @@ void main() { gl_FragColor.a *= opacity; #include #include -}`,coe=`#include +}`,voe=`#include #include #include #include @@ -1949,7 +1949,7 @@ void main() { #include #include vHighPrecisionZW = gl_Position.zw; -}`,doe=`#if DEPTH_PACKING == 3200 +}`,boe=`#if DEPTH_PACKING == 3200 uniform float opacity; #endif #include @@ -1977,7 +1977,7 @@ void main() { #elif DEPTH_PACKING == 3201 gl_FragColor = packDepthToRGBA( fragCoordZ ); #endif -}`,uoe=`#define DISTANCE +}`,yoe=`#define DISTANCE varying vec3 vWorldPosition; #include #include @@ -2001,7 +2001,7 @@ void main() { #include #include vWorldPosition = worldPosition.xyz; -}`,hoe=`#define DISTANCE +}`,xoe=`#define DISTANCE uniform vec3 referencePosition; uniform float nearDistance; uniform float farDistance; @@ -2023,13 +2023,13 @@ void main () { dist = ( dist - nearDistance ) / ( farDistance - nearDistance ); dist = saturate( dist ); gl_FragColor = packDepthToRGBA( dist ); -}`,poe=`varying vec3 vWorldDirection; +}`,woe=`varying vec3 vWorldDirection; #include void main() { vWorldDirection = transformDirection( position, modelMatrix ); #include #include -}`,foe=`uniform sampler2D tEquirect; +}`,Coe=`uniform sampler2D tEquirect; varying vec3 vWorldDirection; #include void main() { @@ -2039,7 +2039,7 @@ void main() { gl_FragColor = mapTexelToLinear( texColor ); #include #include -}`,moe=`uniform float scale; +}`,Soe=`uniform float scale; attribute float lineDistance; varying float vLineDistance; #include @@ -2057,7 +2057,7 @@ void main() { #include #include #include -}`,goe=`uniform vec3 diffuse; +}`,Moe=`uniform vec3 diffuse; uniform float opacity; uniform float dashSize; uniform float totalSize; @@ -2082,7 +2082,7 @@ void main() { #include #include #include -}`,_oe=`#include +}`,Eoe=`#include #include #include #include @@ -2112,7 +2112,7 @@ void main() { #include #include #include -}`,voe=`uniform vec3 diffuse; +}`,Ioe=`uniform vec3 diffuse; uniform float opacity; #ifndef FLAT_SHADED varying vec3 vNormal; @@ -2160,7 +2160,7 @@ void main() { #include #include #include -}`,boe=`#define LAMBERT +}`,Toe=`#define LAMBERT varying vec3 vLightFront; varying vec3 vIndirectFront; #ifdef DOUBLE_SIDED @@ -2200,7 +2200,7 @@ void main() { #include #include #include -}`,yoe=`uniform vec3 diffuse; +}`,Doe=`uniform vec3 diffuse; uniform vec3 emissive; uniform float opacity; varying vec3 vLightFront; @@ -2266,7 +2266,7 @@ void main() { #include #include #include -}`,xoe=`#define MATCAP +}`,Poe=`#define MATCAP varying vec3 vViewPosition; #include #include @@ -2296,7 +2296,7 @@ void main() { #include #include vViewPosition = - mvPosition.xyz; -}`,woe=`#define MATCAP +}`,Ooe=`#define MATCAP uniform vec3 diffuse; uniform float opacity; uniform sampler2D matcap; @@ -2341,7 +2341,7 @@ void main() { #include #include #include -}`,Coe=`#define NORMAL +}`,Roe=`#define NORMAL #if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP ) varying vec3 vViewPosition; #endif @@ -2371,7 +2371,7 @@ void main() { #if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP ) vViewPosition = - mvPosition.xyz; #endif -}`,Soe=`#define NORMAL +}`,Aoe=`#define NORMAL uniform float opacity; #if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP ) varying vec3 vViewPosition; @@ -2389,7 +2389,7 @@ void main() { #include #include gl_FragColor = vec4( packNormalToRGB( normal ), opacity ); -}`,Moe=`#define PHONG +}`,Noe=`#define PHONG varying vec3 vViewPosition; #include #include @@ -2426,7 +2426,7 @@ void main() { #include #include #include -}`,Eoe=`#define PHONG +}`,koe=`#define PHONG uniform vec3 diffuse; uniform vec3 emissive; uniform vec3 specular; @@ -2485,7 +2485,7 @@ void main() { #include #include #include -}`,Ioe=`#define STANDARD +}`,Loe=`#define STANDARD varying vec3 vViewPosition; #ifdef USE_TRANSMISSION varying vec3 vWorldPosition; @@ -2526,7 +2526,7 @@ void main() { #ifdef USE_TRANSMISSION vWorldPosition = worldPosition.xyz; #endif -}`,Toe=`#define STANDARD +}`,Foe=`#define STANDARD #ifdef PHYSICAL #define IOR #define SPECULAR @@ -2630,7 +2630,7 @@ void main() { #include #include #include -}`,Doe=`#define TOON +}`,Boe=`#define TOON varying vec3 vViewPosition; #include #include @@ -2665,7 +2665,7 @@ void main() { #include #include #include -}`,Poe=`#define TOON +}`,Voe=`#define TOON uniform vec3 diffuse; uniform vec3 emissive; uniform float opacity; @@ -2717,7 +2717,7 @@ void main() { #include #include #include -}`,Ooe=`uniform float size; +}`,zoe=`uniform float size; uniform float scale; #include #include @@ -2739,7 +2739,7 @@ void main() { #include #include #include -}`,Roe=`uniform vec3 diffuse; +}`,Uoe=`uniform vec3 diffuse; uniform float opacity; #include #include @@ -2762,7 +2762,7 @@ void main() { #include #include #include -}`,Aoe=`#include +}`,Hoe=`#include #include #include #include @@ -2780,7 +2780,7 @@ void main() { #include #include #include -}`,Noe=`uniform vec3 color; +}`,Goe=`uniform vec3 color; uniform float opacity; #include #include @@ -2794,7 +2794,7 @@ void main() { #include #include #include -}`,koe=`uniform float rotation; +}`,joe=`uniform float rotation; uniform vec2 center; #include #include @@ -2820,7 +2820,7 @@ void main() { #include #include #include -}`,Loe=`uniform vec3 diffuse; +}`,Woe=`uniform vec3 diffuse; uniform float opacity; #include #include @@ -2843,7 +2843,7 @@ void main() { #include #include #include -}`,rn={alphamap_fragment:uie,alphamap_pars_fragment:hie,alphatest_fragment:pie,alphatest_pars_fragment:fie,aomap_fragment:mie,aomap_pars_fragment:gie,begin_vertex:_ie,beginnormal_vertex:vie,bsdfs:bie,bumpmap_pars_fragment:yie,clipping_planes_fragment:xie,clipping_planes_pars_fragment:wie,clipping_planes_pars_vertex:Cie,clipping_planes_vertex:Sie,color_fragment:Mie,color_pars_fragment:Eie,color_pars_vertex:Iie,color_vertex:Tie,common:Die,cube_uv_reflection_fragment:Pie,defaultnormal_vertex:Oie,displacementmap_pars_vertex:Rie,displacementmap_vertex:Aie,emissivemap_fragment:Nie,emissivemap_pars_fragment:kie,encodings_fragment:Lie,encodings_pars_fragment:Fie,envmap_fragment:Bie,envmap_common_pars_fragment:Vie,envmap_pars_fragment:zie,envmap_pars_vertex:Uie,envmap_physical_pars_fragment:Kie,envmap_vertex:Hie,fog_vertex:Gie,fog_pars_vertex:jie,fog_fragment:Wie,fog_pars_fragment:$ie,gradientmap_pars_fragment:qie,lightmap_fragment:Yie,lightmap_pars_fragment:Xie,lights_lambert_vertex:Zie,lights_pars_begin:Qie,lights_toon_fragment:Jie,lights_toon_pars_fragment:ere,lights_phong_fragment:tre,lights_phong_pars_fragment:nre,lights_physical_fragment:ire,lights_physical_pars_fragment:rre,lights_fragment_begin:ore,lights_fragment_maps:sre,lights_fragment_end:are,logdepthbuf_fragment:lre,logdepthbuf_pars_fragment:cre,logdepthbuf_pars_vertex:dre,logdepthbuf_vertex:ure,map_fragment:hre,map_pars_fragment:pre,map_particle_fragment:fre,map_particle_pars_fragment:mre,metalnessmap_fragment:gre,metalnessmap_pars_fragment:_re,morphnormal_vertex:vre,morphtarget_pars_vertex:bre,morphtarget_vertex:yre,normal_fragment_begin:xre,normal_fragment_maps:wre,normal_pars_fragment:Cre,normal_pars_vertex:Sre,normal_vertex:Mre,normalmap_pars_fragment:Ere,clearcoat_normal_fragment_begin:Ire,clearcoat_normal_fragment_maps:Tre,clearcoat_pars_fragment:Dre,output_fragment:Pre,packing:Ore,premultiplied_alpha_fragment:Rre,project_vertex:Are,dithering_fragment:Nre,dithering_pars_fragment:kre,roughnessmap_fragment:Lre,roughnessmap_pars_fragment:Fre,shadowmap_pars_fragment:Bre,shadowmap_pars_vertex:Vre,shadowmap_vertex:zre,shadowmask_pars_fragment:Ure,skinbase_vertex:Hre,skinning_pars_vertex:Gre,skinning_vertex:jre,skinnormal_vertex:Wre,specularmap_fragment:$re,specularmap_pars_fragment:qre,tonemapping_fragment:Yre,tonemapping_pars_fragment:Xre,transmission_fragment:Zre,transmission_pars_fragment:Qre,uv_pars_fragment:Kre,uv_pars_vertex:Jre,uv_vertex:eoe,uv2_pars_fragment:toe,uv2_pars_vertex:noe,uv2_vertex:ioe,worldpos_vertex:roe,background_vert:ooe,background_frag:soe,cube_vert:aoe,cube_frag:loe,depth_vert:coe,depth_frag:doe,distanceRGBA_vert:uoe,distanceRGBA_frag:hoe,equirect_vert:poe,equirect_frag:foe,linedashed_vert:moe,linedashed_frag:goe,meshbasic_vert:_oe,meshbasic_frag:voe,meshlambert_vert:boe,meshlambert_frag:yoe,meshmatcap_vert:xoe,meshmatcap_frag:woe,meshnormal_vert:Coe,meshnormal_frag:Soe,meshphong_vert:Moe,meshphong_frag:Eoe,meshphysical_vert:Ioe,meshphysical_frag:Toe,meshtoon_vert:Doe,meshtoon_frag:Poe,points_vert:Ooe,points_frag:Roe,shadow_vert:Aoe,shadow_frag:Noe,sprite_vert:koe,sprite_frag:Loe},Ue={common:{diffuse:{value:new je(16777215)},opacity:{value:1},map:{value:null},uvTransform:{value:new xi},uv2Transform:{value:new xi},alphaMap:{value:null},alphaTest:{value:0}},specularmap:{specularMap:{value:null}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98},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 xe(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 je(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotShadowMap:{value:[]},spotShadowMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new je(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaTest:{value:0},uvTransform:{value:new xi}},sprite:{diffuse:{value:new je(16777215)},opacity:{value:1},center:{value:new xe(.5,.5)},rotation:{value:0},map:{value:null},alphaMap:{value:null},alphaTest:{value:0},uvTransform:{value:new xi}}},ys={basic:{uniforms:br([Ue.common,Ue.specularmap,Ue.envmap,Ue.aomap,Ue.lightmap,Ue.fog]),vertexShader:rn.meshbasic_vert,fragmentShader:rn.meshbasic_frag},lambert:{uniforms:br([Ue.common,Ue.specularmap,Ue.envmap,Ue.aomap,Ue.lightmap,Ue.emissivemap,Ue.fog,Ue.lights,{emissive:{value:new je(0)}}]),vertexShader:rn.meshlambert_vert,fragmentShader:rn.meshlambert_frag},phong:{uniforms:br([Ue.common,Ue.specularmap,Ue.envmap,Ue.aomap,Ue.lightmap,Ue.emissivemap,Ue.bumpmap,Ue.normalmap,Ue.displacementmap,Ue.fog,Ue.lights,{emissive:{value:new je(0)},specular:{value:new je(1118481)},shininess:{value:30}}]),vertexShader:rn.meshphong_vert,fragmentShader:rn.meshphong_frag},standard:{uniforms:br([Ue.common,Ue.envmap,Ue.aomap,Ue.lightmap,Ue.emissivemap,Ue.bumpmap,Ue.normalmap,Ue.displacementmap,Ue.roughnessmap,Ue.metalnessmap,Ue.fog,Ue.lights,{emissive:{value:new je(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:rn.meshphysical_vert,fragmentShader:rn.meshphysical_frag},toon:{uniforms:br([Ue.common,Ue.aomap,Ue.lightmap,Ue.emissivemap,Ue.bumpmap,Ue.normalmap,Ue.displacementmap,Ue.gradientmap,Ue.fog,Ue.lights,{emissive:{value:new je(0)}}]),vertexShader:rn.meshtoon_vert,fragmentShader:rn.meshtoon_frag},matcap:{uniforms:br([Ue.common,Ue.bumpmap,Ue.normalmap,Ue.displacementmap,Ue.fog,{matcap:{value:null}}]),vertexShader:rn.meshmatcap_vert,fragmentShader:rn.meshmatcap_frag},points:{uniforms:br([Ue.points,Ue.fog]),vertexShader:rn.points_vert,fragmentShader:rn.points_frag},dashed:{uniforms:br([Ue.common,Ue.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:rn.linedashed_vert,fragmentShader:rn.linedashed_frag},depth:{uniforms:br([Ue.common,Ue.displacementmap]),vertexShader:rn.depth_vert,fragmentShader:rn.depth_frag},normal:{uniforms:br([Ue.common,Ue.bumpmap,Ue.normalmap,Ue.displacementmap,{opacity:{value:1}}]),vertexShader:rn.meshnormal_vert,fragmentShader:rn.meshnormal_frag},sprite:{uniforms:br([Ue.sprite,Ue.fog]),vertexShader:rn.sprite_vert,fragmentShader:rn.sprite_frag},background:{uniforms:{uvTransform:{value:new xi},t2D:{value:null}},vertexShader:rn.background_vert,fragmentShader:rn.background_frag},cube:{uniforms:br([Ue.envmap,{opacity:{value:1}}]),vertexShader:rn.cube_vert,fragmentShader:rn.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:rn.equirect_vert,fragmentShader:rn.equirect_frag},distanceRGBA:{uniforms:br([Ue.common,Ue.displacementmap,{referencePosition:{value:new R},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:rn.distanceRGBA_vert,fragmentShader:rn.distanceRGBA_frag},shadow:{uniforms:br([Ue.lights,Ue.fog,{color:{value:new je(0)},opacity:{value:1}}]),vertexShader:rn.shadow_vert,fragmentShader:rn.shadow_frag}};ys.physical={uniforms:br([ys.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatNormalScale:{value:new xe(1,1)},clearcoatNormalMap:{value:null},sheen:{value:0},sheenColor:{value:new je(0)},sheenColorMap:{value:null},sheenRoughness:{value:0},sheenRoughnessMap:{value:null},transmission:{value:0},transmissionMap:{value:null},transmissionSamplerSize:{value:new xe},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},attenuationDistance:{value:0},attenuationColor:{value:new je(0)},specularIntensity:{value:0},specularIntensityMap:{value:null},specularColor:{value:new je(1,1,1)},specularColorMap:{value:null}}]),vertexShader:rn.meshphysical_vert,fragmentShader:rn.meshphysical_frag};function Foe(i,e,t,n,r){let o=new je(0),s=0,a,l,c=null,d=0,u=null;function h(f,m){let y=!1,g=m.isScene===!0?m.background:null;g&&g.isTexture&&(g=e.get(g));let _=i.xr,x=_.getSession&&_.getSession();x&&x.environmentBlendMode==="additive"&&(g=null),g===null?p(o,s):g&&g.isColor&&(p(g,1),y=!0),(i.autoClear||y)&&i.clear(i.autoClearColor,i.autoClearDepth,i.autoClearStencil),g&&(g.isCubeTexture||g.mapping===Qp)?(l===void 0&&(l=new ui(new lc(1,1,1),new ws({name:"BackgroundCubeMaterial",uniforms:Pp(ys.cube.uniforms),vertexShader:ys.cube.vertexShader,fragmentShader:ys.cube.fragmentShader,side:yi,depthTest:!1,depthWrite:!1,fog:!1})),l.geometry.deleteAttribute("normal"),l.geometry.deleteAttribute("uv"),l.onBeforeRender=function(C,T,D){this.matrixWorld.copyPosition(D.matrixWorld)},Object.defineProperty(l.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),n.update(l)),l.material.uniforms.envMap.value=g,l.material.uniforms.flipEnvMap.value=g.isCubeTexture&&g.isRenderTargetTexture===!1?-1:1,(c!==g||d!==g.version||u!==i.toneMapping)&&(l.material.needsUpdate=!0,c=g,d=g.version,u=i.toneMapping),f.unshift(l,l.geometry,l.material,0,0,null)):g&&g.isTexture&&(a===void 0&&(a=new ui(new Ap(2,2),new ws({name:"BackgroundMaterial",uniforms:Pp(ys.background.uniforms),vertexShader:ys.background.vertexShader,fragmentShader:ys.background.fragmentShader,side:Zd,depthTest:!1,depthWrite:!1,fog:!1})),a.geometry.deleteAttribute("normal"),Object.defineProperty(a.material,"map",{get:function(){return this.uniforms.t2D.value}}),n.update(a)),a.material.uniforms.t2D.value=g,g.matrixAutoUpdate===!0&&g.updateMatrix(),a.material.uniforms.uvTransform.value.copy(g.matrix),(c!==g||d!==g.version||u!==i.toneMapping)&&(a.material.needsUpdate=!0,c=g,d=g.version,u=i.toneMapping),f.unshift(a,a.geometry,a.material,0,0,null))}function p(f,m){t.buffers.color.setClear(f.r,f.g,f.b,m,r)}return{getClearColor:function(){return o},setClearColor:function(f,m=1){o.set(f),s=m,p(o,s)},getClearAlpha:function(){return s},setClearAlpha:function(f){s=f,p(o,s)},render:h}}function Boe(i,e,t,n){let r=i.getParameter(34921),o=n.isWebGL2?null:e.get("OES_vertex_array_object"),s=n.isWebGL2||o!==null,a={},l=m(null),c=l;function d(B,j,q,k,G){let K=!1;if(s){let de=f(k,q,j);c!==de&&(c=de,h(c.object)),K=y(k,G),K&&g(k,G)}else{let de=j.wireframe===!0;(c.geometry!==k.id||c.program!==q.id||c.wireframe!==de)&&(c.geometry=k.id,c.program=q.id,c.wireframe=de,K=!0)}B.isInstancedMesh===!0&&(K=!0),G!==null&&t.update(G,34963),K&&(E(B,j,q,k),G!==null&&i.bindBuffer(34963,t.get(G).buffer))}function u(){return n.isWebGL2?i.createVertexArray():o.createVertexArrayOES()}function h(B){return n.isWebGL2?i.bindVertexArray(B):o.bindVertexArrayOES(B)}function p(B){return n.isWebGL2?i.deleteVertexArray(B):o.deleteVertexArrayOES(B)}function f(B,j,q){let k=q.wireframe===!0,G=a[B.id];G===void 0&&(G={},a[B.id]=G);let K=G[j.id];K===void 0&&(K={},G[j.id]=K);let de=K[k];return de===void 0&&(de=m(u()),K[k]=de),de}function m(B){let j=[],q=[],k=[];for(let G=0;G=0){let He=G[De];if(He===void 0&&(De==="instanceMatrix"&&B.instanceMatrix&&(He=B.instanceMatrix),De==="instanceColor"&&B.instanceColor&&(He=B.instanceColor)),He!==void 0){let he=He.normalized,re=He.itemSize,qe=t.get(He);if(qe===void 0)continue;let ue=qe.buffer,Ge=qe.type,pt=qe.bytesPerElement;if(He.isInterleavedBufferAttribute){let Ve=He.data,Qe=Ve.stride,Dt=He.offset;if(Ve&&Ve.isInstancedInterleavedBuffer){for(let _e=0;_e0&&i.getShaderPrecisionFormat(35632,36338).precision>0)return"highp";E="mediump"}return E==="mediump"&&i.getShaderPrecisionFormat(35633,36337).precision>0&&i.getShaderPrecisionFormat(35632,36337).precision>0?"mediump":"lowp"}let s=typeof WebGL2RenderingContext<"u"&&i instanceof WebGL2RenderingContext||typeof WebGL2ComputeRenderingContext<"u"&&i instanceof WebGL2ComputeRenderingContext,a=t.precision!==void 0?t.precision:"highp",l=o(a);l!==a&&(console.warn("THREE.WebGLRenderer:",a,"not supported, using",l,"instead."),a=l);let c=s||e.has("WEBGL_draw_buffers"),d=t.logarithmicDepthBuffer===!0,u=i.getParameter(34930),h=i.getParameter(35660),p=i.getParameter(3379),f=i.getParameter(34076),m=i.getParameter(34921),y=i.getParameter(36347),g=i.getParameter(36348),_=i.getParameter(36349),x=h>0,C=s||e.has("OES_texture_float"),T=x&&C,D=s?i.getParameter(36183):0;return{isWebGL2:s,drawBuffers:c,getMaxAnisotropy:r,getMaxPrecision:o,precision:a,logarithmicDepthBuffer:d,maxTextures:u,maxVertexTextures:h,maxTextureSize:p,maxCubemapSize:f,maxAttributes:m,maxVertexUniforms:y,maxVaryings:g,maxFragmentUniforms:_,vertexTextures:x,floatFragmentTextures:C,floatVertexTextures:T,maxSamples:D}}function Uoe(i){let e=this,t=null,n=0,r=!1,o=!1,s=new $o,a=new xi,l={value:null,needsUpdate:!1};this.uniform=l,this.numPlanes=0,this.numIntersection=0,this.init=function(u,h,p){let f=u.length!==0||h||n!==0||r;return r=h,t=d(u,p,0),n=u.length,f},this.beginShadows=function(){o=!0,d(null)},this.endShadows=function(){o=!1,c()},this.setState=function(u,h,p){let f=u.clippingPlanes,m=u.clipIntersection,y=u.clipShadows,g=i.get(u);if(!r||f===null||f.length===0||o&&!y)o?d(null):c();else{let _=o?0:n,x=_*4,C=g.clippingState||null;l.value=C,C=d(f,h,x,p);for(let T=0;T!==x;++T)C[T]=t[T];g.clippingState=C,this.numIntersection=m?this.numPlanes:0,this.numPlanes+=_}};function c(){l.value!==t&&(l.value=t,l.needsUpdate=n>0),e.numPlanes=n,e.numIntersection=0}function d(u,h,p,f){let m=u!==null?u.length:0,y=null;if(m!==0){if(y=l.value,f!==!0||y===null){let g=p+m*4,_=h.matrixWorldInverse;a.getNormalMatrix(_),(y===null||y.length0){let c=i.getRenderTarget(),d=new Rp(l.height/2);return d.fromEquirectangularTexture(i,s),e.set(s,d),i.setRenderTarget(c),s.addEventListener("dispose",r),t(d.texture,s.mapping)}else return null}}return s}function r(s){let a=s.target;a.removeEventListener("dispose",r);let l=e.get(a);l!==void 0&&(e.delete(a),l.dispose())}function o(){e=new WeakMap}return{get:n,dispose:o}}var tu=class extends Jd{constructor(e=-1,t=1,n=1,r=-1,o=.1,s=2e3){super(),this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=e,this.right=t,this.top=n,this.bottom=r,this.near=o,this.far=s,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.left=e.left,this.right=e.right,this.top=e.top,this.bottom=e.bottom,this.near=e.near,this.far=e.far,this.zoom=e.zoom,this.view=e.view===null?null:Object.assign({},e.view),this}setViewOffset(e,t,n,r,o,s){this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=n,this.view.offsetY=r,this.view.width=o,this.view.height=s,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){let e=(this.right-this.left)/(2*this.zoom),t=(this.top-this.bottom)/(2*this.zoom),n=(this.right+this.left)/2,r=(this.top+this.bottom)/2,o=n-e,s=n+e,a=r+t,l=r-t;if(this.view!==null&&this.view.enabled){let c=(this.right-this.left)/this.view.fullWidth/this.zoom,d=(this.top-this.bottom)/this.view.fullHeight/this.zoom;o+=c*this.view.offsetX,s=o+c*this.view.width,a-=d*this.view.offsetY,l=a-d*this.view.height}this.projectionMatrix.makeOrthographic(o,s,a,l,this.near,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){let t=super.toJSON(e);return t.object.zoom=this.zoom,t.object.left=this.left,t.object.right=this.right,t.object.top=this.top,t.object.bottom=this.bottom,t.object.near=this.near,t.object.far=this.far,this.view!==null&&(t.object.view=Object.assign({},this.view)),t}};tu.prototype.isOrthographicCamera=!0;var dc=class extends ws{constructor(e){super(e),this.type="RawShaderMaterial"}};dc.prototype.isRawShaderMaterial=!0;var Sp=4,sc=8,ta=Math.pow(2,sc),CH=[.125,.215,.35,.446,.526,.582],SH=sc-Sp+1+CH.length,pp=20,uc={[sr]:0,[gc]:1,[Jw]:2,[ZP]:3,[QP]:4,[KP]:5,[Kw]:6},VD=new tu,{_lodPlanes:Cg,_sizeLods:Oz,_sigmas:Ox}=joe(),Rz=new je,zD=null,Hd=(1+Math.sqrt(5))/2,fp=1/Hd,Az=[new R(1,1,1),new R(-1,1,1),new R(1,1,-1),new R(-1,1,-1),new R(0,Hd,fp),new R(0,Hd,-fp),new R(fp,0,Hd),new R(-fp,0,Hd),new R(Hd,fp,0),new R(-Hd,fp,0)],pw=class{constructor(e){this._renderer=e,this._pingPongRenderTarget=null,this._blurMaterial=Woe(pp),this._equirectShader=null,this._cubemapShader=null,this._compileMaterial(this._blurMaterial)}fromScene(e,t=0,n=.1,r=100){zD=this._renderer.getRenderTarget();let o=this._allocateTargets();return this._sceneToCubeUV(e,n,r,o),t>0&&this._blur(o,0,0,t),this._applyPMREM(o),this._cleanup(o),o}fromEquirectangular(e){return this._fromTexture(e)}fromCubemap(e){return this._fromTexture(e)}compileCubemapShader(){this._cubemapShader===null&&(this._cubemapShader=Lz(),this._compileMaterial(this._cubemapShader))}compileEquirectangularShader(){this._equirectShader===null&&(this._equirectShader=kz(),this._compileMaterial(this._equirectShader))}dispose(){this._blurMaterial.dispose(),this._cubemapShader!==null&&this._cubemapShader.dispose(),this._equirectShader!==null&&this._equirectShader.dispose();for(let e=0;e2?ta:0,ta,ta),d.setRenderTarget(r),y&&d.render(m,a),d.render(e,a)}m.geometry.dispose(),m.material.dispose(),d.toneMapping=p,d.outputEncoding=h,d.autoClear=u,e.background=g}_setEncoding(e,t){this._renderer.capabilities.isWebGL2===!0&&t.format===rr&&t.type===Ka&&t.encoding===gc?e.value=uc[sr]:e.value=uc[t.encoding]}_textureToCubeUV(e,t){let n=this._renderer,r=e.mapping===pu||e.mapping===fu;r?this._cubemapShader==null&&(this._cubemapShader=Lz()):this._equirectShader==null&&(this._equirectShader=kz());let o=r?this._cubemapShader:this._equirectShader,s=new ui(Cg[0],o),a=o.uniforms;a.envMap.value=e,r||a.texelSize.value.set(1/e.image.width,1/e.image.height),this._setEncoding(a.inputEncoding,e),this._setEncoding(a.outputEncoding,t.texture),Rx(t,0,0,3*ta,2*ta),n.setRenderTarget(t),n.render(s,VD)}_applyPMREM(e){let t=this._renderer,n=t.autoClear;t.autoClear=!1;for(let r=1;rpp&&console.warn(`sigmaRadians, ${o}, is too large and will clip, as it requested ${y} samples when the maximum is set to ${pp}`);let g=[],_=0;for(let D=0;Dsc-Sp?r-sc+Sp:0);Rx(t,C,T,3*x,2*x),l.setRenderTarget(t),l.render(u,VD)}};function Goe(i){return i===void 0||i.type!==Ka?!1:i.encoding===sr||i.encoding===gc||i.encoding===Kw}function joe(){let i=[],e=[],t=[],n=sc;for(let r=0;rsc-Sp?s=CH[r-sc+Sp-1]:r==0&&(s=0),t.push(s);let a=1/(o-1),l=-a/2,c=1+a/2,d=[l,l,c,l,c,c,l,l,c,c,l,c],u=6,h=6,p=3,f=2,m=1,y=new Float32Array(p*h*u),g=new Float32Array(f*h*u),_=new Float32Array(m*h*u);for(let C=0;C2?0:-1,E=[T,D,0,T+2/3,D,0,T+2/3,D+1,0,T,D,0,T+2/3,D+1,0,T,D+1,0];y.set(E,p*h*C),g.set(d,f*h*C);let P=[C,C,C,C,C,C];_.set(P,m*h*C)}let x=new It;x.setAttribute("position",new un(y,p)),x.setAttribute("uv",new un(g,f)),x.setAttribute("faceIndex",new un(_,m)),i.push(x),n>Sp&&n--}return{_lodPlanes:i,_sizeLods:e,_sigmas:t}}function Nz(i){let e=new xo(3*ta,3*ta,i);return e.texture.mapping=Qp,e.texture.name="PMREM.cubeUv",e.scissorTest=!0,e}function Rx(i,e,t,n,r){i.viewport.set(e,t,n,r),i.scissor.set(e,t,n,r)}function Woe(i){let e=new Float32Array(i),t=new R(0,1,0);return new dc({name:"SphericalGaussianBlur",defines:{n:i},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:e},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:t},inputEncoding:{value:uc[sr]},outputEncoding:{value:uc[sr]}},vertexShader:eO(),fragmentShader:` +}`,an={alphamap_fragment:yie,alphamap_pars_fragment:xie,alphatest_fragment:wie,alphatest_pars_fragment:Cie,aomap_fragment:Sie,aomap_pars_fragment:Mie,begin_vertex:Eie,beginnormal_vertex:Iie,bsdfs:Tie,bumpmap_pars_fragment:Die,clipping_planes_fragment:Pie,clipping_planes_pars_fragment:Oie,clipping_planes_pars_vertex:Rie,clipping_planes_vertex:Aie,color_fragment:Nie,color_pars_fragment:kie,color_pars_vertex:Lie,color_vertex:Fie,common:Bie,cube_uv_reflection_fragment:Vie,defaultnormal_vertex:zie,displacementmap_pars_vertex:Uie,displacementmap_vertex:Hie,emissivemap_fragment:Gie,emissivemap_pars_fragment:jie,encodings_fragment:Wie,encodings_pars_fragment:$ie,envmap_fragment:qie,envmap_common_pars_fragment:Yie,envmap_pars_fragment:Xie,envmap_pars_vertex:Zie,envmap_physical_pars_fragment:are,envmap_vertex:Qie,fog_vertex:Kie,fog_pars_vertex:Jie,fog_fragment:ere,fog_pars_fragment:tre,gradientmap_pars_fragment:nre,lightmap_fragment:ire,lightmap_pars_fragment:rre,lights_lambert_vertex:ore,lights_pars_begin:sre,lights_toon_fragment:cre,lights_toon_pars_fragment:lre,lights_phong_fragment:dre,lights_phong_pars_fragment:ure,lights_physical_fragment:hre,lights_physical_pars_fragment:pre,lights_fragment_begin:fre,lights_fragment_maps:mre,lights_fragment_end:gre,logdepthbuf_fragment:_re,logdepthbuf_pars_fragment:vre,logdepthbuf_pars_vertex:bre,logdepthbuf_vertex:yre,map_fragment:xre,map_pars_fragment:wre,map_particle_fragment:Cre,map_particle_pars_fragment:Sre,metalnessmap_fragment:Mre,metalnessmap_pars_fragment:Ere,morphnormal_vertex:Ire,morphtarget_pars_vertex:Tre,morphtarget_vertex:Dre,normal_fragment_begin:Pre,normal_fragment_maps:Ore,normal_pars_fragment:Rre,normal_pars_vertex:Are,normal_vertex:Nre,normalmap_pars_fragment:kre,clearcoat_normal_fragment_begin:Lre,clearcoat_normal_fragment_maps:Fre,clearcoat_pars_fragment:Bre,output_fragment:Vre,packing:zre,premultiplied_alpha_fragment:Ure,project_vertex:Hre,dithering_fragment:Gre,dithering_pars_fragment:jre,roughnessmap_fragment:Wre,roughnessmap_pars_fragment:$re,shadowmap_pars_fragment:qre,shadowmap_pars_vertex:Yre,shadowmap_vertex:Xre,shadowmask_pars_fragment:Zre,skinbase_vertex:Qre,skinning_pars_vertex:Kre,skinning_vertex:Jre,skinnormal_vertex:eoe,specularmap_fragment:toe,specularmap_pars_fragment:noe,tonemapping_fragment:ioe,tonemapping_pars_fragment:roe,transmission_fragment:ooe,transmission_pars_fragment:soe,uv_pars_fragment:aoe,uv_pars_vertex:coe,uv_vertex:loe,uv2_pars_fragment:doe,uv2_pars_vertex:uoe,uv2_vertex:hoe,worldpos_vertex:poe,background_vert:foe,background_frag:moe,cube_vert:goe,cube_frag:_oe,depth_vert:voe,depth_frag:boe,distanceRGBA_vert:yoe,distanceRGBA_frag:xoe,equirect_vert:woe,equirect_frag:Coe,linedashed_vert:Soe,linedashed_frag:Moe,meshbasic_vert:Eoe,meshbasic_frag:Ioe,meshlambert_vert:Toe,meshlambert_frag:Doe,meshmatcap_vert:Poe,meshmatcap_frag:Ooe,meshnormal_vert:Roe,meshnormal_frag:Aoe,meshphong_vert:Noe,meshphong_frag:koe,meshphysical_vert:Loe,meshphysical_frag:Foe,meshtoon_vert:Boe,meshtoon_frag:Voe,points_vert:zoe,points_frag:Uoe,shadow_vert:Hoe,shadow_frag:Goe,sprite_vert:joe,sprite_frag:Woe},Ue={common:{diffuse:{value:new je(16777215)},opacity:{value:1},map:{value:null},uvTransform:{value:new Si},uv2Transform:{value:new Si},alphaMap:{value:null},alphaTest:{value:0}},specularmap:{specularMap:{value:null}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98},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 we(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 je(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotShadowMap:{value:[]},spotShadowMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new je(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaTest:{value:0},uvTransform:{value:new Si}},sprite:{diffuse:{value:new je(16777215)},opacity:{value:1},center:{value:new we(.5,.5)},rotation:{value:0},map:{value:null},alphaMap:{value:null},alphaTest:{value:0},uvTransform:{value:new Si}}},xs={basic:{uniforms:xr([Ue.common,Ue.specularmap,Ue.envmap,Ue.aomap,Ue.lightmap,Ue.fog]),vertexShader:an.meshbasic_vert,fragmentShader:an.meshbasic_frag},lambert:{uniforms:xr([Ue.common,Ue.specularmap,Ue.envmap,Ue.aomap,Ue.lightmap,Ue.emissivemap,Ue.fog,Ue.lights,{emissive:{value:new je(0)}}]),vertexShader:an.meshlambert_vert,fragmentShader:an.meshlambert_frag},phong:{uniforms:xr([Ue.common,Ue.specularmap,Ue.envmap,Ue.aomap,Ue.lightmap,Ue.emissivemap,Ue.bumpmap,Ue.normalmap,Ue.displacementmap,Ue.fog,Ue.lights,{emissive:{value:new je(0)},specular:{value:new je(1118481)},shininess:{value:30}}]),vertexShader:an.meshphong_vert,fragmentShader:an.meshphong_frag},standard:{uniforms:xr([Ue.common,Ue.envmap,Ue.aomap,Ue.lightmap,Ue.emissivemap,Ue.bumpmap,Ue.normalmap,Ue.displacementmap,Ue.roughnessmap,Ue.metalnessmap,Ue.fog,Ue.lights,{emissive:{value:new je(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:an.meshphysical_vert,fragmentShader:an.meshphysical_frag},toon:{uniforms:xr([Ue.common,Ue.aomap,Ue.lightmap,Ue.emissivemap,Ue.bumpmap,Ue.normalmap,Ue.displacementmap,Ue.gradientmap,Ue.fog,Ue.lights,{emissive:{value:new je(0)}}]),vertexShader:an.meshtoon_vert,fragmentShader:an.meshtoon_frag},matcap:{uniforms:xr([Ue.common,Ue.bumpmap,Ue.normalmap,Ue.displacementmap,Ue.fog,{matcap:{value:null}}]),vertexShader:an.meshmatcap_vert,fragmentShader:an.meshmatcap_frag},points:{uniforms:xr([Ue.points,Ue.fog]),vertexShader:an.points_vert,fragmentShader:an.points_frag},dashed:{uniforms:xr([Ue.common,Ue.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:an.linedashed_vert,fragmentShader:an.linedashed_frag},depth:{uniforms:xr([Ue.common,Ue.displacementmap]),vertexShader:an.depth_vert,fragmentShader:an.depth_frag},normal:{uniforms:xr([Ue.common,Ue.bumpmap,Ue.normalmap,Ue.displacementmap,{opacity:{value:1}}]),vertexShader:an.meshnormal_vert,fragmentShader:an.meshnormal_frag},sprite:{uniforms:xr([Ue.sprite,Ue.fog]),vertexShader:an.sprite_vert,fragmentShader:an.sprite_frag},background:{uniforms:{uvTransform:{value:new Si},t2D:{value:null}},vertexShader:an.background_vert,fragmentShader:an.background_frag},cube:{uniforms:xr([Ue.envmap,{opacity:{value:1}}]),vertexShader:an.cube_vert,fragmentShader:an.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:an.equirect_vert,fragmentShader:an.equirect_frag},distanceRGBA:{uniforms:xr([Ue.common,Ue.displacementmap,{referencePosition:{value:new O},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:an.distanceRGBA_vert,fragmentShader:an.distanceRGBA_frag},shadow:{uniforms:xr([Ue.lights,Ue.fog,{color:{value:new je(0)},opacity:{value:1}}]),vertexShader:an.shadow_vert,fragmentShader:an.shadow_frag}};xs.physical={uniforms:xr([xs.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatNormalScale:{value:new we(1,1)},clearcoatNormalMap:{value:null},sheen:{value:0},sheenColor:{value:new je(0)},sheenColorMap:{value:null},sheenRoughness:{value:0},sheenRoughnessMap:{value:null},transmission:{value:0},transmissionMap:{value:null},transmissionSamplerSize:{value:new we},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},attenuationDistance:{value:0},attenuationColor:{value:new je(0)},specularIntensity:{value:0},specularIntensityMap:{value:null},specularColor:{value:new je(1,1,1)},specularColorMap:{value:null}}]),vertexShader:an.meshphysical_vert,fragmentShader:an.meshphysical_frag};function $oe(i,e,t,n,r){let o=new je(0),s=0,a,c,l=null,d=0,u=null;function h(f,m){let y=!1,g=m.isScene===!0?m.background:null;g&&g.isTexture&&(g=e.get(g));let _=i.xr,x=_.getSession&&_.getSession();x&&x.environmentBlendMode==="additive"&&(g=null),g===null?p(o,s):g&&g.isColor&&(p(g,1),y=!0),(i.autoClear||y)&&i.clear(i.autoClearColor,i.autoClearDepth,i.autoClearStencil),g&&(g.isCubeTexture||g.mapping===tf)?(c===void 0&&(c=new pi(new ul(1,1,1),new Cs({name:"BackgroundCubeMaterial",uniforms:Np(xs.cube.uniforms),vertexShader:xs.cube.vertexShader,fragmentShader:xs.cube.fragmentShader,side:Ci,depthTest:!1,depthWrite:!1,fog:!1})),c.geometry.deleteAttribute("normal"),c.geometry.deleteAttribute("uv"),c.onBeforeRender=function(C,T,D){this.matrixWorld.copyPosition(D.matrixWorld)},Object.defineProperty(c.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),n.update(c)),c.material.uniforms.envMap.value=g,c.material.uniforms.flipEnvMap.value=g.isCubeTexture&&g.isRenderTargetTexture===!1?-1:1,(l!==g||d!==g.version||u!==i.toneMapping)&&(c.material.needsUpdate=!0,l=g,d=g.version,u=i.toneMapping),f.unshift(c,c.geometry,c.material,0,0,null)):g&&g.isTexture&&(a===void 0&&(a=new pi(new Fp(2,2),new Cs({name:"BackgroundMaterial",uniforms:Np(xs.background.uniforms),vertexShader:xs.background.vertexShader,fragmentShader:xs.background.fragmentShader,side:eu,depthTest:!1,depthWrite:!1,fog:!1})),a.geometry.deleteAttribute("normal"),Object.defineProperty(a.material,"map",{get:function(){return this.uniforms.t2D.value}}),n.update(a)),a.material.uniforms.t2D.value=g,g.matrixAutoUpdate===!0&&g.updateMatrix(),a.material.uniforms.uvTransform.value.copy(g.matrix),(l!==g||d!==g.version||u!==i.toneMapping)&&(a.material.needsUpdate=!0,l=g,d=g.version,u=i.toneMapping),f.unshift(a,a.geometry,a.material,0,0,null))}function p(f,m){t.buffers.color.setClear(f.r,f.g,f.b,m,r)}return{getClearColor:function(){return o},setClearColor:function(f,m=1){o.set(f),s=m,p(o,s)},getClearAlpha:function(){return s},setClearAlpha:function(f){s=f,p(o,s)},render:h}}function qoe(i,e,t,n){let r=i.getParameter(34921),o=n.isWebGL2?null:e.get("OES_vertex_array_object"),s=n.isWebGL2||o!==null,a={},c=m(null),l=c;function d(U,W,Y,k,G){let K=!1;if(s){let de=f(k,Y,W);l!==de&&(l=de,h(l.object)),K=y(k,G),K&&g(k,G)}else{let de=W.wireframe===!0;(l.geometry!==k.id||l.program!==Y.id||l.wireframe!==de)&&(l.geometry=k.id,l.program=Y.id,l.wireframe=de,K=!0)}U.isInstancedMesh===!0&&(K=!0),G!==null&&t.update(G,34963),K&&(E(U,W,Y,k),G!==null&&i.bindBuffer(34963,t.get(G).buffer))}function u(){return n.isWebGL2?i.createVertexArray():o.createVertexArrayOES()}function h(U){return n.isWebGL2?i.bindVertexArray(U):o.bindVertexArrayOES(U)}function p(U){return n.isWebGL2?i.deleteVertexArray(U):o.deleteVertexArrayOES(U)}function f(U,W,Y){let k=Y.wireframe===!0,G=a[U.id];G===void 0&&(G={},a[U.id]=G);let K=G[W.id];K===void 0&&(K={},G[W.id]=K);let de=K[k];return de===void 0&&(de=m(u()),K[k]=de),de}function m(U){let W=[],Y=[],k=[];for(let G=0;G=0){let He=G[De];if(He===void 0&&(De==="instanceMatrix"&&U.instanceMatrix&&(He=U.instanceMatrix),De==="instanceColor"&&U.instanceColor&&(He=U.instanceColor)),He!==void 0){let he=He.normalized,se=He.itemSize,qe=t.get(He);if(qe===void 0)continue;let ue=qe.buffer,Ge=qe.type,ft=qe.bytesPerElement;if(He.isInterleavedBufferAttribute){let ze=He.data,Qe=ze.stride,Ot=He.offset;if(ze&&ze.isInstancedInterleavedBuffer){for(let _e=0;_e0&&i.getShaderPrecisionFormat(35632,36338).precision>0)return"highp";E="mediump"}return E==="mediump"&&i.getShaderPrecisionFormat(35633,36337).precision>0&&i.getShaderPrecisionFormat(35632,36337).precision>0?"mediump":"lowp"}let s=typeof WebGL2RenderingContext<"u"&&i instanceof WebGL2RenderingContext||typeof WebGL2ComputeRenderingContext<"u"&&i instanceof WebGL2ComputeRenderingContext,a=t.precision!==void 0?t.precision:"highp",c=o(a);c!==a&&(console.warn("THREE.WebGLRenderer:",a,"not supported, using",c,"instead."),a=c);let l=s||e.has("WEBGL_draw_buffers"),d=t.logarithmicDepthBuffer===!0,u=i.getParameter(34930),h=i.getParameter(35660),p=i.getParameter(3379),f=i.getParameter(34076),m=i.getParameter(34921),y=i.getParameter(36347),g=i.getParameter(36348),_=i.getParameter(36349),x=h>0,C=s||e.has("OES_texture_float"),T=x&&C,D=s?i.getParameter(36183):0;return{isWebGL2:s,drawBuffers:l,getMaxAnisotropy:r,getMaxPrecision:o,precision:a,logarithmicDepthBuffer:d,maxTextures:u,maxVertexTextures:h,maxTextureSize:p,maxCubemapSize:f,maxAttributes:m,maxVertexUniforms:y,maxVaryings:g,maxFragmentUniforms:_,vertexTextures:x,floatFragmentTextures:C,floatVertexTextures:T,maxSamples:D}}function Zoe(i){let e=this,t=null,n=0,r=!1,o=!1,s=new Xo,a=new Si,c={value:null,needsUpdate:!1};this.uniform=c,this.numPlanes=0,this.numIntersection=0,this.init=function(u,h,p){let f=u.length!==0||h||n!==0||r;return r=h,t=d(u,p,0),n=u.length,f},this.beginShadows=function(){o=!0,d(null)},this.endShadows=function(){o=!1,l()},this.setState=function(u,h,p){let f=u.clippingPlanes,m=u.clipIntersection,y=u.clipShadows,g=i.get(u);if(!r||f===null||f.length===0||o&&!y)o?d(null):l();else{let _=o?0:n,x=_*4,C=g.clippingState||null;c.value=C,C=d(f,h,x,p);for(let T=0;T!==x;++T)C[T]=t[T];g.clippingState=C,this.numIntersection=m?this.numPlanes:0,this.numPlanes+=_}};function l(){c.value!==t&&(c.value=t,c.needsUpdate=n>0),e.numPlanes=n,e.numIntersection=0}function d(u,h,p,f){let m=u!==null?u.length:0,y=null;if(m!==0){if(y=c.value,f!==!0||y===null){let g=p+m*4,_=h.matrixWorldInverse;a.getNormalMatrix(_),(y===null||y.length0){let l=i.getRenderTarget(),d=new Lp(c.height/2);return d.fromEquirectangularTexture(i,s),e.set(s,d),i.setRenderTarget(l),s.addEventListener("dispose",r),t(d.texture,s.mapping)}else return null}}return s}function r(s){let a=s.target;a.removeEventListener("dispose",r);let c=e.get(a);c!==void 0&&(e.delete(a),c.dispose())}function o(){e=new WeakMap}return{get:n,dispose:o}}var ou=class extends iu{constructor(e=-1,t=1,n=1,r=-1,o=.1,s=2e3){super(),this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=e,this.right=t,this.top=n,this.bottom=r,this.near=o,this.far=s,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.left=e.left,this.right=e.right,this.top=e.top,this.bottom=e.bottom,this.near=e.near,this.far=e.far,this.zoom=e.zoom,this.view=e.view===null?null:Object.assign({},e.view),this}setViewOffset(e,t,n,r,o,s){this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=n,this.view.offsetY=r,this.view.width=o,this.view.height=s,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){let e=(this.right-this.left)/(2*this.zoom),t=(this.top-this.bottom)/(2*this.zoom),n=(this.right+this.left)/2,r=(this.top+this.bottom)/2,o=n-e,s=n+e,a=r+t,c=r-t;if(this.view!==null&&this.view.enabled){let l=(this.right-this.left)/this.view.fullWidth/this.zoom,d=(this.top-this.bottom)/this.view.fullHeight/this.zoom;o+=l*this.view.offsetX,s=o+l*this.view.width,a-=d*this.view.offsetY,c=a-d*this.view.height}this.projectionMatrix.makeOrthographic(o,s,a,c,this.near,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){let t=super.toJSON(e);return t.object.zoom=this.zoom,t.object.left=this.left,t.object.right=this.right,t.object.top=this.top,t.object.bottom=this.bottom,t.object.near=this.near,t.object.far=this.far,this.view!==null&&(t.object.view=Object.assign({},this.view)),t}};ou.prototype.isOrthographicCamera=!0;var pl=class extends Cs{constructor(e){super(e),this.type="RawShaderMaterial"}};pl.prototype.isRawShaderMaterial=!0;var Tp=4,ll=8,ia=Math.pow(2,ll),EH=[.125,.215,.35,.446,.526,.582],IH=ll-Tp+1+EH.length,_p=20,fl={[cr]:0,[bl]:1,[tC]:2,[ZP]:3,[QP]:4,[KP]:5,[eC]:6},VD=new ou,{_lodPlanes:Eg,_sizeLods:Nz,_sigmas:Ax}=Joe(),kz=new je,zD=null,$d=(1+Math.sqrt(5))/2,vp=1/$d,Lz=[new O(1,1,1),new O(-1,1,1),new O(1,1,-1),new O(-1,1,-1),new O(0,$d,vp),new O(0,$d,-vp),new O(vp,0,$d),new O(-vp,0,$d),new O($d,vp,0),new O(-$d,vp,0)],mw=class{constructor(e){this._renderer=e,this._pingPongRenderTarget=null,this._blurMaterial=ese(_p),this._equirectShader=null,this._cubemapShader=null,this._compileMaterial(this._blurMaterial)}fromScene(e,t=0,n=.1,r=100){zD=this._renderer.getRenderTarget();let o=this._allocateTargets();return this._sceneToCubeUV(e,n,r,o),t>0&&this._blur(o,0,0,t),this._applyPMREM(o),this._cleanup(o),o}fromEquirectangular(e){return this._fromTexture(e)}fromCubemap(e){return this._fromTexture(e)}compileCubemapShader(){this._cubemapShader===null&&(this._cubemapShader=Vz(),this._compileMaterial(this._cubemapShader))}compileEquirectangularShader(){this._equirectShader===null&&(this._equirectShader=Bz(),this._compileMaterial(this._equirectShader))}dispose(){this._blurMaterial.dispose(),this._cubemapShader!==null&&this._cubemapShader.dispose(),this._equirectShader!==null&&this._equirectShader.dispose();for(let e=0;e2?ia:0,ia,ia),d.setRenderTarget(r),y&&d.render(m,a),d.render(e,a)}m.geometry.dispose(),m.material.dispose(),d.toneMapping=p,d.outputEncoding=h,d.autoClear=u,e.background=g}_setEncoding(e,t){this._renderer.capabilities.isWebGL2===!0&&t.format===sr&&t.type===Ja&&t.encoding===bl?e.value=fl[cr]:e.value=fl[t.encoding]}_textureToCubeUV(e,t){let n=this._renderer,r=e.mapping===_u||e.mapping===vu;r?this._cubemapShader==null&&(this._cubemapShader=Vz()):this._equirectShader==null&&(this._equirectShader=Bz());let o=r?this._cubemapShader:this._equirectShader,s=new pi(Eg[0],o),a=o.uniforms;a.envMap.value=e,r||a.texelSize.value.set(1/e.image.width,1/e.image.height),this._setEncoding(a.inputEncoding,e),this._setEncoding(a.outputEncoding,t.texture),Nx(t,0,0,3*ia,2*ia),n.setRenderTarget(t),n.render(s,VD)}_applyPMREM(e){let t=this._renderer,n=t.autoClear;t.autoClear=!1;for(let r=1;r_p&&console.warn(`sigmaRadians, ${o}, is too large and will clip, as it requested ${y} samples when the maximum is set to ${_p}`);let g=[],_=0;for(let D=0;D<_p;++D){let E=D/m,A=Math.exp(-E*E/2);g.push(A),D==0?_+=A:Dll-Tp?r-ll+Tp:0);Nx(t,C,T,3*x,2*x),c.setRenderTarget(t),c.render(u,VD)}};function Koe(i){return i===void 0||i.type!==Ja?!1:i.encoding===cr||i.encoding===bl||i.encoding===eC}function Joe(){let i=[],e=[],t=[],n=ll;for(let r=0;rll-Tp?s=EH[r-ll+Tp-1]:r==0&&(s=0),t.push(s);let a=1/(o-1),c=-a/2,l=1+a/2,d=[c,c,l,c,l,l,c,c,l,l,c,l],u=6,h=6,p=3,f=2,m=1,y=new Float32Array(p*h*u),g=new Float32Array(f*h*u),_=new Float32Array(m*h*u);for(let C=0;C2?0:-1,E=[T,D,0,T+2/3,D,0,T+2/3,D+1,0,T,D,0,T+2/3,D+1,0,T,D+1,0];y.set(E,p*h*C),g.set(d,f*h*C);let A=[C,C,C,C,C,C];_.set(A,m*h*C)}let x=new Dt;x.setAttribute("position",new un(y,p)),x.setAttribute("uv",new un(g,f)),x.setAttribute("faceIndex",new un(_,m)),i.push(x),n>Tp&&n--}return{_lodPlanes:i,_sizeLods:e,_sigmas:t}}function Fz(i){let e=new So(3*ia,3*ia,i);return e.texture.mapping=tf,e.texture.name="PMREM.cubeUv",e.scissorTest=!0,e}function Nx(i,e,t,n,r){i.viewport.set(e,t,n,r),i.scissor.set(e,t,n,r)}function ese(i){let e=new Float32Array(i),t=new O(0,1,0);return new pl({name:"SphericalGaussianBlur",defines:{n:i},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:e},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:t},inputEncoding:{value:fl[cr]},outputEncoding:{value:fl[cr]}},vertexShader:eO(),fragmentShader:` precision mediump float; precision mediump int; @@ -2907,7 +2907,7 @@ void main() { gl_FragColor = linearToOutputTexel( gl_FragColor ); } - `,blending:Za,depthTest:!1,depthWrite:!1})}function kz(){let i=new xe(1,1);return new dc({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null},texelSize:{value:i},inputEncoding:{value:uc[sr]},outputEncoding:{value:uc[sr]}},vertexShader:eO(),fragmentShader:` + `,blending:Qa,depthTest:!1,depthWrite:!1})}function Bz(){let i=new we(1,1);return new pl({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null},texelSize:{value:i},inputEncoding:{value:fl[cr]},outputEncoding:{value:fl[cr]}},vertexShader:eO(),fragmentShader:` precision mediump float; precision mediump int; @@ -2945,7 +2945,7 @@ void main() { gl_FragColor = linearToOutputTexel( gl_FragColor ); } - `,blending:Za,depthTest:!1,depthWrite:!1})}function Lz(){return new dc({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},inputEncoding:{value:uc[sr]},outputEncoding:{value:uc[sr]}},vertexShader:eO(),fragmentShader:` + `,blending:Qa,depthTest:!1,depthWrite:!1})}function Vz(){return new pl({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},inputEncoding:{value:fl[cr]},outputEncoding:{value:fl[cr]}},vertexShader:eO(),fragmentShader:` precision mediump float; precision mediump int; @@ -2963,7 +2963,7 @@ void main() { gl_FragColor = linearToOutputTexel( gl_FragColor ); } - `,blending:Za,depthTest:!1,depthWrite:!1})}function eO(){return` + `,blending:Qa,depthTest:!1,depthWrite:!1})}function eO(){return` precision mediump float; precision mediump int; @@ -3100,39 +3100,39 @@ void main() { return inputTexelToLinear( color ); } - `}function $oe(i){let e=new WeakMap,t=null;function n(a){if(a&&a.isTexture&&a.isRenderTargetTexture===!1){let l=a.mapping,c=l===kg||l===Lg,d=l===pu||l===fu;if(c||d){if(e.has(a))return e.get(a).texture;{let u=a.image;if(c&&u&&u.height>0||d&&u&&r(u)){let h=i.getRenderTarget();t===null&&(t=new pw(i));let p=c?t.fromEquirectangular(a):t.fromCubemap(a);return e.set(a,p),i.setRenderTarget(h),a.addEventListener("dispose",o),p.texture}else return null}}}return a}function r(a){let l=0,c=6;for(let d=0;d65535?Dp:Tp)(h,1);y.version=m;let g=o.get(u);g&&e.remove(g),o.set(u,y)}function d(u){let h=o.get(u);if(h){let p=u.index;p!==null&&h.versione.maxTextureSize&&(P=Math.ceil(E/e.maxTextureSize),E=e.maxTextureSize);let Y=new Float32Array(E*P*4*f),$=new Np(Y,E,P,f);$.format=rr,$.type=na;let U=D*4;for(let O=0;O0)return i;let r=e*t,o=Bz[r];if(o===void 0&&(o=new Float32Array(r),Bz[r]=o),e!==0){n.toArray(o,0);for(let s=1,a=0;s!==e;++s)a+=t,i[s].toArray(o,a)}return o}function Gr(i,e){if(i.length!==e.length)return!1;for(let t=0,n=i.length;t0||d&&u&&r(u)){let h=i.getRenderTarget();t===null&&(t=new mw(i));let p=l?t.fromEquirectangular(a):t.fromCubemap(a);return e.set(a,p),i.setRenderTarget(h),a.addEventListener("dispose",o),p.texture}else return null}}}return a}function r(a){let c=0,l=6;for(let d=0;d65535?Ap:Rp)(h,1);y.version=m;let g=o.get(u);g&&e.remove(g),o.set(u,y)}function d(u){let h=o.get(u);if(h){let p=u.index;p!==null&&h.versione.maxTextureSize&&(A=Math.ceil(E/e.maxTextureSize),E=e.maxTextureSize);let j=new Float32Array(E*A*4*f),q=new Bp(j,E,A,f);q.format=sr,q.type=ra;let z=D*4;for(let P=0;P0)return i;let r=e*t,o=Uz[r];if(o===void 0&&(o=new Float32Array(r),Uz[r]=o),e!==0){n.toArray(o,0);for(let s=1,a=0;s!==e;++s)a+=t,i[s].toArray(o,a)}return o}function Yr(i,e){if(i.length!==e.length)return!1;for(let t=0,n=i.length;t/gm;function mP(i){return i.replace(Zse,Qse)}function Qse(i,e){let t=rn[e];if(t===void 0)throw new Error("Can not resolve #include <"+e+">");return mP(t)}var Kse=/#pragma unroll_loop[\s]+?for \( int i \= (\d+)\; i < (\d+)\; i \+\+ \) \{([\s\S]+?)(?=\})\}/g,Jse=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function Yz(i){return i.replace(Jse,OH).replace(Kse,eae)}function eae(i,e,t,n){return console.warn("WebGLProgram: #pragma unroll_loop shader syntax is deprecated. Please use #pragma unroll_loop_start syntax instead."),OH(i,e,t,n)}function OH(i,e,t,n){let r="";for(let o=parseInt(e);o/gm;function mP(i){return i.replace(oae,sae)}function sae(i,e){let t=an[e];if(t===void 0)throw new Error("Can not resolve #include <"+e+">");return mP(t)}var aae=/#pragma unroll_loop[\s]+?for \( int i \= (\d+)\; i < (\d+)\; i \+\+ \) \{([\s\S]+?)(?=\})\}/g,cae=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function Qz(i){return i.replace(cae,NH).replace(aae,lae)}function lae(i,e,t,n){return console.warn("WebGLProgram: #pragma unroll_loop shader syntax is deprecated. Please use #pragma unroll_loop_start syntax instead."),NH(i,e,t,n)}function NH(i,e,t,n){let r="";for(let o=parseInt(e);o0?i.gammaFactor:1,p=t.isWebGL2?"":qse(t),f=Yse(o),m=r.createProgram(),y,g,_=t.glslVersion?"#version "+t.glslVersion+` -`:"";t.isRawShaderMaterial?(y=[f].filter(Dg).join(` +#define LOW_PRECISION`),e}function dae(i){let e="SHADOWMAP_TYPE_BASIC";return i.shadowMapType===jP?e="SHADOWMAP_TYPE_PCF":i.shadowMapType===qU?e="SHADOWMAP_TYPE_PCF_SOFT":i.shadowMapType===Cp&&(e="SHADOWMAP_TYPE_VSM"),e}function uae(i){let e="ENVMAP_TYPE_CUBE";if(i.envMap)switch(i.envMapMode){case _u:case vu:e="ENVMAP_TYPE_CUBE";break;case tf:case H_:e="ENVMAP_TYPE_CUBE_UV";break}return e}function hae(i){let e="ENVMAP_MODE_REFLECTION";if(i.envMap)switch(i.envMapMode){case vu:case H_:e="ENVMAP_MODE_REFRACTION";break}return e}function pae(i){let e="ENVMAP_BLENDING_NONE";if(i.envMap)switch(i.combine){case U_:e="ENVMAP_BLENDING_MULTIPLY";break;case p4:e="ENVMAP_BLENDING_MIX";break;case f4:e="ENVMAP_BLENDING_ADD";break}return e}function fae(i,e,t,n){let r=i.getContext(),o=t.defines,s=t.vertexShader,a=t.fragmentShader,c=dae(t),l=uae(t),d=hae(t),u=pae(t),h=i.gammaFactor>0?i.gammaFactor:1,p=t.isWebGL2?"":nae(t),f=iae(o),m=r.createProgram(),y,g,_=t.glslVersion?"#version "+t.glslVersion+` +`:"";t.isRawShaderMaterial?(y=[f].filter(Rg).join(` `),y.length>0&&(y+=` -`),g=[p,f].filter(Dg).join(` +`),g=[p,f].filter(Rg).join(` `),g.length>0&&(g+=` -`)):(y=[Xz(t),"#define SHADER_NAME "+t.shaderName,f,t.instancing?"#define USE_INSTANCING":"",t.instancingColor?"#define USE_INSTANCING_COLOR":"",t.supportsVertexTextures?"#define VERTEX_TEXTURES":"","#define GAMMA_FACTOR "+h,"#define MAX_BONES "+t.maxBones,t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.map?"#define USE_MAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+d:"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMap&&t.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",t.normalMap&&t.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.displacementMap&&t.supportsVertexTextures?"#define USE_DISPLACEMENTMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularIntensityMap?"#define USE_SPECULARINTENSITYMAP":"",t.specularColorMap?"#define USE_SPECULARCOLORMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.sheenColorMap?"#define USE_SHEENCOLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEENROUGHNESSMAP":"",t.vertexTangents?"#define USE_TANGENT":"",t.vertexColors?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUvs?"#define USE_UV":"",t.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",t.flatShading?"#define FLAT_SHADED":"",t.skinning?"#define USE_SKINNING":"",t.useVertexTexture?"#define BONE_TEXTURE":"",t.morphTargets?"#define USE_MORPHTARGETS":"",t.morphNormals&&t.flatShading===!1?"#define USE_MORPHNORMALS":"",t.morphTargets&&t.isWebGL2?"#define MORPHTARGETS_TEXTURE":"",t.morphTargets&&t.isWebGL2?"#define MORPHTARGETS_COUNT "+t.morphTargetsCount:"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.sizeAttenuation?"#define USE_SIZEATTENUATION":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.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","#ifdef USE_INSTANCING_COLOR"," attribute vec3 instanceColor;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_TANGENT"," attribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )"," attribute vec4 color;","#elif defined( USE_COLOR )"," attribute vec3 color;","#endif","#if ( defined( USE_MORPHTARGETS ) && ! defined( MORPHTARGETS_TEXTURE ) )"," attribute vec3 morphTarget0;"," attribute vec3 morphTarget1;"," attribute vec3 morphTarget2;"," attribute vec3 morphTarget3;"," #ifdef USE_MORPHNORMALS"," attribute vec3 morphNormal0;"," attribute vec3 morphNormal1;"," attribute vec3 morphNormal2;"," attribute vec3 morphNormal3;"," #else"," attribute vec3 morphTarget4;"," attribute vec3 morphTarget5;"," attribute vec3 morphTarget6;"," attribute vec3 morphTarget7;"," #endif","#endif","#ifdef USE_SKINNING"," attribute vec4 skinIndex;"," attribute vec4 skinWeight;","#endif",` -`].filter(Dg).join(` -`),g=[p,Xz(t),"#define SHADER_NAME "+t.shaderName,f,"#define GAMMA_FACTOR "+h,t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.map?"#define USE_MAP":"",t.matcap?"#define USE_MATCAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+c:"",t.envMap?"#define "+d:"",t.envMap?"#define "+u:"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMap&&t.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",t.normalMap&&t.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",t.clearcoat?"#define USE_CLEARCOAT":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularIntensityMap?"#define USE_SPECULARINTENSITYMAP":"",t.specularColorMap?"#define USE_SPECULARCOLORMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaTest?"#define USE_ALPHATEST":"",t.sheen?"#define USE_SHEEN":"",t.sheenColorMap?"#define USE_SHEENCOLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEENROUGHNESSMAP":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.vertexTangents?"#define USE_TANGENT":"",t.vertexColors||t.instancingColor?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUvs?"#define USE_UV":"",t.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",t.gradientMap?"#define USE_GRADIENTMAP":"",t.flatShading?"#define FLAT_SHADED":"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",t.physicallyCorrectLights?"#define PHYSICALLY_CORRECT_LIGHTS":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"",(t.extensionShaderTextureLOD||t.envMap)&&t.rendererExtensionShaderTextureLod?"#define TEXTURE_LOD_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",t.toneMapping!==oc?"#define TONE_MAPPING":"",t.toneMapping!==oc?rn.tonemapping_pars_fragment:"",t.toneMapping!==oc?$se("toneMapping",t.toneMapping):"",t.dithering?"#define DITHERING":"",t.format===qd?"#define OPAQUE":"",rn.encodings_pars_fragment,t.map?Fd("mapTexelToLinear",t.mapEncoding):"",t.matcap?Fd("matcapTexelToLinear",t.matcapEncoding):"",t.envMap?Fd("envMapTexelToLinear",t.envMapEncoding):"",t.emissiveMap?Fd("emissiveMapTexelToLinear",t.emissiveMapEncoding):"",t.specularColorMap?Fd("specularColorMapTexelToLinear",t.specularColorMapEncoding):"",t.sheenColorMap?Fd("sheenColorMapTexelToLinear",t.sheenColorMapEncoding):"",t.lightMap?Fd("lightMapTexelToLinear",t.lightMapEncoding):"",Wse("linearToOutputTexel",t.outputEncoding),t.depthPacking?"#define DEPTH_PACKING "+t.depthPacking:"",` -`].filter(Dg).join(` -`)),s=mP(s),s=$z(s,t),s=qz(s,t),a=mP(a),a=$z(a,t),a=qz(a,t),s=Yz(s),a=Yz(a),t.isWebGL2&&t.isRawShaderMaterial!==!0&&(_=`#version 300 es +`)):(y=[Kz(t),"#define SHADER_NAME "+t.shaderName,f,t.instancing?"#define USE_INSTANCING":"",t.instancingColor?"#define USE_INSTANCING_COLOR":"",t.supportsVertexTextures?"#define VERTEX_TEXTURES":"","#define GAMMA_FACTOR "+h,"#define MAX_BONES "+t.maxBones,t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.map?"#define USE_MAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+d:"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMap&&t.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",t.normalMap&&t.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.displacementMap&&t.supportsVertexTextures?"#define USE_DISPLACEMENTMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularIntensityMap?"#define USE_SPECULARINTENSITYMAP":"",t.specularColorMap?"#define USE_SPECULARCOLORMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.sheenColorMap?"#define USE_SHEENCOLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEENROUGHNESSMAP":"",t.vertexTangents?"#define USE_TANGENT":"",t.vertexColors?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUvs?"#define USE_UV":"",t.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",t.flatShading?"#define FLAT_SHADED":"",t.skinning?"#define USE_SKINNING":"",t.useVertexTexture?"#define BONE_TEXTURE":"",t.morphTargets?"#define USE_MORPHTARGETS":"",t.morphNormals&&t.flatShading===!1?"#define USE_MORPHNORMALS":"",t.morphTargets&&t.isWebGL2?"#define MORPHTARGETS_TEXTURE":"",t.morphTargets&&t.isWebGL2?"#define MORPHTARGETS_COUNT "+t.morphTargetsCount:"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+c:"",t.sizeAttenuation?"#define USE_SIZEATTENUATION":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.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","#ifdef USE_INSTANCING_COLOR"," attribute vec3 instanceColor;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_TANGENT"," attribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )"," attribute vec4 color;","#elif defined( USE_COLOR )"," attribute vec3 color;","#endif","#if ( defined( USE_MORPHTARGETS ) && ! defined( MORPHTARGETS_TEXTURE ) )"," attribute vec3 morphTarget0;"," attribute vec3 morphTarget1;"," attribute vec3 morphTarget2;"," attribute vec3 morphTarget3;"," #ifdef USE_MORPHNORMALS"," attribute vec3 morphNormal0;"," attribute vec3 morphNormal1;"," attribute vec3 morphNormal2;"," attribute vec3 morphNormal3;"," #else"," attribute vec3 morphTarget4;"," attribute vec3 morphTarget5;"," attribute vec3 morphTarget6;"," attribute vec3 morphTarget7;"," #endif","#endif","#ifdef USE_SKINNING"," attribute vec4 skinIndex;"," attribute vec4 skinWeight;","#endif",` +`].filter(Rg).join(` +`),g=[p,Kz(t),"#define SHADER_NAME "+t.shaderName,f,"#define GAMMA_FACTOR "+h,t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.map?"#define USE_MAP":"",t.matcap?"#define USE_MATCAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+l:"",t.envMap?"#define "+d:"",t.envMap?"#define "+u:"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMap&&t.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",t.normalMap&&t.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",t.clearcoat?"#define USE_CLEARCOAT":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularIntensityMap?"#define USE_SPECULARINTENSITYMAP":"",t.specularColorMap?"#define USE_SPECULARCOLORMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaTest?"#define USE_ALPHATEST":"",t.sheen?"#define USE_SHEEN":"",t.sheenColorMap?"#define USE_SHEENCOLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEENROUGHNESSMAP":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.vertexTangents?"#define USE_TANGENT":"",t.vertexColors||t.instancingColor?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUvs?"#define USE_UV":"",t.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",t.gradientMap?"#define USE_GRADIENTMAP":"",t.flatShading?"#define FLAT_SHADED":"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+c:"",t.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",t.physicallyCorrectLights?"#define PHYSICALLY_CORRECT_LIGHTS":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"",(t.extensionShaderTextureLOD||t.envMap)&&t.rendererExtensionShaderTextureLod?"#define TEXTURE_LOD_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",t.toneMapping!==cl?"#define TONE_MAPPING":"",t.toneMapping!==cl?an.tonemapping_pars_fragment:"",t.toneMapping!==cl?tae("toneMapping",t.toneMapping):"",t.dithering?"#define DITHERING":"",t.format===Qd?"#define OPAQUE":"",an.encodings_pars_fragment,t.map?Ud("mapTexelToLinear",t.mapEncoding):"",t.matcap?Ud("matcapTexelToLinear",t.matcapEncoding):"",t.envMap?Ud("envMapTexelToLinear",t.envMapEncoding):"",t.emissiveMap?Ud("emissiveMapTexelToLinear",t.emissiveMapEncoding):"",t.specularColorMap?Ud("specularColorMapTexelToLinear",t.specularColorMapEncoding):"",t.sheenColorMap?Ud("sheenColorMapTexelToLinear",t.sheenColorMapEncoding):"",t.lightMap?Ud("lightMapTexelToLinear",t.lightMapEncoding):"",eae("linearToOutputTexel",t.outputEncoding),t.depthPacking?"#define DEPTH_PACKING "+t.depthPacking:"",` +`].filter(Rg).join(` +`)),s=mP(s),s=Xz(s,t),s=Zz(s,t),a=mP(a),a=Xz(a,t),a=Zz(a,t),s=Qz(s),a=Qz(a),t.isWebGL2&&t.isRawShaderMaterial!==!0&&(_=`#version 300 es `,y=["precision mediump sampler2DArray;","#define attribute in","#define varying out","#define texture2D texture"].join(` `)+` `+y,g=["#define varying in",t.glslVersion===pP?"":"out highp vec4 pc_fragColor;",t.glslVersion===pP?"":"#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(` `)+` -`+g);let x=_+y+s,C=_+g+a,T=jz(r,35633,x),D=jz(r,35632,C);if(r.attachShader(m,T),r.attachShader(m,D),t.index0AttributeName!==void 0?r.bindAttribLocation(m,0,t.index0AttributeName):t.morphTargets===!0&&r.bindAttribLocation(m,0,"position"),r.linkProgram(m),i.debug.checkShaderErrors){let Y=r.getProgramInfoLog(m).trim(),$=r.getShaderInfoLog(T).trim(),U=r.getShaderInfoLog(D).trim(),O=!0,B=!0;if(r.getProgramParameter(m,35714)===!1){O=!1;let j=Wz(r,T,"vertex"),q=Wz(r,D,"fragment");console.error("THREE.WebGLProgram: Shader Error "+r.getError()+" - VALIDATE_STATUS "+r.getProgramParameter(m,35715)+` +`+g);let x=_+y+s,C=_+g+a,T=qz(r,35633,x),D=qz(r,35632,C);if(r.attachShader(m,T),r.attachShader(m,D),t.index0AttributeName!==void 0?r.bindAttribLocation(m,0,t.index0AttributeName):t.morphTargets===!0&&r.bindAttribLocation(m,0,"position"),r.linkProgram(m),i.debug.checkShaderErrors){let j=r.getProgramInfoLog(m).trim(),q=r.getShaderInfoLog(T).trim(),z=r.getShaderInfoLog(D).trim(),P=!0,U=!0;if(r.getProgramParameter(m,35714)===!1){P=!1;let W=Yz(r,T,"vertex"),Y=Yz(r,D,"fragment");console.error("THREE.WebGLProgram: Shader Error "+r.getError()+" - VALIDATE_STATUS "+r.getProgramParameter(m,35715)+` -Program Info Log: `+Y+` -`+j+` -`+q)}else Y!==""?console.warn("THREE.WebGLProgram: Program Info Log:",Y):($===""||U==="")&&(B=!1);B&&(this.diagnostics={runnable:O,programLog:Y,vertexShader:{log:$,prefix:y},fragmentShader:{log:U,prefix:g}})}r.deleteShader(T),r.deleteShader(D);let E;this.getUniforms=function(){return E===void 0&&(E=new ac(r,m)),E};let P;return this.getAttributes=function(){return P===void 0&&(P=Xse(r,m)),P},this.destroy=function(){n.releaseStatesOfProgram(this),r.deleteProgram(m),this.program=void 0},this.name=t.shaderName,this.id=Gse++,this.cacheKey=e,this.usedTimes=1,this.program=m,this.vertexShader=T,this.fragmentShader=D,this}function sae(i,e,t,n,r,o,s){let a=[],l=r.isWebGL2,c=r.logarithmicDepthBuffer,d=r.floatVertexTextures,u=r.maxVertexUniforms,h=r.vertexTextures,p=r.precision,f={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"},m=["precision","isWebGL2","supportsVertexTextures","outputEncoding","instancing","instancingColor","map","mapEncoding","matcap","matcapEncoding","envMap","envMapMode","envMapEncoding","envMapCubeUV","lightMap","lightMapEncoding","aoMap","emissiveMap","emissiveMapEncoding","bumpMap","normalMap","objectSpaceNormalMap","tangentSpaceNormalMap","clearcoat","clearcoatMap","clearcoatRoughnessMap","clearcoatNormalMap","displacementMap","specularMap",,"roughnessMap","metalnessMap","gradientMap","alphaMap","alphaTest","combine","vertexColors","vertexAlphas","vertexTangents","vertexUvs","uvsVertexOnly","fog","useFog","fogExp2","flatShading","sizeAttenuation","logarithmicDepthBuffer","skinning","maxBones","useVertexTexture","morphTargets","morphNormals","morphTargetsCount","premultipliedAlpha","numDirLights","numPointLights","numSpotLights","numHemiLights","numRectAreaLights","numDirLightShadows","numPointLightShadows","numSpotLightShadows","shadowMapEnabled","shadowMapType","toneMapping","physicallyCorrectLights","doubleSided","flipSided","numClippingPlanes","numClipIntersection","depthPacking","dithering","format","specularIntensityMap","specularColorMap","specularColorMapEncoding","transmission","transmissionMap","thicknessMap","sheen","sheenColorMap","sheenColorMapEncoding","sheenRoughnessMap"];function y(E){let Y=E.skeleton.bones;if(d)return 1024;{let U=Math.floor((u-20)/4),O=Math.min(U,Y.length);return O0,Ee=E.clearcoat>0;return{isWebGL2:l,shaderID:q,shaderName:E.type,vertexShader:G,fragmentShader:K,defines:E.defines,isRawShaderMaterial:E.isRawShaderMaterial===!0,glslVersion:E.glslVersion,precision:p,instancing:U.isInstancedMesh===!0,instancingColor:U.isInstancedMesh===!0&&U.instanceColor!==null,supportsVertexTextures:h,outputEncoding:de!==null?g(de.texture):i.outputEncoding,map:!!E.map,mapEncoding:g(E.map),matcap:!!E.matcap,matcapEncoding:g(E.matcap),envMap:!!j,envMapMode:j&&j.mapping,envMapEncoding:g(j),envMapCubeUV:!!j&&(j.mapping===Qp||j.mapping===V_),lightMap:!!E.lightMap,lightMapEncoding:g(E.lightMap),aoMap:!!E.aoMap,emissiveMap:!!E.emissiveMap,emissiveMapEncoding:g(E.emissiveMap),bumpMap:!!E.bumpMap,normalMap:!!E.normalMap,objectSpaceNormalMap:E.normalMapType===gH,tangentSpaceNormalMap:E.normalMapType===gu,clearcoat:Ee,clearcoatMap:Ee&&!!E.clearcoatMap,clearcoatRoughnessMap:Ee&&!!E.clearcoatRoughnessMap,clearcoatNormalMap:Ee&&!!E.clearcoatNormalMap,displacementMap:!!E.displacementMap,roughnessMap:!!E.roughnessMap,metalnessMap:!!E.metalnessMap,specularMap:!!E.specularMap,specularIntensityMap:!!E.specularIntensityMap,specularColorMap:!!E.specularColorMap,specularColorMapEncoding:g(E.specularColorMap),alphaMap:!!E.alphaMap,alphaTest:De,gradientMap:!!E.gradientMap,sheen:E.sheen>0,sheenColorMap:!!E.sheenColorMap,sheenColorMapEncoding:g(E.sheenColorMap),sheenRoughnessMap:!!E.sheenRoughnessMap,transmission:E.transmission>0,transmissionMap:!!E.transmissionMap,thicknessMap:!!E.thicknessMap,combine:E.combine,vertexTangents:!!E.normalMap&&!!U.geometry&&!!U.geometry.attributes.tangent,vertexColors:E.vertexColors,vertexAlphas:E.vertexColors===!0&&!!U.geometry&&!!U.geometry.attributes.color&&U.geometry.attributes.color.itemSize===4,vertexUvs:!!E.map||!!E.bumpMap||!!E.normalMap||!!E.specularMap||!!E.alphaMap||!!E.emissiveMap||!!E.roughnessMap||!!E.metalnessMap||!!E.clearcoatMap||!!E.clearcoatRoughnessMap||!!E.clearcoatNormalMap||!!E.displacementMap||!!E.transmissionMap||!!E.thicknessMap||!!E.specularIntensityMap||!!E.specularColorMap||!!E.sheenColorMap||E.sheenRoughnessMap,uvsVertexOnly:!(E.map||E.bumpMap||E.normalMap||E.specularMap||E.alphaMap||E.emissiveMap||E.roughnessMap||E.metalnessMap||E.clearcoatNormalMap||E.transmission>0||E.transmissionMap||E.thicknessMap||E.specularIntensityMap||E.specularColorMap||!!E.sheen>0||E.sheenColorMap||E.sheenRoughnessMap)&&!!E.displacementMap,fog:!!O,useFog:E.fog,fogExp2:O&&O.isFogExp2,flatShading:!!E.flatShading,sizeAttenuation:E.sizeAttenuation,logarithmicDepthBuffer:c,skinning:U.isSkinnedMesh===!0&&k>0,maxBones:k,useVertexTexture:d,morphTargets:!!U.geometry&&!!U.geometry.morphAttributes.position,morphNormals:!!U.geometry&&!!U.geometry.morphAttributes.normal,morphTargetsCount:U.geometry&&U.geometry.morphAttributes.position?U.geometry.morphAttributes.position.length:0,numDirLights:P.directional.length,numPointLights:P.point.length,numSpotLights:P.spot.length,numRectAreaLights:P.rectArea.length,numHemiLights:P.hemi.length,numDirLightShadows:P.directionalShadowMap.length,numPointLightShadows:P.pointShadowMap.length,numSpotLightShadows:P.spotShadowMap.length,numClippingPlanes:s.numPlanes,numClipIntersection:s.numIntersection,format:E.format,dithering:E.dithering,shadowMapEnabled:i.shadowMap.enabled&&Y.length>0,shadowMapType:i.shadowMap.type,toneMapping:E.toneMapped?i.toneMapping:oc,physicallyCorrectLights:i.physicallyCorrectLights,premultipliedAlpha:E.premultipliedAlpha,doubleSided:E.side===Qd,flipSided:E.side===yi,depthPacking:E.depthPacking!==void 0?E.depthPacking:!1,index0AttributeName:E.index0AttributeName,extensionDerivatives:E.extensions&&E.extensions.derivatives,extensionFragDepth:E.extensions&&E.extensions.fragDepth,extensionDrawBuffers:E.extensions&&E.extensions.drawBuffers,extensionShaderTextureLOD:E.extensions&&E.extensions.shaderTextureLOD,rendererExtensionFragDepth:l||n.has("EXT_frag_depth"),rendererExtensionDrawBuffers:l||n.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:l||n.has("EXT_shader_texture_lod"),customProgramCacheKey:E.customProgramCacheKey()}}function x(E){let P=[];if(E.shaderID?P.push(E.shaderID):(P.push(vz(E.fragmentShader)),P.push(vz(E.vertexShader))),E.defines!==void 0)for(let Y in E.defines)P.push(Y),P.push(E.defines[Y]);if(E.isRawShaderMaterial===!1){for(let Y=0;Y0?r.push(x):m.transparent===!0?o.push(x):n.push(x)}function d(p,f,m,y,g,_){let x=l(p,f,m,y,g,_);m.transmission>0?r.unshift(x):m.transparent===!0?o.unshift(x):n.unshift(x)}function u(p,f){n.length>1&&n.sort(p||lae),r.length>1&&r.sort(f||Zz),o.length>1&&o.sort(f||Zz)}function h(){for(let p=t,f=e.length;p=e.get(r).length?(s=new Qz(i),e.get(r).push(s)):s=e.get(r)[o],s}function n(){e=new WeakMap}return{get:t,dispose:n}}function dae(){let i={};return{get:function(e){if(i[e.id]!==void 0)return i[e.id];let t;switch(e.type){case"DirectionalLight":t={direction:new R,color:new je};break;case"SpotLight":t={position:new R,direction:new R,color:new je,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":t={position:new R,color:new je,distance:0,decay:0};break;case"HemisphereLight":t={direction:new R,skyColor:new je,groundColor:new je};break;case"RectAreaLight":t={color:new je,position:new R,halfWidth:new R,halfHeight:new R};break}return i[e.id]=t,t}}}function uae(){let i={};return{get:function(e){if(i[e.id]!==void 0)return i[e.id];let t;switch(e.type){case"DirectionalLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new xe};break;case"SpotLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new xe};break;case"PointLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new xe,shadowCameraNear:1,shadowCameraFar:1e3};break}return i[e.id]=t,t}}}var hae=0;function pae(i,e){return(e.castShadow?1:0)-(i.castShadow?1:0)}function fae(i,e){let t=new dae,n=uae(),r={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotShadow:[],spotShadowMap:[],spotShadowMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[]};for(let d=0;d<9;d++)r.probe.push(new R);let o=new R,s=new ct,a=new ct;function l(d,u){let h=0,p=0,f=0;for(let Y=0;Y<9;Y++)r.probe[Y].set(0,0,0);let m=0,y=0,g=0,_=0,x=0,C=0,T=0,D=0;d.sort(pae);let E=u!==!0?Math.PI:1;for(let Y=0,$=d.length;Y<$;Y++){let U=d[Y],O=U.color,B=U.intensity,j=U.distance,q=U.shadow&&U.shadow.map?U.shadow.map.texture:null;if(U.isAmbientLight)h+=O.r*B*E,p+=O.g*B*E,f+=O.b*B*E;else if(U.isLightProbe)for(let k=0;k<9;k++)r.probe[k].addScaledVector(U.sh.coefficients[k],B);else if(U.isDirectionalLight){let k=t.get(U);if(k.color.copy(U.color).multiplyScalar(U.intensity*E),U.castShadow){let G=U.shadow,K=n.get(U);K.shadowBias=G.bias,K.shadowNormalBias=G.normalBias,K.shadowRadius=G.radius,K.shadowMapSize=G.mapSize,r.directionalShadow[m]=K,r.directionalShadowMap[m]=q,r.directionalShadowMatrix[m]=U.shadow.matrix,C++}r.directional[m]=k,m++}else if(U.isSpotLight){let k=t.get(U);if(k.position.setFromMatrixPosition(U.matrixWorld),k.color.copy(O).multiplyScalar(B*E),k.distance=j,k.coneCos=Math.cos(U.angle),k.penumbraCos=Math.cos(U.angle*(1-U.penumbra)),k.decay=U.decay,U.castShadow){let G=U.shadow,K=n.get(U);K.shadowBias=G.bias,K.shadowNormalBias=G.normalBias,K.shadowRadius=G.radius,K.shadowMapSize=G.mapSize,r.spotShadow[g]=K,r.spotShadowMap[g]=q,r.spotShadowMatrix[g]=U.shadow.matrix,D++}r.spot[g]=k,g++}else if(U.isRectAreaLight){let k=t.get(U);k.color.copy(O).multiplyScalar(B),k.halfWidth.set(U.width*.5,0,0),k.halfHeight.set(0,U.height*.5,0),r.rectArea[_]=k,_++}else if(U.isPointLight){let k=t.get(U);if(k.color.copy(U.color).multiplyScalar(U.intensity*E),k.distance=U.distance,k.decay=U.decay,U.castShadow){let G=U.shadow,K=n.get(U);K.shadowBias=G.bias,K.shadowNormalBias=G.normalBias,K.shadowRadius=G.radius,K.shadowMapSize=G.mapSize,K.shadowCameraNear=G.camera.near,K.shadowCameraFar=G.camera.far,r.pointShadow[y]=K,r.pointShadowMap[y]=q,r.pointShadowMatrix[y]=U.shadow.matrix,T++}r.point[y]=k,y++}else if(U.isHemisphereLight){let k=t.get(U);k.skyColor.copy(U.color).multiplyScalar(B*E),k.groundColor.copy(U.groundColor).multiplyScalar(B*E),r.hemi[x]=k,x++}}_>0&&(e.isWebGL2||i.has("OES_texture_float_linear")===!0?(r.rectAreaLTC1=Ue.LTC_FLOAT_1,r.rectAreaLTC2=Ue.LTC_FLOAT_2):i.has("OES_texture_half_float_linear")===!0?(r.rectAreaLTC1=Ue.LTC_HALF_1,r.rectAreaLTC2=Ue.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),r.ambient[0]=h,r.ambient[1]=p,r.ambient[2]=f;let P=r.hash;(P.directionalLength!==m||P.pointLength!==y||P.spotLength!==g||P.rectAreaLength!==_||P.hemiLength!==x||P.numDirectionalShadows!==C||P.numPointShadows!==T||P.numSpotShadows!==D)&&(r.directional.length=m,r.spot.length=g,r.rectArea.length=_,r.point.length=y,r.hemi.length=x,r.directionalShadow.length=C,r.directionalShadowMap.length=C,r.pointShadow.length=T,r.pointShadowMap.length=T,r.spotShadow.length=D,r.spotShadowMap.length=D,r.directionalShadowMatrix.length=C,r.pointShadowMatrix.length=T,r.spotShadowMatrix.length=D,P.directionalLength=m,P.pointLength=y,P.spotLength=g,P.rectAreaLength=_,P.hemiLength=x,P.numDirectionalShadows=C,P.numPointShadows=T,P.numSpotShadows=D,r.version=hae++)}function c(d,u){let h=0,p=0,f=0,m=0,y=0,g=u.matrixWorldInverse;for(let _=0,x=d.length;_=t.get(o).length?(a=new Kz(i,e),t.get(o).push(a)):a=t.get(o)[s],a}function r(){t=new WeakMap}return{get:n,dispose:r}}var kp=class extends Ti{constructor(e){super(),this.type="MeshDepthMaterial",this.depthPacking=fH,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(e)}copy(e){return super.copy(e),this.depthPacking=e.depthPacking,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this}};kp.prototype.isMeshDepthMaterial=!0;var Lp=class extends Ti{constructor(e){super(),this.type="MeshDistanceMaterial",this.referencePosition=new R,this.nearDistance=1,this.farDistance=1e3,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.fog=!1,this.setValues(e)}copy(e){return super.copy(e),this.referencePosition.copy(e.referencePosition),this.nearDistance=e.nearDistance,this.farDistance=e.farDistance,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this}};Lp.prototype.isMeshDistanceMaterial=!0;var gae=`void main() { +Program Info Log: `+j+` +`+W+` +`+Y)}else j!==""?console.warn("THREE.WebGLProgram: Program Info Log:",j):(q===""||z==="")&&(U=!1);U&&(this.diagnostics={runnable:P,programLog:j,vertexShader:{log:q,prefix:y},fragmentShader:{log:z,prefix:g}})}r.deleteShader(T),r.deleteShader(D);let E;this.getUniforms=function(){return E===void 0&&(E=new dl(r,m)),E};let A;return this.getAttributes=function(){return A===void 0&&(A=rae(r,m)),A},this.destroy=function(){n.releaseStatesOfProgram(this),r.deleteProgram(m),this.program=void 0},this.name=t.shaderName,this.id=Kse++,this.cacheKey=e,this.usedTimes=1,this.program=m,this.vertexShader=T,this.fragmentShader=D,this}function mae(i,e,t,n,r,o,s){let a=[],c=r.isWebGL2,l=r.logarithmicDepthBuffer,d=r.floatVertexTextures,u=r.maxVertexUniforms,h=r.vertexTextures,p=r.precision,f={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"},m=["precision","isWebGL2","supportsVertexTextures","outputEncoding","instancing","instancingColor","map","mapEncoding","matcap","matcapEncoding","envMap","envMapMode","envMapEncoding","envMapCubeUV","lightMap","lightMapEncoding","aoMap","emissiveMap","emissiveMapEncoding","bumpMap","normalMap","objectSpaceNormalMap","tangentSpaceNormalMap","clearcoat","clearcoatMap","clearcoatRoughnessMap","clearcoatNormalMap","displacementMap","specularMap",,"roughnessMap","metalnessMap","gradientMap","alphaMap","alphaTest","combine","vertexColors","vertexAlphas","vertexTangents","vertexUvs","uvsVertexOnly","fog","useFog","fogExp2","flatShading","sizeAttenuation","logarithmicDepthBuffer","skinning","maxBones","useVertexTexture","morphTargets","morphNormals","morphTargetsCount","premultipliedAlpha","numDirLights","numPointLights","numSpotLights","numHemiLights","numRectAreaLights","numDirLightShadows","numPointLightShadows","numSpotLightShadows","shadowMapEnabled","shadowMapType","toneMapping","physicallyCorrectLights","doubleSided","flipSided","numClippingPlanes","numClipIntersection","depthPacking","dithering","format","specularIntensityMap","specularColorMap","specularColorMapEncoding","transmission","transmissionMap","thicknessMap","sheen","sheenColorMap","sheenColorMapEncoding","sheenRoughnessMap"];function y(E){let j=E.skeleton.bones;if(d)return 1024;{let z=Math.floor((u-20)/4),P=Math.min(z,j.length);return P0,Te=E.clearcoat>0;return{isWebGL2:c,shaderID:Y,shaderName:E.type,vertexShader:G,fragmentShader:K,defines:E.defines,isRawShaderMaterial:E.isRawShaderMaterial===!0,glslVersion:E.glslVersion,precision:p,instancing:z.isInstancedMesh===!0,instancingColor:z.isInstancedMesh===!0&&z.instanceColor!==null,supportsVertexTextures:h,outputEncoding:de!==null?g(de.texture):i.outputEncoding,map:!!E.map,mapEncoding:g(E.map),matcap:!!E.matcap,matcapEncoding:g(E.matcap),envMap:!!W,envMapMode:W&&W.mapping,envMapEncoding:g(W),envMapCubeUV:!!W&&(W.mapping===tf||W.mapping===H_),lightMap:!!E.lightMap,lightMapEncoding:g(E.lightMap),aoMap:!!E.aoMap,emissiveMap:!!E.emissiveMap,emissiveMapEncoding:g(E.emissiveMap),bumpMap:!!E.bumpMap,normalMap:!!E.normalMap,objectSpaceNormalMap:E.normalMapType===bH,tangentSpaceNormalMap:E.normalMapType===yu,clearcoat:Te,clearcoatMap:Te&&!!E.clearcoatMap,clearcoatRoughnessMap:Te&&!!E.clearcoatRoughnessMap,clearcoatNormalMap:Te&&!!E.clearcoatNormalMap,displacementMap:!!E.displacementMap,roughnessMap:!!E.roughnessMap,metalnessMap:!!E.metalnessMap,specularMap:!!E.specularMap,specularIntensityMap:!!E.specularIntensityMap,specularColorMap:!!E.specularColorMap,specularColorMapEncoding:g(E.specularColorMap),alphaMap:!!E.alphaMap,alphaTest:De,gradientMap:!!E.gradientMap,sheen:E.sheen>0,sheenColorMap:!!E.sheenColorMap,sheenColorMapEncoding:g(E.sheenColorMap),sheenRoughnessMap:!!E.sheenRoughnessMap,transmission:E.transmission>0,transmissionMap:!!E.transmissionMap,thicknessMap:!!E.thicknessMap,combine:E.combine,vertexTangents:!!E.normalMap&&!!z.geometry&&!!z.geometry.attributes.tangent,vertexColors:E.vertexColors,vertexAlphas:E.vertexColors===!0&&!!z.geometry&&!!z.geometry.attributes.color&&z.geometry.attributes.color.itemSize===4,vertexUvs:!!E.map||!!E.bumpMap||!!E.normalMap||!!E.specularMap||!!E.alphaMap||!!E.emissiveMap||!!E.roughnessMap||!!E.metalnessMap||!!E.clearcoatMap||!!E.clearcoatRoughnessMap||!!E.clearcoatNormalMap||!!E.displacementMap||!!E.transmissionMap||!!E.thicknessMap||!!E.specularIntensityMap||!!E.specularColorMap||!!E.sheenColorMap||E.sheenRoughnessMap,uvsVertexOnly:!(E.map||E.bumpMap||E.normalMap||E.specularMap||E.alphaMap||E.emissiveMap||E.roughnessMap||E.metalnessMap||E.clearcoatNormalMap||E.transmission>0||E.transmissionMap||E.thicknessMap||E.specularIntensityMap||E.specularColorMap||!!E.sheen>0||E.sheenColorMap||E.sheenRoughnessMap)&&!!E.displacementMap,fog:!!P,useFog:E.fog,fogExp2:P&&P.isFogExp2,flatShading:!!E.flatShading,sizeAttenuation:E.sizeAttenuation,logarithmicDepthBuffer:l,skinning:z.isSkinnedMesh===!0&&k>0,maxBones:k,useVertexTexture:d,morphTargets:!!z.geometry&&!!z.geometry.morphAttributes.position,morphNormals:!!z.geometry&&!!z.geometry.morphAttributes.normal,morphTargetsCount:z.geometry&&z.geometry.morphAttributes.position?z.geometry.morphAttributes.position.length:0,numDirLights:A.directional.length,numPointLights:A.point.length,numSpotLights:A.spot.length,numRectAreaLights:A.rectArea.length,numHemiLights:A.hemi.length,numDirLightShadows:A.directionalShadowMap.length,numPointLightShadows:A.pointShadowMap.length,numSpotLightShadows:A.spotShadowMap.length,numClippingPlanes:s.numPlanes,numClipIntersection:s.numIntersection,format:E.format,dithering:E.dithering,shadowMapEnabled:i.shadowMap.enabled&&j.length>0,shadowMapType:i.shadowMap.type,toneMapping:E.toneMapped?i.toneMapping:cl,physicallyCorrectLights:i.physicallyCorrectLights,premultipliedAlpha:E.premultipliedAlpha,doubleSided:E.side===tu,flipSided:E.side===Ci,depthPacking:E.depthPacking!==void 0?E.depthPacking:!1,index0AttributeName:E.index0AttributeName,extensionDerivatives:E.extensions&&E.extensions.derivatives,extensionFragDepth:E.extensions&&E.extensions.fragDepth,extensionDrawBuffers:E.extensions&&E.extensions.drawBuffers,extensionShaderTextureLOD:E.extensions&&E.extensions.shaderTextureLOD,rendererExtensionFragDepth:c||n.has("EXT_frag_depth"),rendererExtensionDrawBuffers:c||n.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:c||n.has("EXT_shader_texture_lod"),customProgramCacheKey:E.customProgramCacheKey()}}function x(E){let A=[];if(E.shaderID?A.push(E.shaderID):(A.push(xz(E.fragmentShader)),A.push(xz(E.vertexShader))),E.defines!==void 0)for(let j in E.defines)A.push(j),A.push(E.defines[j]);if(E.isRawShaderMaterial===!1){for(let j=0;j0?r.push(x):m.transparent===!0?o.push(x):n.push(x)}function d(p,f,m,y,g,_){let x=c(p,f,m,y,g,_);m.transmission>0?r.unshift(x):m.transparent===!0?o.unshift(x):n.unshift(x)}function u(p,f){n.length>1&&n.sort(p||_ae),r.length>1&&r.sort(f||Jz),o.length>1&&o.sort(f||Jz)}function h(){for(let p=t,f=e.length;p=e.get(r).length?(s=new eU(i),e.get(r).push(s)):s=e.get(r)[o],s}function n(){e=new WeakMap}return{get:t,dispose:n}}function bae(){let i={};return{get:function(e){if(i[e.id]!==void 0)return i[e.id];let t;switch(e.type){case"DirectionalLight":t={direction:new O,color:new je};break;case"SpotLight":t={position:new O,direction:new O,color:new je,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":t={position:new O,color:new je,distance:0,decay:0};break;case"HemisphereLight":t={direction:new O,skyColor:new je,groundColor:new je};break;case"RectAreaLight":t={color:new je,position:new O,halfWidth:new O,halfHeight:new O};break}return i[e.id]=t,t}}}function yae(){let i={};return{get:function(e){if(i[e.id]!==void 0)return i[e.id];let t;switch(e.type){case"DirectionalLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new we};break;case"SpotLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new we};break;case"PointLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new we,shadowCameraNear:1,shadowCameraFar:1e3};break}return i[e.id]=t,t}}}var xae=0;function wae(i,e){return(e.castShadow?1:0)-(i.castShadow?1:0)}function Cae(i,e){let t=new bae,n=yae(),r={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotShadow:[],spotShadowMap:[],spotShadowMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[]};for(let d=0;d<9;d++)r.probe.push(new O);let o=new O,s=new dt,a=new dt;function c(d,u){let h=0,p=0,f=0;for(let j=0;j<9;j++)r.probe[j].set(0,0,0);let m=0,y=0,g=0,_=0,x=0,C=0,T=0,D=0;d.sort(wae);let E=u!==!0?Math.PI:1;for(let j=0,q=d.length;j0&&(e.isWebGL2||i.has("OES_texture_float_linear")===!0?(r.rectAreaLTC1=Ue.LTC_FLOAT_1,r.rectAreaLTC2=Ue.LTC_FLOAT_2):i.has("OES_texture_half_float_linear")===!0?(r.rectAreaLTC1=Ue.LTC_HALF_1,r.rectAreaLTC2=Ue.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),r.ambient[0]=h,r.ambient[1]=p,r.ambient[2]=f;let A=r.hash;(A.directionalLength!==m||A.pointLength!==y||A.spotLength!==g||A.rectAreaLength!==_||A.hemiLength!==x||A.numDirectionalShadows!==C||A.numPointShadows!==T||A.numSpotShadows!==D)&&(r.directional.length=m,r.spot.length=g,r.rectArea.length=_,r.point.length=y,r.hemi.length=x,r.directionalShadow.length=C,r.directionalShadowMap.length=C,r.pointShadow.length=T,r.pointShadowMap.length=T,r.spotShadow.length=D,r.spotShadowMap.length=D,r.directionalShadowMatrix.length=C,r.pointShadowMatrix.length=T,r.spotShadowMatrix.length=D,A.directionalLength=m,A.pointLength=y,A.spotLength=g,A.rectAreaLength=_,A.hemiLength=x,A.numDirectionalShadows=C,A.numPointShadows=T,A.numSpotShadows=D,r.version=xae++)}function l(d,u){let h=0,p=0,f=0,m=0,y=0,g=u.matrixWorldInverse;for(let _=0,x=d.length;_=t.get(o).length?(a=new tU(i,e),t.get(o).push(a)):a=t.get(o)[s],a}function r(){t=new WeakMap}return{get:n,dispose:r}}var Vp=class extends Oi{constructor(e){super(),this.type="MeshDepthMaterial",this.depthPacking=_H,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(e)}copy(e){return super.copy(e),this.depthPacking=e.depthPacking,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this}};Vp.prototype.isMeshDepthMaterial=!0;var zp=class extends Oi{constructor(e){super(),this.type="MeshDistanceMaterial",this.referencePosition=new O,this.nearDistance=1,this.farDistance=1e3,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.fog=!1,this.setValues(e)}copy(e){return super.copy(e),this.referencePosition.copy(e.referencePosition),this.nearDistance=e.nearDistance,this.farDistance=e.farDistance,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this}};zp.prototype.isMeshDistanceMaterial=!0;var Mae=`void main() { gl_Position = vec4( position, 1.0 ); -}`,_ae=`uniform sampler2D shadow_pass; +}`,Eae=`uniform sampler2D shadow_pass; uniform vec2 resolution; uniform float radius; #include @@ -3158,7 +3158,7 @@ void main() { squared_mean = squared_mean / samples; float std_dev = sqrt( squared_mean - mean * mean ); gl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) ); -}`;function RH(i,e,t){let n=new eu,r=new xe,o=new xe,s=new Cn,a=new kp({depthPacking:mH}),l=new Lp,c={},d=t.maxTextureSize,u={0:yi,1:Zd,2:Qd},h=new ws({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new xe},radius:{value:4}},vertexShader:gae,fragmentShader:_ae}),p=h.clone();p.defines.HORIZONTAL_PASS=1;let f=new It;f.setAttribute("position",new un(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));let m=new ui(f,h),y=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=jP,this.render=function(C,T,D){if(y.enabled===!1||y.autoUpdate===!1&&y.needsUpdate===!1||C.length===0)return;let E=i.getRenderTarget(),P=i.getActiveCubeFace(),Y=i.getActiveMipmapLevel(),$=i.state;$.setBlending(Za),$.buffers.color.setClear(1,1,1,1),$.buffers.depth.setTest(!0),$.setScissorTest(!1);for(let U=0,O=C.length;Ud||r.y>d)&&(r.x>d&&(o.x=Math.floor(d/q.x),r.x=o.x*q.x,j.mapSize.x=o.x),r.y>d&&(o.y=Math.floor(d/q.y),r.y=o.y*q.y,j.mapSize.y=o.y)),j.map===null&&!j.isPointLightShadow&&this.type===bp){let G={minFilter:Fi,magFilter:Fi,format:rr};j.map=new xo(r.x,r.y,G),j.map.texture.name=B.name+".shadowMap",j.mapPass=new xo(r.x,r.y,G),j.camera.updateProjectionMatrix()}if(j.map===null){let G={minFilter:Ii,magFilter:Ii,format:rr};j.map=new xo(r.x,r.y,G),j.map.texture.name=B.name+".shadowMap",j.camera.updateProjectionMatrix()}i.setRenderTarget(j.map),i.clear();let k=j.getViewportCount();for(let G=0;G0){let B=U.uuid,j=D.uuid,q=c[B];q===void 0&&(q={},c[B]=q);let k=q[j];k===void 0&&(k=U.clone(),q[j]=k),U=k}return U.visible=D.visible,U.wireframe=D.wireframe,$===bp?U.side=D.shadowSide!==null?D.shadowSide:D.side:U.side=D.shadowSide!==null?D.shadowSide:u[D.side],U.alphaMap=D.alphaMap,U.alphaTest=D.alphaTest,U.clipShadows=D.clipShadows,U.clippingPlanes=D.clippingPlanes,U.clipIntersection=D.clipIntersection,U.displacementMap=D.displacementMap,U.displacementScale=D.displacementScale,U.displacementBias=D.displacementBias,U.wireframeLinewidth=D.wireframeLinewidth,U.linewidth=D.linewidth,E.isPointLight===!0&&U.isMeshDistanceMaterial===!0&&(U.referencePosition.setFromMatrixPosition(E.matrixWorld),U.nearDistance=P,U.farDistance=Y),U}function x(C,T,D,E,P){if(C.visible===!1)return;if(C.layers.test(T.layers)&&(C.isMesh||C.isLine||C.isPoints)&&(C.castShadow||C.receiveShadow&&P===bp)&&(!C.frustumCulled||n.intersectsObject(C))){C.modelViewMatrix.multiplyMatrices(D.matrixWorldInverse,C.matrixWorld);let U=e.update(C),O=C.material;if(Array.isArray(O)){let B=U.groups;for(let j=0,q=B.length;j=1):q.indexOf("OpenGL ES")!==-1&&(j=parseFloat(/^OpenGL ES (\d)/.exec(q)[1]),B=j>=2);let k=null,G={},K=i.getParameter(3088),de=i.getParameter(2978),De=new Cn().fromArray(K),Ee=new Cn().fromArray(de);function He(Q,$e,Se){let gt=new Uint8Array(4),dt=i.createTexture();i.bindTexture(Q,dt),i.texParameteri(Q,10241,9728),i.texParameteri(Q,10240,9728);for(let pn=0;pnNe||F.height>Ne)&&(ke=Ne/Math.max(F.width,F.height)),ke<1||A===!0)if(typeof HTMLImageElement<"u"&&F instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&F instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&F instanceof ImageBitmap){let et=A?bH:Math.floor,Ot=et(ke*F.width),vt=et(ke*F.height);p===void 0&&(p=m(Ot,vt));let Ft=fe?m(Ot,vt):p;return Ft.width=Ot,Ft.height=vt,Ft.getContext("2d").drawImage(F,0,0,Ot,vt),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+F.width+"x"+F.height+") to ("+Ot+"x"+vt+")."),Ft}else return"data"in F&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+F.width+"x"+F.height+")."),F;return F}function g(F){return fP(F.width)&&fP(F.height)}function _(F){return a?!1:F.wrapS!==ir||F.wrapT!==ir||F.minFilter!==Ii&&F.minFilter!==Fi}function x(F,A){return F.generateMipmaps&&A&&F.minFilter!==Ii&&F.minFilter!==Fi}function C(F,A,fe,Ne,ke=1){i.generateMipmap(F);let et=n.get(A);et.__maxMipLevel=Math.log2(Math.max(fe,Ne,ke))}function T(F,A,fe,Ne){if(a===!1)return A;if(F!==null){if(i[F]!==void 0)return i[F];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+F+"'")}let ke=A;return A===6403&&(fe===5126&&(ke=33326),fe===5131&&(ke=33325),fe===5121&&(ke=33321)),A===6407&&(fe===5126&&(ke=34837),fe===5131&&(ke=34843),fe===5121&&(ke=32849)),A===6408&&(fe===5126&&(ke=34836),fe===5131&&(ke=34842),fe===5121&&(ke=Ne===gc?35907:32856)),(ke===33325||ke===33326||ke===34842||ke===34836)&&e.get("EXT_color_buffer_float"),ke}function D(F){return F===Ii||F===iw||F===rw?9728:9729}function E(F){let A=F.target;A.removeEventListener("dispose",E),Y(A),A.isVideoTexture&&h.delete(A),s.memory.textures--}function P(F){let A=F.target;A.removeEventListener("dispose",P),$(A)}function Y(F){let A=n.get(F);A.__webglInit!==void 0&&(i.deleteTexture(A.__webglTexture),n.remove(F))}function $(F){let A=F.texture,fe=n.get(F),Ne=n.get(A);if(F){if(Ne.__webglTexture!==void 0&&(i.deleteTexture(Ne.__webglTexture),s.memory.textures--),F.depthTexture&&F.depthTexture.dispose(),F.isWebGLCubeRenderTarget)for(let ke=0;ke<6;ke++)i.deleteFramebuffer(fe.__webglFramebuffer[ke]),fe.__webglDepthbuffer&&i.deleteRenderbuffer(fe.__webglDepthbuffer[ke]);else i.deleteFramebuffer(fe.__webglFramebuffer),fe.__webglDepthbuffer&&i.deleteRenderbuffer(fe.__webglDepthbuffer),fe.__webglMultisampledFramebuffer&&i.deleteFramebuffer(fe.__webglMultisampledFramebuffer),fe.__webglColorRenderbuffer&&i.deleteRenderbuffer(fe.__webglColorRenderbuffer),fe.__webglDepthRenderbuffer&&i.deleteRenderbuffer(fe.__webglDepthRenderbuffer);if(F.isWebGLMultipleRenderTargets)for(let ke=0,et=A.length;ke=l&&console.warn("THREE.WebGLTextures: Trying to use "+F+" texture units while this GPU supports only "+l),U+=1,F}function j(F,A){let fe=n.get(F);if(F.isVideoTexture&&_e(F),F.version>0&&fe.__version!==F.version){let Ne=F.image;if(Ne===void 0)console.warn("THREE.WebGLRenderer: Texture marked for update but image is undefined");else if(Ne.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{He(fe,F,A);return}}t.activeTexture(33984+A),t.bindTexture(3553,fe.__webglTexture)}function q(F,A){let fe=n.get(F);if(F.version>0&&fe.__version!==F.version){He(fe,F,A);return}t.activeTexture(33984+A),t.bindTexture(35866,fe.__webglTexture)}function k(F,A){let fe=n.get(F);if(F.version>0&&fe.__version!==F.version){He(fe,F,A);return}t.activeTexture(33984+A),t.bindTexture(32879,fe.__webglTexture)}function G(F,A){let fe=n.get(F);if(F.version>0&&fe.__version!==F.version){he(fe,F,A);return}t.activeTexture(33984+A),t.bindTexture(34067,fe.__webglTexture)}let K={[Fg]:10497,[ir]:33071,[Bg]:33648},de={[Ii]:9728,[iw]:9984,[rw]:9986,[Fi]:9729,[YP]:9985,[mu]:9987};function De(F,A,fe){if(fe?(i.texParameteri(F,10242,K[A.wrapS]),i.texParameteri(F,10243,K[A.wrapT]),(F===32879||F===35866)&&i.texParameteri(F,32882,K[A.wrapR]),i.texParameteri(F,10240,de[A.magFilter]),i.texParameteri(F,10241,de[A.minFilter])):(i.texParameteri(F,10242,33071),i.texParameteri(F,10243,33071),(F===32879||F===35866)&&i.texParameteri(F,32882,33071),(A.wrapS!==ir||A.wrapT!==ir)&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),i.texParameteri(F,10240,D(A.magFilter)),i.texParameteri(F,10241,D(A.minFilter)),A.minFilter!==Ii&&A.minFilter!==Fi&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),e.has("EXT_texture_filter_anisotropic")===!0){let Ne=e.get("EXT_texture_filter_anisotropic");if(A.type===na&&e.has("OES_texture_float_linear")===!1||a===!1&&A.type===$d&&e.has("OES_texture_half_float_linear")===!1)return;(A.anisotropy>1||n.get(A).__currentAnisotropy)&&(i.texParameterf(F,Ne.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(A.anisotropy,r.getMaxAnisotropy())),n.get(A).__currentAnisotropy=A.anisotropy)}}function Ee(F,A){F.__webglInit===void 0&&(F.__webglInit=!0,A.addEventListener("dispose",E),F.__webglTexture=i.createTexture(),s.memory.textures++)}function He(F,A,fe){let Ne=3553;A.isDataTexture2DArray&&(Ne=35866),A.isDataTexture3D&&(Ne=32879),Ee(F,A),t.activeTexture(33984+fe),t.bindTexture(Ne,F.__webglTexture),i.pixelStorei(37440,A.flipY),i.pixelStorei(37441,A.premultiplyAlpha),i.pixelStorei(3317,A.unpackAlignment),i.pixelStorei(37443,0);let ke=_(A)&&g(A.image)===!1,et=y(A.image,ke,!1,d),Ot=g(et)||a,vt=o.convert(A.format),Ft=o.convert(A.type),mt=T(A.internalFormat,vt,Ft,A.encoding);De(Ne,A,Ot);let Q,$e=A.mipmaps;if(A.isDepthTexture)mt=6402,a?A.type===na?mt=36012:A.type===Pg?mt=33190:A.type===Cp?mt=35056:mt=33189:A.type===na&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),A.format===Yd&&mt===6402&&A.type!==Vg&&A.type!==Pg&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),A.type=Vg,Ft=o.convert(A.type)),A.format===Mp&&mt===6402&&(mt=34041,A.type!==Cp&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),A.type=Cp,Ft=o.convert(A.type))),t.texImage2D(3553,0,mt,et.width,et.height,0,vt,Ft,null);else if(A.isDataTexture)if($e.length>0&&Ot){for(let Se=0,gt=$e.length;Se0&&Ot){for(let Se=0,gt=$e.length;Sep+f?(c.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!c.inputState.pinching&&h<=p-f&&(c.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else l!==null&&e.gripSpace&&(o=t.getPose(e.gripSpace,n),o!==null&&(l.matrix.fromArray(o.transform.matrix),l.matrix.decompose(l.position,l.rotation,l.scale),o.linearVelocity?(l.hasLinearVelocity=!0,l.linearVelocity.copy(o.linearVelocity)):l.hasLinearVelocity=!1,o.angularVelocity?(l.hasAngularVelocity=!0,l.angularVelocity.copy(o.angularVelocity)):l.hasAngularVelocity=!1));return a!==null&&(a.visible=r!==null),l!==null&&(l.visible=o!==null),c!==null&&(c.visible=s!==null),this}},gP=class extends ra{constructor(e,t){super();let n=this,r=e.state,o=null,s=1,a=null,l="local-floor",c=null,d=null,u=null,h=null,p=null,f=!1,m=null,y=null,g=null,_=null,x=null,C=null,T=[],D=new Map,E=new Ei;E.layers.enable(1),E.viewport=new Cn;let P=new Ei;P.layers.enable(2),P.viewport=new Cn;let Y=[E,P],$=new qg;$.layers.enable(1),$.layers.enable(2);let U=null,O=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(he){let re=T[he];return re===void 0&&(re=new Rg,T[he]=re),re.getTargetRaySpace()},this.getControllerGrip=function(he){let re=T[he];return re===void 0&&(re=new Rg,T[he]=re),re.getGripSpace()},this.getHand=function(he){let re=T[he];return re===void 0&&(re=new Rg,T[he]=re),re.getHandSpace()};function B(he){let re=D.get(he.inputSource);re&&re.dispatchEvent({type:he.type,data:he.inputSource})}function j(){D.forEach(function(he,re){he.disconnect(re)}),D.clear(),U=null,O=null,r.bindXRFramebuffer(null),e.setRenderTarget(e.getRenderTarget()),u&&t.deleteFramebuffer(u),m&&t.deleteFramebuffer(m),y&&t.deleteRenderbuffer(y),g&&t.deleteRenderbuffer(g),u=null,m=null,y=null,g=null,p=null,h=null,d=null,o=null,He.stop(),n.isPresenting=!1,n.dispatchEvent({type:"sessionend"})}this.setFramebufferScaleFactor=function(he){s=he,n.isPresenting===!0&&console.warn("THREE.WebXRManager: Cannot change framebuffer scale while presenting.")},this.setReferenceSpaceType=function(he){l=he,n.isPresenting===!0&&console.warn("THREE.WebXRManager: Cannot change reference space type while presenting.")},this.getReferenceSpace=function(){return a},this.getBaseLayer=function(){return h!==null?h:p},this.getBinding=function(){return d},this.getFrame=function(){return _},this.getSession=function(){return o},this.setSession=function(he){return At(this,null,function*(){if(o=he,o!==null){o.addEventListener("select",B),o.addEventListener("selectstart",B),o.addEventListener("selectend",B),o.addEventListener("squeeze",B),o.addEventListener("squeezestart",B),o.addEventListener("squeezeend",B),o.addEventListener("end",j),o.addEventListener("inputsourceschange",q);let re=t.getContextAttributes();if(re.xrCompatible!==!0&&(yield t.makeXRCompatible()),o.renderState.layers===void 0){let qe={antialias:re.antialias,alpha:re.alpha,depth:re.depth,stencil:re.stencil,framebufferScaleFactor:s};p=new XRWebGLLayer(o,t,qe),o.updateRenderState({baseLayer:p})}else if(t instanceof WebGLRenderingContext){let qe={antialias:!0,alpha:re.alpha,depth:re.depth,stencil:re.stencil,framebufferScaleFactor:s};p=new XRWebGLLayer(o,t,qe),o.updateRenderState({layers:[p]})}else{f=re.antialias;let qe=null;re.depth&&(C=256,re.stencil&&(C|=1024),x=re.stencil?33306:36096,qe=re.stencil?35056:33190);let ue={colorFormat:re.alpha?32856:32849,depthFormat:qe,scaleFactor:s};d=new XRWebGLBinding(o,t),h=d.createProjectionLayer(ue),u=t.createFramebuffer(),o.updateRenderState({layers:[h]}),f&&(m=t.createFramebuffer(),y=t.createRenderbuffer(),t.bindRenderbuffer(36161,y),t.renderbufferStorageMultisample(36161,4,32856,h.textureWidth,h.textureHeight),r.bindFramebuffer(36160,m),t.framebufferRenderbuffer(36160,36064,36161,y),t.bindRenderbuffer(36161,null),qe!==null&&(g=t.createRenderbuffer(),t.bindRenderbuffer(36161,g),t.renderbufferStorageMultisample(36161,4,qe,h.textureWidth,h.textureHeight),t.framebufferRenderbuffer(36160,x,36161,g),t.bindRenderbuffer(36161,null)),r.bindFramebuffer(36160,null))}a=yield o.requestReferenceSpace(l),He.setContext(o),He.start(),n.isPresenting=!0,n.dispatchEvent({type:"sessionstart"})}})};function q(he){let re=o.inputSources;for(let qe=0;qe0&&(g.alphaTest.value=_.alphaTest);let x=i.get(_).envMap;if(x){g.envMap.value=x,g.flipEnvMap.value=x.isCubeTexture&&x.isRenderTargetTexture===!1?-1:1,g.reflectivity.value=_.reflectivity,g.ior.value=_.ior,g.refractionRatio.value=_.refractionRatio;let D=i.get(x).__maxMipLevel;D!==void 0&&(g.maxMipLevel.value=D)}_.lightMap&&(g.lightMap.value=_.lightMap,g.lightMapIntensity.value=_.lightMapIntensity),_.aoMap&&(g.aoMap.value=_.aoMap,g.aoMapIntensity.value=_.aoMapIntensity);let C;_.map?C=_.map:_.specularMap?C=_.specularMap:_.displacementMap?C=_.displacementMap:_.normalMap?C=_.normalMap:_.bumpMap?C=_.bumpMap:_.roughnessMap?C=_.roughnessMap:_.metalnessMap?C=_.metalnessMap:_.alphaMap?C=_.alphaMap:_.emissiveMap?C=_.emissiveMap:_.clearcoatMap?C=_.clearcoatMap:_.clearcoatNormalMap?C=_.clearcoatNormalMap:_.clearcoatRoughnessMap?C=_.clearcoatRoughnessMap:_.specularIntensityMap?C=_.specularIntensityMap:_.specularColorMap?C=_.specularColorMap:_.transmissionMap?C=_.transmissionMap:_.thicknessMap?C=_.thicknessMap:_.sheenColorMap?C=_.sheenColorMap:_.sheenRoughnessMap&&(C=_.sheenRoughnessMap),C!==void 0&&(C.isWebGLRenderTarget&&(C=C.texture),C.matrixAutoUpdate===!0&&C.updateMatrix(),g.uvTransform.value.copy(C.matrix));let T;_.aoMap?T=_.aoMap:_.lightMap&&(T=_.lightMap),T!==void 0&&(T.isWebGLRenderTarget&&(T=T.texture),T.matrixAutoUpdate===!0&&T.updateMatrix(),g.uv2Transform.value.copy(T.matrix))}function r(g,_){g.diffuse.value.copy(_.color),g.opacity.value=_.opacity}function o(g,_){g.dashSize.value=_.dashSize,g.totalSize.value=_.dashSize+_.gapSize,g.scale.value=_.scale}function s(g,_,x,C){g.diffuse.value.copy(_.color),g.opacity.value=_.opacity,g.size.value=_.size*x,g.scale.value=C*.5,_.map&&(g.map.value=_.map),_.alphaMap&&(g.alphaMap.value=_.alphaMap),_.alphaTest>0&&(g.alphaTest.value=_.alphaTest);let T;_.map?T=_.map:_.alphaMap&&(T=_.alphaMap),T!==void 0&&(T.matrixAutoUpdate===!0&&T.updateMatrix(),g.uvTransform.value.copy(T.matrix))}function a(g,_){g.diffuse.value.copy(_.color),g.opacity.value=_.opacity,g.rotation.value=_.rotation,_.map&&(g.map.value=_.map),_.alphaMap&&(g.alphaMap.value=_.alphaMap),_.alphaTest>0&&(g.alphaTest.value=_.alphaTest);let x;_.map?x=_.map:_.alphaMap&&(x=_.alphaMap),x!==void 0&&(x.matrixAutoUpdate===!0&&x.updateMatrix(),g.uvTransform.value.copy(x.matrix))}function l(g,_){_.emissiveMap&&(g.emissiveMap.value=_.emissiveMap)}function c(g,_){g.specular.value.copy(_.specular),g.shininess.value=Math.max(_.shininess,1e-4),_.emissiveMap&&(g.emissiveMap.value=_.emissiveMap),_.bumpMap&&(g.bumpMap.value=_.bumpMap,g.bumpScale.value=_.bumpScale,_.side===yi&&(g.bumpScale.value*=-1)),_.normalMap&&(g.normalMap.value=_.normalMap,g.normalScale.value.copy(_.normalScale),_.side===yi&&g.normalScale.value.negate()),_.displacementMap&&(g.displacementMap.value=_.displacementMap,g.displacementScale.value=_.displacementScale,g.displacementBias.value=_.displacementBias)}function d(g,_){_.gradientMap&&(g.gradientMap.value=_.gradientMap),_.emissiveMap&&(g.emissiveMap.value=_.emissiveMap),_.bumpMap&&(g.bumpMap.value=_.bumpMap,g.bumpScale.value=_.bumpScale,_.side===yi&&(g.bumpScale.value*=-1)),_.normalMap&&(g.normalMap.value=_.normalMap,g.normalScale.value.copy(_.normalScale),_.side===yi&&g.normalScale.value.negate()),_.displacementMap&&(g.displacementMap.value=_.displacementMap,g.displacementScale.value=_.displacementScale,g.displacementBias.value=_.displacementBias)}function u(g,_){g.roughness.value=_.roughness,g.metalness.value=_.metalness,_.roughnessMap&&(g.roughnessMap.value=_.roughnessMap),_.metalnessMap&&(g.metalnessMap.value=_.metalnessMap),_.emissiveMap&&(g.emissiveMap.value=_.emissiveMap),_.bumpMap&&(g.bumpMap.value=_.bumpMap,g.bumpScale.value=_.bumpScale,_.side===yi&&(g.bumpScale.value*=-1)),_.normalMap&&(g.normalMap.value=_.normalMap,g.normalScale.value.copy(_.normalScale),_.side===yi&&g.normalScale.value.negate()),_.displacementMap&&(g.displacementMap.value=_.displacementMap,g.displacementScale.value=_.displacementScale,g.displacementBias.value=_.displacementBias),i.get(_).envMap&&(g.envMapIntensity.value=_.envMapIntensity)}function h(g,_,x){u(g,_),g.ior.value=_.ior,_.sheen>0&&(g.sheenColor.value.copy(_.sheenColor).multiplyScalar(_.sheen),g.sheenRoughness.value=_.sheenRoughness,_.sheenColorMap&&(g.sheenColorMap.value=_.sheenColorMap),_.sheenRoughnessMap&&(g.sheenRoughnessMap.value=_.sheenRoughnessMap)),_.clearcoat>0&&(g.clearcoat.value=_.clearcoat,g.clearcoatRoughness.value=_.clearcoatRoughness,_.clearcoatMap&&(g.clearcoatMap.value=_.clearcoatMap),_.clearcoatRoughnessMap&&(g.clearcoatRoughnessMap.value=_.clearcoatRoughnessMap),_.clearcoatNormalMap&&(g.clearcoatNormalScale.value.copy(_.clearcoatNormalScale),g.clearcoatNormalMap.value=_.clearcoatNormalMap,_.side===yi&&g.clearcoatNormalScale.value.negate())),_.transmission>0&&(g.transmission.value=_.transmission,g.transmissionSamplerMap.value=x.texture,g.transmissionSamplerSize.value.set(x.width,x.height),_.transmissionMap&&(g.transmissionMap.value=_.transmissionMap),g.thickness.value=_.thickness,_.thicknessMap&&(g.thicknessMap.value=_.thicknessMap),g.attenuationDistance.value=_.attenuationDistance,g.attenuationColor.value.copy(_.attenuationColor)),g.specularIntensity.value=_.specularIntensity,g.specularColor.value.copy(_.specularColor),_.specularIntensityMap&&(g.specularIntensityMap.value=_.specularIntensityMap),_.specularColorMap&&(g.specularColorMap.value=_.specularColorMap)}function p(g,_){_.matcap&&(g.matcap.value=_.matcap),_.bumpMap&&(g.bumpMap.value=_.bumpMap,g.bumpScale.value=_.bumpScale,_.side===yi&&(g.bumpScale.value*=-1)),_.normalMap&&(g.normalMap.value=_.normalMap,g.normalScale.value.copy(_.normalScale),_.side===yi&&g.normalScale.value.negate()),_.displacementMap&&(g.displacementMap.value=_.displacementMap,g.displacementScale.value=_.displacementScale,g.displacementBias.value=_.displacementBias)}function f(g,_){_.displacementMap&&(g.displacementMap.value=_.displacementMap,g.displacementScale.value=_.displacementScale,g.displacementBias.value=_.displacementBias)}function m(g,_){_.displacementMap&&(g.displacementMap.value=_.displacementMap,g.displacementScale.value=_.displacementScale,g.displacementBias.value=_.displacementBias),g.referencePosition.value.copy(_.referencePosition),g.nearDistance.value=_.nearDistance,g.farDistance.value=_.farDistance}function y(g,_){_.bumpMap&&(g.bumpMap.value=_.bumpMap,g.bumpScale.value=_.bumpScale,_.side===yi&&(g.bumpScale.value*=-1)),_.normalMap&&(g.normalMap.value=_.normalMap,g.normalScale.value.copy(_.normalScale),_.side===yi&&g.normalScale.value.negate()),_.displacementMap&&(g.displacementMap.value=_.displacementMap,g.displacementScale.value=_.displacementScale,g.displacementBias.value=_.displacementBias)}return{refreshFogUniforms:e,refreshMaterialUniforms:t}}function wae(){let i=eC("canvas");return i.style.display="block",i}function An(i={}){let e=i.canvas!==void 0?i.canvas:wae(),t=i.context!==void 0?i.context:null,n=i.alpha!==void 0?i.alpha:!1,r=i.depth!==void 0?i.depth:!0,o=i.stencil!==void 0?i.stencil:!0,s=i.antialias!==void 0?i.antialias:!1,a=i.premultipliedAlpha!==void 0?i.premultipliedAlpha:!0,l=i.preserveDrawingBuffer!==void 0?i.preserveDrawingBuffer:!1,c=i.powerPreference!==void 0?i.powerPreference:"default",d=i.failIfMajorPerformanceCaveat!==void 0?i.failIfMajorPerformanceCaveat:!1,u=null,h=null,p=[],f=[];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=sr,this.physicallyCorrectLights=!1,this.toneMapping=oc,this.toneMappingExposure=1;let m=this,y=!1,g=0,_=0,x=null,C=-1,T=null,D=new Cn,E=new Cn,P=null,Y=e.width,$=e.height,U=1,O=null,B=null,j=new Cn(0,0,Y,$),q=new Cn(0,0,Y,$),k=!1,G=[],K=new eu,de=!1,De=!1,Ee=null,He=new ct,he=new R,re={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function qe(){return x===null?U:1}let ue=t;function Ge(L,ne){for(let pe=0;pe0?h=f[f.length-1]:h=null,p.pop(),p.length>0?u=p[p.length-1]:u=null};function gR(L,ne,pe,oe){if(L.visible===!1)return;if(L.layers.test(ne.layers)){if(L.isGroup)pe=L.renderOrder;else if(L.isLOD)L.autoUpdate===!0&&L.update(ne);else if(L.isLight)h.pushLight(L),L.castShadow&&h.pushShadow(L);else if(L.isSprite){if(!L.frustumCulled||K.intersectsSprite(L)){oe&&he.setFromMatrixPosition(L.matrixWorld).applyMatrix4(He);let Rt=A.update(L),Tt=L.material;Tt.visible&&u.push(L,Rt,Tt,pe,he.z,null)}}else if((L.isMesh||L.isLine||L.isPoints)&&(L.isSkinnedMesh&&L.skeleton.frame!==Dt.render.frame&&(L.skeleton.update(),L.skeleton.frame=Dt.render.frame),!L.frustumCulled||K.intersectsObject(L))){oe&&he.setFromMatrixPosition(L.matrixWorld).applyMatrix4(He);let Rt=A.update(L),Tt=L.material;if(Array.isArray(Tt)){let on=Rt.groups;for(let Tn=0,fn=on.length;Tn0&&z5(we,ne,pe),oe&&Qe.viewport(D.copy(oe)),we.length>0&&sv(we,ne,pe),zt.length>0&&sv(zt,ne,pe),Rt.length>0&&sv(Rt,ne,pe)}function z5(L,ne,pe){if(Ee===null){let Rt=s===!0&&Ve.isWebGL2===!0?jg:xo;Ee=new Rt(1024,1024,{generateMipmaps:!0,type:Se.convert($d)!==null?$d:Ka,minFilter:mu,magFilter:Ii,wrapS:ir,wrapT:ir})}let oe=m.getRenderTarget();m.setRenderTarget(Ee),m.clear();let we=m.toneMapping;m.toneMapping=oc,sv(L,ne,pe),m.toneMapping=we,Pe.updateMultisampleRenderTarget(Ee),Pe.updateRenderTargetMipmap(Ee),m.setRenderTarget(oe)}function sv(L,ne,pe){let oe=ne.isScene===!0?ne.overrideMaterial:null;for(let we=0,zt=L.length;we=0&&ne<=L.width-oe&&pe>=0&&pe<=L.height-we&&ue.readPixels(ne,pe,oe,we,Se.convert(Tn),Se.convert(fn),zt):console.error("THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.")}finally{let on=x!==null?_e.get(x).__webglFramebuffer:null;Qe.bindFramebuffer(36160,on)}}},this.copyFramebufferToTexture=function(L,ne,pe=0){let oe=Math.pow(2,-pe),we=Math.floor(ne.image.width*oe),zt=Math.floor(ne.image.height*oe),Rt=Se.convert(ne.format);Ve.isWebGL2&&(Rt===6407&&(Rt=32849),Rt===6408&&(Rt=32856)),Pe.setTexture2D(ne,0),ue.copyTexImage2D(3553,pe,Rt,L.x,L.y,we,zt,0),Qe.unbindTexture()},this.copyTextureToTexture=function(L,ne,pe,oe=0){let we=ne.image.width,zt=ne.image.height,Rt=Se.convert(pe.format),Tt=Se.convert(pe.type);Pe.setTexture2D(pe,0),ue.pixelStorei(37440,pe.flipY),ue.pixelStorei(37441,pe.premultiplyAlpha),ue.pixelStorei(3317,pe.unpackAlignment),ne.isDataTexture?ue.texSubImage2D(3553,oe,L.x,L.y,we,zt,Rt,Tt,ne.image.data):ne.isCompressedTexture?ue.compressedTexSubImage2D(3553,oe,L.x,L.y,ne.mipmaps[0].width,ne.mipmaps[0].height,Rt,ne.mipmaps[0].data):ue.texSubImage2D(3553,oe,L.x,L.y,Rt,Tt,ne.image),oe===0&&pe.generateMipmaps&&ue.generateMipmap(3553),Qe.unbindTexture()},this.copyTextureToTexture3D=function(L,ne,pe,oe,we=0){if(m.isWebGL1Renderer){console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");return}let zt=L.max.x-L.min.x+1,Rt=L.max.y-L.min.y+1,Tt=L.max.z-L.min.z+1,on=Se.convert(oe.format),Tn=Se.convert(oe.type),fn;if(oe.isDataTexture3D)Pe.setTexture3D(oe,0),fn=32879;else if(oe.isDataTexture2DArray)Pe.setTexture2DArray(oe,0),fn=35866;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}ue.pixelStorei(37440,oe.flipY),ue.pixelStorei(37441,oe.premultiplyAlpha),ue.pixelStorei(3317,oe.unpackAlignment);let bn=ue.getParameter(3314),ii=ue.getParameter(32878),Mc=ue.getParameter(3316),xn=ue.getParameter(3315),gf=ue.getParameter(32877),qn=pe.isCompressedTexture?pe.mipmaps[0]:pe.image;ue.pixelStorei(3314,qn.width),ue.pixelStorei(32878,qn.height),ue.pixelStorei(3316,L.min.x),ue.pixelStorei(3315,L.min.y),ue.pixelStorei(32877,L.min.z),pe.isDataTexture||pe.isDataTexture3D?ue.texSubImage3D(fn,we,ne.x,ne.y,ne.z,zt,Rt,Tt,on,Tn,qn.data):pe.isCompressedTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),ue.compressedTexSubImage3D(fn,we,ne.x,ne.y,ne.z,zt,Rt,Tt,on,qn.data)):ue.texSubImage3D(fn,we,ne.x,ne.y,ne.z,zt,Rt,Tt,on,Tn,qn),ue.pixelStorei(3314,bn),ue.pixelStorei(32878,ii),ue.pixelStorei(3316,Mc),ue.pixelStorei(3315,xn),ue.pixelStorei(32877,gf),we===0&&oe.generateMipmaps&&ue.generateMipmap(fn),Qe.unbindTexture()},this.initTexture=function(L){Pe.setTexture2D(L,0),Qe.unbindTexture()},this.resetState=function(){g=0,_=0,x=null,Qe.reset(),gt.reset()},typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}An.prototype.isWebGLRenderer=!0;var fw=class extends An{};fw.prototype.isWebGL1Renderer=!0;var Yg=class i{constructor(e,t=25e-5){this.name="",this.color=new je(e),this.density=t}clone(){return new i(this.color,this.density)}toJSON(){return{type:"FogExp2",color:this.color.getHex(),density:this.density}}};Yg.prototype.isFogExp2=!0;var Xg=class i{constructor(e,t=1,n=1e3){this.name="",this.color=new je(e),this.near=t,this.far=n}clone(){return new i(this.color,this.near,this.far)}toJSON(){return{type:"Fog",color:this.color.getHex(),near:this.near,far:this.far}}};Xg.prototype.isFog=!0;var Fp=class extends hn{constructor(){super(),this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.overrideMaterial=null,this.autoUpdate=!0,typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(e,t){return super.copy(e,t),e.background!==null&&(this.background=e.background.clone()),e.environment!==null&&(this.environment=e.environment.clone()),e.fog!==null&&(this.fog=e.fog.clone()),e.overrideMaterial!==null&&(this.overrideMaterial=e.overrideMaterial.clone()),this.autoUpdate=e.autoUpdate,this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){let t=super.toJSON(e);return this.fog!==null&&(t.object.fog=this.fog.toJSON()),t}};Fp.prototype.isScene=!0;var el=class{constructor(e,t){this.array=e,this.stride=t,this.count=e!==void 0?e.length/t:0,this.usage=Ep,this.updateRange={offset:0,count:-1},this.version=0,this.uuid=yo()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}copy(e){return this.array=new e.array.constructor(e.array),this.count=e.count,this.stride=e.stride,this.usage=e.usage,this}copyAt(e,t,n){e*=this.stride,n*=t.stride;for(let r=0,o=this.stride;re.far||t.push({distance:l,point:Sg.clone(),uv:or.getUV(Sg,Ax,Eg,Nx,Jz,HD,eU,new xe),face:null,object:this})}copy(e){return super.copy(e),e.center!==void 0&&this.center.copy(e.center),this.material=e.material,this}};Vp.prototype.isSprite=!0;function kx(i,e,t,n,r,o){vp.subVectors(i,t).addScalar(.5).multiply(n),r!==void 0?(Mg.x=o*vp.x-r*vp.y,Mg.y=r*vp.x+o*vp.y):Mg.copy(vp),i.copy(e),i.x+=Mg.x,i.y+=Mg.y,i.applyMatrix4(NH)}var Lx=new R,tU=new R,mw=class extends hn{constructor(){super(),this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]},isLOD:{value:!0}}),this.autoUpdate=!0}copy(e){super.copy(e,!1);let t=e.levels;for(let n=0,r=t.length;n0){let n,r;for(n=1,r=t.length;n0){Lx.setFromMatrixPosition(this.matrixWorld);let r=e.ray.origin.distanceTo(Lx);this.getObjectForDistance(r).raycast(e,t)}}update(e){let t=this.levels;if(t.length>1){Lx.setFromMatrixPosition(e.matrixWorld),tU.setFromMatrixPosition(this.matrixWorld);let n=Lx.distanceTo(tU)/e.zoom;t[0].object.visible=!0;let r,o;for(r=1,o=t.length;r=t[r].distance;r++)t[r-1].object.visible=!1,t[r].object.visible=!0;for(this._currentLevel=r-1;rl)continue;h.applyMatrix4(this.matrixWorld);let P=e.ray.origin.distanceTo(h);Pe.far||t.push({distance:P,point:u.clone().applyMatrix4(this.matrixWorld),index:x,face:null,faceIndex:null,object:this})}}else{let g=Math.max(0,s.start),_=Math.min(y.count,s.start+s.count);for(let x=g,C=_-1;xl)continue;h.applyMatrix4(this.matrixWorld);let D=e.ray.origin.distanceTo(h);De.far||t.push({distance:D,point:u.clone().applyMatrix4(this.matrixWorld),index:x,face:null,faceIndex:null,object:this})}}}else n.isGeometry&&console.error("THREE.Line.raycast() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.")}updateMorphTargets(){let e=this.geometry;if(e.isBufferGeometry){let t=e.morphAttributes,n=Object.keys(t);if(n.length>0){let r=t[n[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let o=0,s=r.length;o0&&console.error("THREE.Line.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.")}}};Cs.prototype.isLine=!0;var hU=new R,pU=new R,xr=class extends Cs{constructor(e,t){super(e,t),this.type="LineSegments"}computeLineDistances(){let e=this.geometry;if(e.isBufferGeometry)if(e.index===null){let t=e.attributes.position,n=[];for(let r=0,o=t.count;r0){let r=t[n[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let o=0,s=r.length;o0&&console.error("THREE.Points.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.")}}};nu.prototype.isPoints=!0;function mU(i,e,t,n,r,o,s){let a=_P.distanceSqToPoint(i);if(ar.far)return;o.push({distance:c,distanceToRay:Math.sqrt(a),point:l,index:e,face:null,object:s})}}var _w=class extends Gi{constructor(e,t,n,r,o,s,a,l,c){super(e,t,n,r,o,s,a,l,c),this.format=a!==void 0?a:qd,this.minFilter=s!==void 0?s:Fi,this.magFilter=o!==void 0?o:Fi,this.generateMipmaps=!1;let d=this;function u(){d.needsUpdate=!0,e.requestVideoFrameCallback(u)}"requestVideoFrameCallback"in e&&e.requestVideoFrameCallback(u)}clone(){return new this.constructor(this.image).copy(this)}update(){let e=this.image;"requestVideoFrameCallback"in e===!1&&e.readyState>=e.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}};_w.prototype.isVideoTexture=!0;var Kg=class extends Gi{constructor(e,t,n,r,o,s,a,l,c,d,u,h){super(null,s,a,l,c,d,r,o,u,h),this.image={width:t,height:n},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}};Kg.prototype.isCompressedTexture=!0;var vw=class extends Gi{constructor(e,t,n,r,o,s,a,l,c){super(e,t,n,r,o,s,a,l,c),this.needsUpdate=!0}};vw.prototype.isCanvasTexture=!0;var bw=class extends Gi{constructor(e,t,n,r,o,s,a,l,c,d){if(d=d!==void 0?d:Yd,d!==Yd&&d!==Mp)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");n===void 0&&d===Yd&&(n=Vg),n===void 0&&d===Mp&&(n=Cp),super(null,r,o,s,a,l,d,n,c),this.image={width:e,height:t},this.magFilter=a!==void 0?a:Ii,this.minFilter=l!==void 0?l:Ii,this.flipY=!1,this.generateMipmaps=!1}};bw.prototype.isDepthTexture=!0;var Jg=class i extends It{constructor(e=1,t=8,n=0,r=Math.PI*2){super(),this.type="CircleGeometry",this.parameters={radius:e,segments:t,thetaStart:n,thetaLength:r},t=Math.max(3,t);let o=[],s=[],a=[],l=[],c=new R,d=new xe;s.push(0,0,0),a.push(0,0,1),l.push(.5,.5);for(let u=0,h=3;u<=t;u++,h+=3){let p=n+u/t*r;c.x=e*Math.cos(p),c.y=e*Math.sin(p),s.push(c.x,c.y,c.z),a.push(0,0,1),d.x=(s[h]/e+1)/2,d.y=(s[h+1]/e+1)/2,l.push(d.x,d.y)}for(let u=1;u<=t;u++)o.push(u,u+1,0);this.setIndex(o),this.setAttribute("position",new tt(s,3)),this.setAttribute("normal",new tt(a,3)),this.setAttribute("uv",new tt(l,2))}static fromJSON(e){return new i(e.radius,e.segments,e.thetaStart,e.thetaLength)}},iu=class i extends It{constructor(e=1,t=1,n=1,r=8,o=1,s=!1,a=0,l=Math.PI*2){super(),this.type="CylinderGeometry",this.parameters={radiusTop:e,radiusBottom:t,height:n,radialSegments:r,heightSegments:o,openEnded:s,thetaStart:a,thetaLength:l};let c=this;r=Math.floor(r),o=Math.floor(o);let d=[],u=[],h=[],p=[],f=0,m=[],y=n/2,g=0;_(),s===!1&&(e>0&&x(!0),t>0&&x(!1)),this.setIndex(d),this.setAttribute("position",new tt(u,3)),this.setAttribute("normal",new tt(h,3)),this.setAttribute("uv",new tt(p,2));function _(){let C=new R,T=new R,D=0,E=(t-e)/n;for(let P=0;P<=o;P++){let Y=[],$=P/o,U=$*(t-e)+e;for(let O=0;O<=r;O++){let B=O/r,j=B*l+a,q=Math.sin(j),k=Math.cos(j);T.x=U*q,T.y=-$*n+y,T.z=U*k,u.push(T.x,T.y,T.z),C.set(q,E,k).normalize(),h.push(C.x,C.y,C.z),p.push(B,1-$),Y.push(f++)}m.push(Y)}for(let P=0;P.9&&E<.1&&(x<.2&&(s[_+0]+=1),C<.2&&(s[_+2]+=1),T<.2&&(s[_+4]+=1))}}function h(_){o.push(_.x,_.y,_.z)}function p(_,x){let C=_*3;x.x=e[C+0],x.y=e[C+1],x.z=e[C+2]}function f(){let _=new R,x=new R,C=new R,T=new R,D=new xe,E=new xe,P=new xe;for(let Y=0,$=0;Y0)l=r-1;else{l=r;break}if(r=l,n[r]===s)return r/(o-1);let d=n[r],h=n[r+1]-d,p=(s-d)/h;return(r+p)/(o-1)}getTangent(e,t){let r=e-1e-4,o=e+1e-4;r<0&&(r=0),o>1&&(o=1);let s=this.getPoint(r),a=this.getPoint(o),l=t||(s.isVector2?new xe:new R);return l.copy(a).sub(s).normalize(),l}getTangentAt(e,t){let n=this.getUtoTmapping(e);return this.getTangent(n,t)}computeFrenetFrames(e,t){let n=new R,r=[],o=[],s=[],a=new R,l=new ct;for(let p=0;p<=e;p++){let f=p/e;r[p]=this.getTangentAt(f,new R)}o[0]=new R,s[0]=new R;let c=Number.MAX_VALUE,d=Math.abs(r[0].x),u=Math.abs(r[0].y),h=Math.abs(r[0].z);d<=c&&(c=d,n.set(1,0,0)),u<=c&&(c=u,n.set(0,1,0)),h<=c&&n.set(0,0,1),a.crossVectors(r[0],n).normalize(),o[0].crossVectors(r[0],a),s[0].crossVectors(r[0],o[0]);for(let p=1;p<=e;p++){if(o[p]=o[p-1].clone(),s[p]=s[p-1].clone(),a.crossVectors(r[p-1],r[p]),a.length()>Number.EPSILON){a.normalize();let f=Math.acos(nr(r[p-1].dot(r[p]),-1,1));o[p].applyMatrix4(l.makeRotationAxis(a,f))}s[p].crossVectors(r[p],o[p])}if(t===!0){let p=Math.acos(nr(o[0].dot(o[e]),-1,1));p/=e,r[0].dot(a.crossVectors(o[0],o[e]))>0&&(p=-p);for(let f=1;f<=e;f++)o[f].applyMatrix4(l.makeRotationAxis(r[f],p*f)),s[f].crossVectors(r[f],o[f])}return{tangents:r,normals:o,binormals:s}}clone(){return new this.constructor().copy(this)}copy(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}toJSON(){let e={metadata:{version:4.5,type:"Curve",generator:"Curve.toJSON"}};return e.arcLengthDivisions=this.arcLengthDivisions,e.type=this.type,e}fromJSON(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}},ru=class extends jr{constructor(e=0,t=0,n=1,r=1,o=0,s=Math.PI*2,a=!1,l=0){super(),this.type="EllipseCurve",this.aX=e,this.aY=t,this.xRadius=n,this.yRadius=r,this.aStartAngle=o,this.aEndAngle=s,this.aClockwise=a,this.aRotation=l}getPoint(e,t){let n=t||new xe,r=Math.PI*2,o=this.aEndAngle-this.aStartAngle,s=Math.abs(o)r;)o-=r;o0?0:(Math.floor(Math.abs(a)/o)+1)*o:l===0&&a===o-1&&(a=o-2,l=1);let c,d;this.closed||a>0?c=r[(a-1)%o]:(jx.subVectors(r[0],r[1]).add(r[0]),c=jx);let u=r[a%o],h=r[(a+1)%o];if(this.closed||a+2r.length-2?r.length-1:s+1],u=r[s>r.length-3?r.length-1:s+2];return n.set(gU(a,l.x,c.x,d.x,u.x),gU(a,l.y,c.y,d.y,u.y)),n}copy(e){super.copy(e),this.points=[];for(let t=0,n=e.points.length;t=n){let s=r[o]-n,a=this.curves[o],l=a.getLength(),c=l===0?0:1-s/l;return a.getPointAt(c,t)}o++}return null}getLength(){let e=this.getCurveLengths();return e[e.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;let e=[],t=0;for(let n=0,r=this.curves.length;n1&&!t[t.length-1].equals(t[0])&&t.push(t[0]),t}copy(e){super.copy(e),this.curves=[];for(let t=0,n=e.curves.length;t0){let u=c.getPoint(0);u.equals(this.currentPoint)||this.lineTo(u.x,u.y)}this.curves.push(c);let d=c.getPoint(1);return this.currentPoint.copy(d),this}copy(e){return super.copy(e),this.currentPoint.copy(e.currentPoint),this}toJSON(){let e=super.toJSON();return e.currentPoint=this.currentPoint.toArray(),e}fromJSON(e){return super.fromJSON(e),this.currentPoint.fromArray(e.currentPoint),this}},qo=class extends su{constructor(e){super(e),this.uuid=yo(),this.type="Shape",this.holes=[]}getPointsHoles(e){let t=[];for(let n=0,r=this.holes.length;n80*t){a=c=i[0],l=d=i[1];for(let f=t;fc&&(c=u),h>d&&(d=h);p=Math.max(c-a,d-l),p=p!==0?1/p:0}return s_(o,s,t,a,l,p),s}};function kH(i,e,t,n,r){let o,s;if(r===Yae(i,e,t,n)>0)for(o=e;o=e;o-=n)s=_U(o,i[o],i[o+1],s);return s&&tC(s,s.next)&&(l_(s),s=s.next),s}function pc(i,e){if(!i)return i;e||(e=i);let t=i,n;do if(n=!1,!t.steiner&&(tC(t,t.next)||ti(t.prev,t,t.next)===0)){if(l_(t),t=e=t.prev,t===t.next)break;n=!0}else t=t.next;while(n||t!==e);return e}function s_(i,e,t,n,r,o,s){if(!i)return;!s&&o&&Hae(i,n,r,o);let a=i,l,c;for(;i.prev!==i.next;){if(l=i.prev,c=i.next,o?Nae(i,n,r,o):Aae(i)){e.push(l.i/t),e.push(i.i/t),e.push(c.i/t),l_(i),i=c.next,a=c.next;continue}if(i=c,i===a){s?s===1?(i=kae(pc(i),e,t),s_(i,e,t,n,r,o,2)):s===2&&Lae(i,e,t,n,r,o):s_(pc(i),e,t,n,r,o,1);break}}}function Aae(i){let e=i.prev,t=i,n=i.next;if(ti(e,t,n)>=0)return!1;let r=i.next.next;for(;r!==i.prev;){if(xp(e.x,e.y,t.x,t.y,n.x,n.y,r.x,r.y)&&ti(r.prev,r,r.next)>=0)return!1;r=r.next}return!0}function Nae(i,e,t,n){let r=i.prev,o=i,s=i.next;if(ti(r,o,s)>=0)return!1;let a=r.xo.x?r.x>s.x?r.x:s.x:o.x>s.x?o.x:s.x,d=r.y>o.y?r.y>s.y?r.y:s.y:o.y>s.y?o.y:s.y,u=vP(a,l,e,t,n),h=vP(c,d,e,t,n),p=i.prevZ,f=i.nextZ;for(;p&&p.z>=u&&f&&f.z<=h;){if(p!==i.prev&&p!==i.next&&xp(r.x,r.y,o.x,o.y,s.x,s.y,p.x,p.y)&&ti(p.prev,p,p.next)>=0||(p=p.prevZ,f!==i.prev&&f!==i.next&&xp(r.x,r.y,o.x,o.y,s.x,s.y,f.x,f.y)&&ti(f.prev,f,f.next)>=0))return!1;f=f.nextZ}for(;p&&p.z>=u;){if(p!==i.prev&&p!==i.next&&xp(r.x,r.y,o.x,o.y,s.x,s.y,p.x,p.y)&&ti(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;f&&f.z<=h;){if(f!==i.prev&&f!==i.next&&xp(r.x,r.y,o.x,o.y,s.x,s.y,f.x,f.y)&&ti(f.prev,f,f.next)>=0)return!1;f=f.nextZ}return!0}function kae(i,e,t){let n=i;do{let r=n.prev,o=n.next.next;!tC(r,o)&&LH(r,n,n.next,o)&&a_(r,o)&&a_(o,r)&&(e.push(r.i/t),e.push(n.i/t),e.push(o.i/t),l_(n),l_(n.next),n=i=o),n=n.next}while(n!==i);return pc(n)}function Lae(i,e,t,n,r,o){let s=i;do{let a=s.next.next;for(;a!==s.prev;){if(s.i!==a.i&&Wae(s,a)){let l=FH(s,a);s=pc(s,s.next),l=pc(l,l.next),s_(s,e,t,n,r,o),s_(l,e,t,n,r,o);return}a=a.next}s=s.next}while(s!==i)}function Fae(i,e,t,n){let r=[],o,s,a,l,c;for(o=0,s=e.length;o=t.next.y&&t.next.y!==t.y){let h=t.x+(r-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(h<=n&&h>o){if(o=h,h===n){if(r===t.y)return t;if(r===t.next.y)return t.next}s=t.x=t.x&&t.x>=l&&n!==t.x&&xp(rs.x||t.x===s.x&&Uae(s,t)))&&(s=t,d=u)),t=t.next;while(t!==a);return s}function Uae(i,e){return ti(i.prev,i,e.prev)<0&&ti(e.next,i,i.next)<0}function Hae(i,e,t,n){let r=i;do r.z===null&&(r.z=vP(r.x,r.y,e,t,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next;while(r!==i);r.prevZ.nextZ=null,r.prevZ=null,Gae(r)}function Gae(i){let e,t,n,r,o,s,a,l,c=1;do{for(t=i,i=null,o=null,s=0;t;){for(s++,n=t,a=0,e=0;e0||l>0&&n;)a!==0&&(l===0||!n||t.z<=n.z)?(r=t,t=t.nextZ,a--):(r=n,n=n.nextZ,l--),o?o.nextZ=r:i=r,r.prevZ=o,o=r;t=n}o.nextZ=null,c*=2}while(s>1);return i}function vP(i,e,t,n,r){return i=32767*(i-t)*r,e=32767*(e-n)*r,i=(i|i<<8)&16711935,i=(i|i<<4)&252645135,i=(i|i<<2)&858993459,i=(i|i<<1)&1431655765,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,i|e<<1}function jae(i){let e=i,t=i;do(e.x=0&&(i-s)*(n-a)-(t-s)*(e-a)>=0&&(t-s)*(o-a)-(r-s)*(n-a)>=0}function Wae(i,e){return i.next.i!==e.i&&i.prev.i!==e.i&&!$ae(i,e)&&(a_(i,e)&&a_(e,i)&&qae(i,e)&&(ti(i.prev,i,e.prev)||ti(i,e.prev,e))||tC(i,e)&&ti(i.prev,i,i.next)>0&&ti(e.prev,e,e.next)>0)}function ti(i,e,t){return(e.y-i.y)*(t.x-e.x)-(e.x-i.x)*(t.y-e.y)}function tC(i,e){return i.x===e.x&&i.y===e.y}function LH(i,e,t,n){let r=$x(ti(i,e,t)),o=$x(ti(i,e,n)),s=$x(ti(t,n,i)),a=$x(ti(t,n,e));return!!(r!==o&&s!==a||r===0&&Wx(i,t,e)||o===0&&Wx(i,n,e)||s===0&&Wx(t,i,n)||a===0&&Wx(t,e,n))}function Wx(i,e,t){return e.x<=Math.max(i.x,t.x)&&e.x>=Math.min(i.x,t.x)&&e.y<=Math.max(i.y,t.y)&&e.y>=Math.min(i.y,t.y)}function $x(i){return i>0?1:i<0?-1:0}function $ae(i,e){let t=i;do{if(t.i!==i.i&&t.next.i!==i.i&&t.i!==e.i&&t.next.i!==e.i&&LH(t,t.next,i,e))return!0;t=t.next}while(t!==i);return!1}function a_(i,e){return ti(i.prev,i,i.next)<0?ti(i,e,i.next)>=0&&ti(i,i.prev,e)>=0:ti(i,e,i.prev)<0||ti(i,i.next,e)<0}function qae(i,e){let t=i,n=!1,r=(i.x+e.x)/2,o=(i.y+e.y)/2;do t.y>o!=t.next.y>o&&t.next.y!==t.y&&r<(t.next.x-t.x)*(o-t.y)/(t.next.y-t.y)+t.x&&(n=!n),t=t.next;while(t!==i);return n}function FH(i,e){let t=new bP(i.i,i.x,i.y),n=new bP(e.i,e.x,e.y),r=i.next,o=e.prev;return i.next=e,e.prev=i,t.next=r,r.prev=t,n.next=t,t.prev=n,o.next=n,n.prev=o,n}function _U(i,e,t,n){let r=new bP(i,e,t);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r}function l_(i){i.next.prev=i.prev,i.prev.next=i.next,i.prevZ&&(i.prevZ.nextZ=i.nextZ),i.nextZ&&(i.nextZ.prevZ=i.prevZ)}function bP(i,e,t){this.i=i,this.x=e,this.y=t,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function Yae(i,e,t,n){let r=0;for(let o=e,s=t-n;o2&&i[e-1].equals(i[0])&&i.pop()}function bU(i,e){for(let t=0;tNumber.EPSILON){let vt=Math.sqrt(et),Ft=Math.sqrt(Ne*Ne+ke*ke),mt=Pe.x-fe/vt,Q=Pe.y+A/vt,$e=Be.x-ke/Ft,Se=Be.y+Ne/Ft,gt=(($e-mt)*ke-(Se-Q)*Ne)/(A*ke-fe*Ne);ft=mt+A*gt-_e.x,We=Q+fe*gt-_e.y;let dt=ft*ft+We*We;if(dt<=2)return new xe(ft,We);F=Math.sqrt(dt/2)}else{let vt=!1;A>Number.EPSILON?Ne>Number.EPSILON&&(vt=!0):A<-Number.EPSILON?Ne<-Number.EPSILON&&(vt=!0):Math.sign(fe)===Math.sign(ke)&&(vt=!0),vt?(ft=-fe,We=A,F=Math.sqrt(et)):(ft=A,We=fe,F=Math.sqrt(et/2))}return new xe(ft/F,We/F)}let de=[];for(let _e=0,Pe=j.length,Be=Pe-1,ft=_e+1;_e=0;_e--){let Pe=_e/y,Be=p*Math.cos(Pe*Math.PI/2),ft=f*Math.sin(Pe*Math.PI/2)+m;for(let We=0,F=j.length;We=0;){let ft=Be,We=Be-1;We<0&&(We=_e.length-1);for(let F=0,A=d+y*2;F0)&&p.push(x,C,D),(g!==n-1||l0!=e>0&&this.version++,this._sheen=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.ior=e.ior,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}};v_.prototype.isMeshPhysicalMaterial=!0;var b_=class extends Ti{constructor(e){super(),this.type="MeshPhongMaterial",this.color=new je(16777215),this.specular=new je(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new je(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=gu,this.normalScale=new xe(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=B_,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.specular.copy(e.specular),this.shininess=e.shininess,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this}};b_.prototype.isMeshPhongMaterial=!0;var y_=class extends Ti{constructor(e){super(),this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new je(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new je(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=gu,this.normalScale=new xe(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.gradientMap=e.gradientMap,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this}};y_.prototype.isMeshToonMaterial=!0;var x_=class extends Ti{constructor(e){super(),this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=gu,this.normalScale=new xe(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.flatShading=!1,this.setValues(e)}copy(e){return super.copy(e),this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.flatShading=e.flatShading,this}};x_.prototype.isMeshNormalMaterial=!0;var w_=class extends Ti{constructor(e){super(),this.type="MeshLambertMaterial",this.color=new je(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new je(0),this.emissiveIntensity=1,this.emissiveMap=null,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=B_,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this}};w_.prototype.isMeshLambertMaterial=!0;var C_=class extends Ti{constructor(e){super(),this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new je(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=gu,this.normalScale=new xe(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.flatShading=!1,this.setValues(e)}copy(e){return super.copy(e),this.defines={MATCAP:""},this.color.copy(e.color),this.matcap=e.matcap,this.map=e.map,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.flatShading=e.flatShading,this}};C_.prototype.isMeshMatcapMaterial=!0;var S_=class extends Di{constructor(e){super(),this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(e)}copy(e){return super.copy(e),this.scale=e.scale,this.dashSize=e.dashSize,this.gapSize=e.gapSize,this}};S_.prototype.isLineDashedMaterial=!0;var Kae=Object.freeze({__proto__:null,ShadowMaterial:__,SpriteMaterial:Bp,RawShaderMaterial:dc,ShaderMaterial:ws,PointsMaterial:nl,MeshPhysicalMaterial:v_,MeshStandardMaterial:Xp,MeshPhongMaterial:b_,MeshToonMaterial:y_,MeshNormalMaterial:x_,MeshLambertMaterial:w_,MeshDepthMaterial:kp,MeshDistanceMaterial:Lp,MeshBasicMaterial:xs,MeshMatcapMaterial:C_,LineDashedMaterial:S_,LineBasicMaterial:Di,Material:Ti}),Qn={arraySlice:function(i,e,t){return Qn.isTypedArray(i)?new i.constructor(i.subarray(e,t!==void 0?t:i.length)):i.slice(e,t)},convertArray:function(i,e,t){return!i||!t&&i.constructor===e?i:typeof e.BYTES_PER_ELEMENT=="number"?new e(i):Array.prototype.slice.call(i)},isTypedArray:function(i){return ArrayBuffer.isView(i)&&!(i instanceof DataView)},getKeyframeOrder:function(i){function e(r,o){return i[r]-i[o]}let t=i.length,n=new Array(t);for(let r=0;r!==t;++r)n[r]=r;return n.sort(e),n},sortedArray:function(i,e,t){let n=i.length,r=new i.constructor(n);for(let o=0,s=0;s!==n;++o){let a=t[o]*e;for(let l=0;l!==e;++l)r[s++]=i[a+l]}return r},flattenJSON:function(i,e,t,n){let r=1,o=i[0];for(;o!==void 0&&o[n]===void 0;)o=i[r++];if(o===void 0)return;let s=o[n];if(s!==void 0)if(Array.isArray(s))do s=o[n],s!==void 0&&(e.push(o.time),t.push.apply(t,s)),o=i[r++];while(o!==void 0);else if(s.toArray!==void 0)do s=o[n],s!==void 0&&(e.push(o.time),s.toArray(t,t.length)),o=i[r++];while(o!==void 0);else do s=o[n],s!==void 0&&(e.push(o.time),t.push(s)),o=i[r++];while(o!==void 0)},subclip:function(i,e,t,n,r=30){let o=i.clone();o.name=e;let s=[];for(let l=0;l=n)){u.push(c.times[p]);for(let m=0;mo.tracks[l].times[0]&&(a=o.tracks[l].times[0]);for(let l=0;l=a.times[f]){let g=f*u+d,_=g+u-d;m=Qn.arraySlice(a.values,g,_)}else{let g=a.createInterpolant(),_=d,x=u-d;g.evaluate(o),m=Qn.arraySlice(g.resultBuffer,_,x)}l==="quaternion"&&new Bi().fromArray(m).normalize().conjugate().toArray(m);let y=c.times.length;for(let g=0;g=o)){let a=t[1];e=o)break t}s=n,n=0;break n}break e}for(;n>>1;et;)--s;if(++s,o!==0||s!==r){o>=s&&(s=Math.max(s,1),o=s-1);let a=this.getValueSize();this.times=Qn.arraySlice(n,o,s),this.values=Qn.arraySlice(this.values,o*a,s*a)}return this}validate(){let e=!0,t=this.getValueSize();t-Math.floor(t)!==0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),e=!1);let n=this.times,r=this.values,o=n.length;o===0&&(console.error("THREE.KeyframeTrack: Track is empty.",this),e=!1);let s=null;for(let a=0;a!==o;a++){let l=n[a];if(typeof l=="number"&&isNaN(l)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,a,l),e=!1;break}if(s!==null&&s>l){console.error("THREE.KeyframeTrack: Out of order keys.",this,a,l,s),e=!1;break}s=l}if(r!==void 0&&Qn.isTypedArray(r))for(let a=0,l=r.length;a!==l;++a){let c=r[a];if(isNaN(c)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,a,c),e=!1;break}}return e}optimize(){let e=Qn.arraySlice(this.times),t=Qn.arraySlice(this.values),n=this.getValueSize(),r=this.getInterpolation()===ew,o=e.length-1,s=1;for(let a=1;a0){e[s]=e[o];for(let a=o*n,l=s*n,c=0;c!==n;++c)t[l+c]=t[a+c];++s}return s!==e.length?(this.times=Qn.arraySlice(e,0,s),this.values=Qn.arraySlice(t,0,s*n)):(this.times=e,this.values=t),this}clone(){let e=Qn.arraySlice(this.times,0),t=Qn.arraySlice(this.values,0),n=this.constructor,r=new n(this.name,e,t);return r.createInterpolant=this.createInterpolant,r}};wo.prototype.TimeBufferType=Float32Array;wo.prototype.ValueBufferType=Float32Array;wo.prototype.DefaultInterpolation=Ug;var ol=class extends wo{};ol.prototype.ValueTypeName="bool";ol.prototype.ValueBufferType=Array;ol.prototype.DefaultInterpolation=zg;ol.prototype.InterpolantFactoryMethodLinear=void 0;ol.prototype.InterpolantFactoryMethodSmooth=void 0;var E_=class extends wo{};E_.prototype.ValueTypeName="color";var au=class extends wo{};au.prototype.ValueTypeName="number";var Sw=class extends Ss{constructor(e,t,n,r){super(e,t,n,r)}interpolate_(e,t,n,r){let o=this.resultBuffer,s=this.sampleValues,a=this.valueSize,l=(n-t)/(r-t),c=e*a;for(let d=c+a;c!==d;c+=4)Bi.slerpFlat(o,0,s,c-a,s,c,l);return o}},fc=class extends wo{InterpolantFactoryMethodLinear(e){return new Sw(this.times,this.values,this.getValueSize(),e)}};fc.prototype.ValueTypeName="quaternion";fc.prototype.DefaultInterpolation=Ug;fc.prototype.InterpolantFactoryMethodSmooth=void 0;var sl=class extends wo{};sl.prototype.ValueTypeName="string";sl.prototype.ValueBufferType=Array;sl.prototype.DefaultInterpolation=zg;sl.prototype.InterpolantFactoryMethodLinear=void 0;sl.prototype.InterpolantFactoryMethodSmooth=void 0;var lu=class extends wo{};lu.prototype.ValueTypeName="vector";var cu=class{constructor(e,t=-1,n,r=Qw){this.name=e,this.tracks=n,this.duration=t,this.blendMode=r,this.uuid=yo(),this.duration<0&&this.resetDuration()}static parse(e){let t=[],n=e.tracks,r=1/(e.fps||1);for(let s=0,a=n.length;s!==a;++s)t.push(ele(n[s]).scale(r));let o=new this(e.name,e.duration,t,e.blendMode);return o.uuid=e.uuid,o}static toJSON(e){let t=[],n=e.tracks,r={name:e.name,duration:e.duration,tracks:t,uuid:e.uuid,blendMode:e.blendMode};for(let o=0,s=n.length;o!==s;++o)t.push(wo.toJSON(n[o]));return r}static CreateFromMorphTargetSequence(e,t,n,r){let o=t.length,s=[];for(let a=0;a1){let u=d[1],h=r[u];h||(r[u]=h=[]),h.push(c)}}let s=[];for(let a in r)s.push(this.CreateFromMorphTargetSequence(a,r[a],t,n));return s}static parseAnimation(e,t){if(!e)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;let n=function(u,h,p,f,m){if(p.length!==0){let y=[],g=[];Qn.flattenJSON(p,y,g,f),y.length!==0&&m.push(new u(h,y,g))}},r=[],o=e.name||"default",s=e.fps||30,a=e.blendMode,l=e.length||-1,c=e.hierarchy||[];for(let u=0;u{t&&t(o),this.manager.itemEnd(e)},0),o;if(Ya[e]!==void 0){Ya[e].push({onLoad:t,onProgress:n,onError:r});return}Ya[e]=[],Ya[e].push({onLoad:t,onProgress:n,onError:r});let s=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"});fetch(s).then(a=>{if(a.status===200||a.status===0){a.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received.");let l=Ya[e],c=a.body.getReader(),d=a.headers.get("Content-Length"),u=d?parseInt(d):0,h=u!==0,p=0;return new ReadableStream({start(f){m();function m(){c.read().then(({done:y,value:g})=>{if(y)f.close();else{p+=g.byteLength;let _=new ProgressEvent("progress",{lengthComputable:h,loaded:p,total:u});for(let x=0,C=l.length;x{let l=new Response(a);switch(this.responseType){case"arraybuffer":return l.arrayBuffer();case"blob":return l.blob();case"document":return l.text().then(c=>new DOMParser().parseFromString(c,this.mimeType));case"json":return l.json();default:return l.text()}}).then(a=>{du.add(e,a);let l=Ya[e];delete Ya[e];for(let c=0,d=l.length;c{let l=Ya[e];delete Ya[e];for(let c=0,d=l.length;c0:r.vertexColors=e.vertexColors),e.uniforms!==void 0)for(let o in e.uniforms){let s=e.uniforms[o];switch(r.uniforms[o]={},s.type){case"t":r.uniforms[o].value=n(s.value);break;case"c":r.uniforms[o].value=new je().setHex(s.value);break;case"v2":r.uniforms[o].value=new xe().fromArray(s.value);break;case"v3":r.uniforms[o].value=new R().fromArray(s.value);break;case"v4":r.uniforms[o].value=new Cn().fromArray(s.value);break;case"m3":r.uniforms[o].value=new xi().fromArray(s.value);break;case"m4":r.uniforms[o].value=new ct().fromArray(s.value);break;default:r.uniforms[o].value=s.value}}if(e.defines!==void 0&&(r.defines=e.defines),e.vertexShader!==void 0&&(r.vertexShader=e.vertexShader),e.fragmentShader!==void 0&&(r.fragmentShader=e.fragmentShader),e.extensions!==void 0)for(let o in e.extensions)r.extensions[o]=e.extensions[o];if(e.shading!==void 0&&(r.flatShading=e.shading===1),e.size!==void 0&&(r.size=e.size),e.sizeAttenuation!==void 0&&(r.sizeAttenuation=e.sizeAttenuation),e.map!==void 0&&(r.map=n(e.map)),e.matcap!==void 0&&(r.matcap=n(e.matcap)),e.alphaMap!==void 0&&(r.alphaMap=n(e.alphaMap)),e.bumpMap!==void 0&&(r.bumpMap=n(e.bumpMap)),e.bumpScale!==void 0&&(r.bumpScale=e.bumpScale),e.normalMap!==void 0&&(r.normalMap=n(e.normalMap)),e.normalMapType!==void 0&&(r.normalMapType=e.normalMapType),e.normalScale!==void 0){let o=e.normalScale;Array.isArray(o)===!1&&(o=[o,o]),r.normalScale=new xe().fromArray(o)}return e.displacementMap!==void 0&&(r.displacementMap=n(e.displacementMap)),e.displacementScale!==void 0&&(r.displacementScale=e.displacementScale),e.displacementBias!==void 0&&(r.displacementBias=e.displacementBias),e.roughnessMap!==void 0&&(r.roughnessMap=n(e.roughnessMap)),e.metalnessMap!==void 0&&(r.metalnessMap=n(e.metalnessMap)),e.emissiveMap!==void 0&&(r.emissiveMap=n(e.emissiveMap)),e.emissiveIntensity!==void 0&&(r.emissiveIntensity=e.emissiveIntensity),e.specularMap!==void 0&&(r.specularMap=n(e.specularMap)),e.specularIntensityMap!==void 0&&(r.specularIntensityMap=n(e.specularIntensityMap)),e.specularColorMap!==void 0&&(r.specularColorMap=n(e.specularColorMap)),e.envMap!==void 0&&(r.envMap=n(e.envMap)),e.envMapIntensity!==void 0&&(r.envMapIntensity=e.envMapIntensity),e.reflectivity!==void 0&&(r.reflectivity=e.reflectivity),e.refractionRatio!==void 0&&(r.refractionRatio=e.refractionRatio),e.lightMap!==void 0&&(r.lightMap=n(e.lightMap)),e.lightMapIntensity!==void 0&&(r.lightMapIntensity=e.lightMapIntensity),e.aoMap!==void 0&&(r.aoMap=n(e.aoMap)),e.aoMapIntensity!==void 0&&(r.aoMapIntensity=e.aoMapIntensity),e.gradientMap!==void 0&&(r.gradientMap=n(e.gradientMap)),e.clearcoatMap!==void 0&&(r.clearcoatMap=n(e.clearcoatMap)),e.clearcoatRoughnessMap!==void 0&&(r.clearcoatRoughnessMap=n(e.clearcoatRoughnessMap)),e.clearcoatNormalMap!==void 0&&(r.clearcoatNormalMap=n(e.clearcoatNormalMap)),e.clearcoatNormalScale!==void 0&&(r.clearcoatNormalScale=new xe().fromArray(e.clearcoatNormalScale)),e.transmissionMap!==void 0&&(r.transmissionMap=n(e.transmissionMap)),e.thicknessMap!==void 0&&(r.thicknessMap=n(e.thicknessMap)),e.sheenColorMap!==void 0&&(r.sheenColorMap=n(e.sheenColorMap)),e.sheenRoughnessMap!==void 0&&(r.sheenRoughnessMap=n(e.sheenRoughnessMap)),r}setTextures(e){return this.textures=e,this}},Zp=class{static decodeText(e){if(typeof TextDecoder<"u")return new TextDecoder().decode(e);let t="";for(let n=0,r=e.length;n0){let l=new I_(t);o=new uu(l),o.setCrossOrigin(this.crossOrigin);for(let c=0,d=e.length;c0){r=new uu(this.manager),r.setCrossOrigin(this.crossOrigin);for(let s=0,a=e.length;s"u"&&console.warn("THREE.ImageBitmapLoader: createImageBitmap() not supported."),typeof fetch>"u"&&console.warn("THREE.ImageBitmapLoader: fetch() not supported."),this.options={premultiplyAlpha:"none"}}setOptions(e){return this.options=e,this}load(e,t,n,r){e===void 0&&(e=""),this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);let o=this,s=du.get(e);if(s!==void 0)return o.manager.itemStart(e),setTimeout(function(){t&&t(s),o.manager.itemEnd(e)},0),s;let a={};a.credentials=this.crossOrigin==="anonymous"?"same-origin":"include",a.headers=this.requestHeader,fetch(e,a).then(function(l){return l.blob()}).then(function(l){return createImageBitmap(l,Object.assign(o.options,{colorSpaceConversion:"none"}))}).then(function(l){du.add(e,l),t&&t(l),o.manager.itemEnd(e)}).catch(function(l){r&&r(l),o.manager.itemError(e),o.manager.itemEnd(e)}),o.manager.itemStart(e)}};Aw.prototype.isImageBitmapLoader=!0;var qx,rO={getContext:function(){return qx===void 0&&(qx=new(window.AudioContext||window.webkitAudioContext)),qx},setContext:function(i){qx=i}},Nw=class extends ar{constructor(e){super(e)}load(e,t,n,r){let o=this,s=new Yo(this.manager);s.setResponseType("arraybuffer"),s.setPath(this.path),s.setRequestHeader(this.requestHeader),s.setWithCredentials(this.withCredentials),s.load(e,function(a){try{let l=a.slice(0);rO.getContext().decodeAudioData(l,function(d){t(d)})}catch(l){r?r(l):console.error(l),o.manager.itemError(e)}},n,r)}},kw=class extends hu{constructor(e,t,n=1){super(void 0,n);let r=new je().set(e),o=new je().set(t),s=new R(r.r,r.g,r.b),a=new R(o.r,o.g,o.b),l=Math.sqrt(Math.PI),c=l*Math.sqrt(.75);this.sh.coefficients[0].copy(s).add(a).multiplyScalar(l),this.sh.coefficients[1].copy(s).sub(a).multiplyScalar(c)}};kw.prototype.isHemisphereLightProbe=!0;var Lw=class extends hu{constructor(e,t=1){super(void 0,t);let n=new je().set(e);this.sh.coefficients[0].set(n.r,n.g,n.b).multiplyScalar(2*Math.sqrt(Math.PI))}};Lw.prototype.isAmbientLightProbe=!0;var TU=new ct,DU=new ct,CP=class{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new Ei,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new Ei,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}}update(e){let t=this._cache;if(t.focus!==e.focus||t.fov!==e.fov||t.aspect!==e.aspect*this.aspect||t.near!==e.near||t.far!==e.far||t.zoom!==e.zoom||t.eyeSep!==this.eyeSep){t.focus=e.focus,t.fov=e.fov,t.aspect=e.aspect*this.aspect,t.near=e.near,t.far=e.far,t.zoom=e.zoom,t.eyeSep=this.eyeSep;let r=e.projectionMatrix.clone(),o=t.eyeSep/2,s=o*t.near/t.focus,a=t.near*Math.tan(Xd*t.fov*.5)/t.zoom,l,c;DU.elements[12]=-o,TU.elements[12]=o,l=-a*t.aspect+s,c=a*t.aspect+s,r.elements[0]=2*t.near/(c-l),r.elements[8]=(c+l)/(c-l),this.cameraL.projectionMatrix.copy(r),l=-a*t.aspect-s,c=a*t.aspect-s,r.elements[0]=2*t.near/(c-l),r.elements[8]=(c+l)/(c-l),this.cameraR.projectionMatrix.copy(r)}this.cameraL.matrixWorld.copy(e.matrixWorld).multiply(DU),this.cameraR.matrixWorld.copy(e.matrixWorld).multiply(TU)}},Fw=class{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=PU(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}stop(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}getElapsedTime(){return this.getDelta(),this.elapsedTime}getDelta(){let e=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){let t=PU();e=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=e}return e}};function PU(){return(typeof performance>"u"?Date:performance).now()}var Bd=new R,OU=new Bi,nle=new R,Vd=new R,SP=class extends hn{constructor(){super(),this.type="AudioListener",this.context=rO.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new Fw}getInput(){return this.gain}removeFilter(){return this.filter!==null&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null),this}getFilter(){return this.filter}setFilter(e){return this.filter!==null?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=e,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this}getMasterVolume(){return this.gain.gain.value}setMasterVolume(e){return this.gain.gain.setTargetAtTime(e,this.context.currentTime,.01),this}updateMatrixWorld(e){super.updateMatrixWorld(e);let t=this.context.listener,n=this.up;if(this.timeDelta=this._clock.getDelta(),this.matrixWorld.decompose(Bd,OU,nle),Vd.set(0,0,-1).applyQuaternion(OU),t.positionX){let r=this.context.currentTime+this.timeDelta;t.positionX.linearRampToValueAtTime(Bd.x,r),t.positionY.linearRampToValueAtTime(Bd.y,r),t.positionZ.linearRampToValueAtTime(Bd.z,r),t.forwardX.linearRampToValueAtTime(Vd.x,r),t.forwardY.linearRampToValueAtTime(Vd.y,r),t.forwardZ.linearRampToValueAtTime(Vd.z,r),t.upX.linearRampToValueAtTime(n.x,r),t.upY.linearRampToValueAtTime(n.y,r),t.upZ.linearRampToValueAtTime(n.z,r)}else t.setPosition(Bd.x,Bd.y,Bd.z),t.setOrientation(Vd.x,Vd.y,Vd.z,n.x,n.y,n.z)}},F_=class extends hn{constructor(e){super(),this.type="Audio",this.listener=e,this.context=e.context,this.gain=this.context.createGain(),this.gain.connect(e.getInput()),this.autoplay=!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.source=null,this.sourceType="empty",this._startedAt=0,this._progress=0,this._connected=!1,this.filters=[]}getOutput(){return this.gain}setNodeSource(e){return this.hasPlaybackControl=!1,this.sourceType="audioNode",this.source=e,this.connect(),this}setMediaElementSource(e){return this.hasPlaybackControl=!1,this.sourceType="mediaNode",this.source=this.context.createMediaElementSource(e),this.connect(),this}setMediaStreamSource(e){return this.hasPlaybackControl=!1,this.sourceType="mediaStreamNode",this.source=this.context.createMediaStreamSource(e),this.connect(),this}setBuffer(e){return this.buffer=e,this.sourceType="buffer",this.autoplay&&this.play(),this}play(e=0){if(this.isPlaying===!0){console.warn("THREE.Audio: Audio is already playing.");return}if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}this._startedAt=this.context.currentTime+e;let t=this.context.createBufferSource();return t.buffer=this.buffer,t.loop=this.loop,t.loopStart=this.loopStart,t.loopEnd=this.loopEnd,t.onended=this.onEnded.bind(this),t.start(this._startedAt,this._progress+this.offset,this.duration),this.isPlaying=!0,this.source=t,this.setDetune(this.detune),this.setPlaybackRate(this.playbackRate),this.connect()}pause(){if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}return this.isPlaying===!0&&(this._progress+=Math.max(this.context.currentTime-this._startedAt,0)*this.playbackRate,this.loop===!0&&(this._progress=this._progress%(this.duration||this.buffer.duration)),this.source.stop(),this.source.onended=null,this.isPlaying=!1),this}stop(){if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}return this._progress=0,this.source.stop(),this.source.onended=null,this.isPlaying=!1,this}connect(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(let e=1,t=this.filters.length;e0){this.source.disconnect(this.filters[0]);for(let e=1,t=this.filters.length;e0&&this._mixBufferRegionAdditive(n,r,this._addIndex*t,1,t);for(let l=t,c=t+t;l!==c;++l)if(n[l]!==n[l+t]){a.setValue(n,r);break}}saveOriginalState(){let e=this.binding,t=this.buffer,n=this.valueSize,r=n*this._origIndex;e.getValue(t,r);for(let o=n,s=r;o!==s;++o)t[o]=t[r+o%n];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){let e=this.valueSize*3;this.binding.setValue(this.buffer,e)}_setAdditiveIdentityNumeric(){let e=this._addIndex*this.valueSize,t=e+this.valueSize;for(let n=e;n=.5)for(let s=0;s!==o;++s)e[t+s]=e[n+s]}_slerp(e,t,n,r){Bi.slerpFlat(e,t,e,t,e,n,r)}_slerpAdditive(e,t,n,r,o){let s=this._workIndex*o;Bi.multiplyQuaternionsFlat(e,s,e,t,e,n),Bi.slerpFlat(e,t,e,t,e,s,r)}_lerp(e,t,n,r,o){let s=1-r;for(let a=0;a!==o;++a){let l=t+a;e[l]=e[l]*s+e[n+a]*r}}_lerpAdditive(e,t,n,r,o){for(let s=0;s!==o;++s){let a=t+s;e[a]=e[a]+e[n+s]*r}}},oO="\\[\\]\\.:\\/",rle=new RegExp("["+oO+"]","g"),sO="[^"+oO+"]",ole="[^"+oO.replace("\\.","")+"]",sle=/((?:WC+[\/:])*)/.source.replace("WC",sO),ale=/(WCOD+)?/.source.replace("WCOD",ole),lle=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",sO),cle=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",sO),dle=new RegExp("^"+sle+ale+lle+cle+"$"),ule=["material","materials","bones"],EP=class{constructor(e,t,n){let r=n||jn.parseTrackName(t);this._targetGroup=e,this._bindings=e.subscribe_(t,r)}getValue(e,t){this.bind();let n=this._targetGroup.nCachedObjects_,r=this._bindings[n];r!==void 0&&r.getValue(e,t)}setValue(e,t){let n=this._bindings;for(let r=this._targetGroup.nCachedObjects_,o=n.length;r!==o;++r)n[r].setValue(e,t)}bind(){let e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].bind()}unbind(){let e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].unbind()}},jn=(()=>{class i{constructor(t,n,r){this.path=n,this.parsedPath=r||i.parseTrackName(n),this.node=i.findNode(t,this.parsedPath.nodeName)||t,this.rootNode=t,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(t,n,r){return t&&t.isAnimationObjectGroup?new i.Composite(t,n,r):new i(t,n,r)}static sanitizeNodeName(t){return t.replace(/\s/g,"_").replace(rle,"")}static parseTrackName(t){let n=dle.exec(t);if(!n)throw new Error("PropertyBinding: Cannot parse trackName: "+t);let r={nodeName:n[2],objectName:n[3],objectIndex:n[4],propertyName:n[5],propertyIndex:n[6]},o=r.nodeName&&r.nodeName.lastIndexOf(".");if(o!==void 0&&o!==-1){let s=r.nodeName.substring(o+1);ule.indexOf(s)!==-1&&(r.nodeName=r.nodeName.substring(0,o),r.objectName=s)}if(r.propertyName===null||r.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+t);return r}static findNode(t,n){if(!n||n===""||n==="."||n===-1||n===t.name||n===t.uuid)return t;if(t.skeleton){let r=t.skeleton.getBoneByName(n);if(r!==void 0)return r}if(t.children){let r=function(s){for(let a=0;a=o){let u=o++,h=e[u];t[h.uuid]=d,e[d]=h,t[c]=u,e[u]=l;for(let p=0,f=r;p!==f;++p){let m=n[p],y=m[u],g=m[d];m[d]=y,m[u]=g}}}this.nCachedObjects_=o}uncache(){let e=this._objects,t=this._indicesByUUID,n=this._bindings,r=n.length,o=this.nCachedObjects_,s=e.length;for(let a=0,l=arguments.length;a!==l;++a){let c=arguments[a],d=c.uuid,u=t[d];if(u!==void 0)if(delete t[d],u0&&(t[p.uuid]=u),e[u]=p,e.pop();for(let f=0,m=r;f!==m;++f){let y=n[f];y[u]=y[h],y.pop()}}}this.nCachedObjects_=o}subscribe_(e,t){let n=this._bindingsIndicesByPath,r=n[e],o=this._bindings;if(r!==void 0)return o[r];let s=this._paths,a=this._parsedPaths,l=this._objects,c=l.length,d=this.nCachedObjects_,u=new Array(c);r=o.length,n[e]=r,s.push(e),a.push(t),o.push(u);for(let h=d,p=l.length;h!==p;++h){let f=l[h];u[h]=new jn(f,e,t)}return u}unsubscribe_(e){let t=this._bindingsIndicesByPath,n=t[e];if(n!==void 0){let r=this._paths,o=this._parsedPaths,s=this._bindings,a=s.length-1,l=s[a],c=e[a];t[c]=n,s[n]=l,s.pop(),o[n]=o[a],o.pop(),r[n]=r[a],r.pop()}}};zw.prototype.isAnimationObjectGroup=!0;var IP=class{constructor(e,t,n=null,r=t.blendMode){this._mixer=e,this._clip=t,this._localRoot=n,this.blendMode=r;let o=t.tracks,s=o.length,a=new Array(s),l={endingStart:jd,endingEnd:jd};for(let c=0;c!==s;++c){let d=o[c].createInterpolant(null);a[c]=d,d.settings=l}this._interpolantSettings=l,this._interpolants=a,this._propertyBindings=new Array(s),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=dH,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}play(){return this._mixer._activateAction(this),this}stop(){return this._mixer._deactivateAction(this),this.reset()}reset(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()}isRunning(){return this.enabled&&!this.paused&&this.timeScale!==0&&this._startTime===null&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(e){return this._startTime=e,this}setLoop(e,t){return this.loop=e,this.repetitions=t,this}setEffectiveWeight(e){return this.weight=e,this._effectiveWeight=this.enabled?e:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(e){return this._scheduleFading(e,0,1)}fadeOut(e){return this._scheduleFading(e,1,0)}crossFadeFrom(e,t,n){if(e.fadeOut(t),this.fadeIn(t),n){let r=this._clip.duration,o=e._clip.duration,s=o/r,a=r/o;e.warp(1,s,t),this.warp(a,1,t)}return this}crossFadeTo(e,t,n){return e.crossFadeFrom(this,t,n)}stopFading(){let e=this._weightInterpolant;return e!==null&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}setEffectiveTimeScale(e){return this.timeScale=e,this._effectiveTimeScale=this.paused?0:e,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(e){return this.timeScale=this._clip.duration/e,this.stopWarping()}syncWith(e){return this.time=e.time,this.timeScale=e.timeScale,this.stopWarping()}halt(e){return this.warp(this._effectiveTimeScale,0,e)}warp(e,t,n){let r=this._mixer,o=r.time,s=this.timeScale,a=this._timeScaleInterpolant;a===null&&(a=r._lendControlInterpolant(),this._timeScaleInterpolant=a);let l=a.parameterPositions,c=a.sampleValues;return l[0]=o,l[1]=o+n,c[0]=e/s,c[1]=t/s,this}stopWarping(){let e=this._timeScaleInterpolant;return e!==null&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(e,t,n,r){if(!this.enabled){this._updateWeight(e);return}let o=this._startTime;if(o!==null){let l=(e-o)*n;if(l<0||n===0)return;this._startTime=null,t=n*l}t*=this._updateTimeScale(e);let s=this._updateTime(t),a=this._updateWeight(e);if(a>0){let l=this._interpolants,c=this._propertyBindings;switch(this.blendMode){case XP:for(let d=0,u=l.length;d!==u;++d)l[d].evaluate(s),c[d].accumulateAdditive(a);break;case Qw:default:for(let d=0,u=l.length;d!==u;++d)l[d].evaluate(s),c[d].accumulate(r,a)}}}_updateWeight(e){let t=0;if(this.enabled){t=this.weight;let n=this._weightInterpolant;if(n!==null){let r=n.evaluate(e)[0];t*=r,e>n.parameterPositions[1]&&(this.stopFading(),r===0&&(this.enabled=!1))}}return this._effectiveWeight=t,t}_updateTimeScale(e){let t=0;if(!this.paused){t=this.timeScale;let n=this._timeScaleInterpolant;if(n!==null){let r=n.evaluate(e)[0];t*=r,e>n.parameterPositions[1]&&(this.stopWarping(),t===0?this.paused=!0:this.timeScale=t)}}return this._effectiveTimeScale=t,t}_updateTime(e){let t=this._clip.duration,n=this.loop,r=this.time+e,o=this._loopCount,s=n===uH;if(e===0)return o===-1?r:s&&(o&1)===1?t-r:r;if(n===cH){o===-1&&(this._loopCount=0,this._setEndings(!0,!0,!1));e:{if(r>=t)r=t;else if(r<0)r=0;else{this.time=r;break e}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=r,this._mixer.dispatchEvent({type:"finished",action:this,direction:e<0?-1:1})}}else{if(o===-1&&(e>=0?(o=0,this._setEndings(!0,this.repetitions===0,s)):this._setEndings(this.repetitions===0,!0,s)),r>=t||r<0){let a=Math.floor(r/t);r-=t*a,o+=Math.abs(a);let l=this.repetitions-o;if(l<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,r=e>0?t:0,this.time=r,this._mixer.dispatchEvent({type:"finished",action:this,direction:e>0?1:-1});else{if(l===1){let c=e<0;this._setEndings(c,!c,s)}else this._setEndings(!1,!1,s);this._loopCount=o,this.time=r,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:a})}}else this.time=r;if(s&&(o&1)===1)return t-r}return r}_setEndings(e,t,n){let r=this._interpolantSettings;n?(r.endingStart=Wd,r.endingEnd=Wd):(e?r.endingStart=this.zeroSlopeAtStart?Wd:jd:r.endingStart=Hg,t?r.endingEnd=this.zeroSlopeAtEnd?Wd:jd:r.endingEnd=Hg)}_scheduleFading(e,t,n){let r=this._mixer,o=r.time,s=this._weightInterpolant;s===null&&(s=r._lendControlInterpolant(),this._weightInterpolant=s);let a=s.parameterPositions,l=s.sampleValues;return a[0]=o,l[0]=t,a[1]=o+e,l[1]=n,this}},Uw=class extends ra{constructor(e){super(),this._root=e,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(e,t){let n=e._localRoot||this._root,r=e._clip.tracks,o=r.length,s=e._propertyBindings,a=e._interpolants,l=n.uuid,c=this._bindingsByRootAndName,d=c[l];d===void 0&&(d={},c[l]=d);for(let u=0;u!==o;++u){let h=r[u],p=h.name,f=d[p];if(f!==void 0)s[u]=f;else{if(f=s[u],f!==void 0){f._cacheIndex===null&&(++f.referenceCount,this._addInactiveBinding(f,l,p));continue}let m=t&&t._propertyBindings[u].binding.parsedPath;f=new Vw(jn.create(n,p,m),h.ValueTypeName,h.getValueSize()),++f.referenceCount,this._addInactiveBinding(f,l,p),s[u]=f}a[u].resultBuffer=f.buffer}}_activateAction(e){if(!this._isActiveAction(e)){if(e._cacheIndex===null){let n=(e._localRoot||this._root).uuid,r=e._clip.uuid,o=this._actionsByClip[r];this._bindAction(e,o&&o.knownActions[0]),this._addInactiveAction(e,r,n)}let t=e._propertyBindings;for(let n=0,r=t.length;n!==r;++n){let o=t[n];o.useCount++===0&&(this._lendBinding(o),o.saveOriginalState())}this._lendAction(e)}}_deactivateAction(e){if(this._isActiveAction(e)){let t=e._propertyBindings;for(let n=0,r=t.length;n!==r;++n){let o=t[n];--o.useCount===0&&(o.restoreOriginalState(),this._takeBackBinding(o))}this._takeBackAction(e)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;let e=this;this.stats={actions:{get total(){return e._actions.length},get inUse(){return e._nActiveActions}},bindings:{get total(){return e._bindings.length},get inUse(){return e._nActiveBindings}},controlInterpolants:{get total(){return e._controlInterpolants.length},get inUse(){return e._nActiveControlInterpolants}}}}_isActiveAction(e){let t=e._cacheIndex;return t!==null&&t=0;--n)e[n].stop();return this}update(e){e*=this.timeScale;let t=this._actions,n=this._nActiveActions,r=this.time+=e,o=Math.sign(e),s=this._accuIndex^=1;for(let c=0;c!==n;++c)t[c]._update(r,e,o,s);let a=this._bindings,l=this._nActiveBindings;for(let c=0;c!==l;++c)a[c].apply(s);return this}setTime(e){this.time=0;for(let t=0;tthis.max.x||e.ythis.max.y)}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(e){return!(e.max.xthis.max.x||e.max.ythis.max.y)}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return NU.copy(e).clamp(this.min,this.max).sub(e).length()}intersect(e){return this.min.max(e.min),this.max.min(e.max),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}};mc.prototype.isBox2=!0;var kU=new R,Yx=new R,Ww=class{constructor(e=new R,t=new R){this.start=e,this.end=t}set(e,t){return this.start.copy(e),this.end.copy(t),this}copy(e){return this.start.copy(e.start),this.end.copy(e.end),this}getCenter(e){return e.addVectors(this.start,this.end).multiplyScalar(.5)}delta(e){return e.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(e,t){return this.delta(t).multiplyScalar(e).add(this.start)}closestPointToPointParameter(e,t){kU.subVectors(e,this.start),Yx.subVectors(this.end,this.start);let n=Yx.dot(Yx),o=Yx.dot(kU)/n;return t&&(o=nr(o,0,1)),o}closestPointToPoint(e,t,n){let r=this.closestPointToPointParameter(e,t);return this.delta(n).multiplyScalar(r).add(this.start)}applyMatrix4(e){return this.start.applyMatrix4(e),this.end.applyMatrix4(e),this}equals(e){return e.start.equals(this.start)&&e.end.equals(this.end)}clone(){return new this.constructor().copy(this)}},LU=new R,RP=class extends hn{constructor(e,t){super(),this.light=e,this.light.updateMatrixWorld(),this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=t;let n=new It,r=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let s=0,a=1,l=32;s.99999)this.quaternion.set(0,0,0,1);else if(e.y<-.99999)this.quaternion.set(1,0,0,0);else{UU.set(e.z,0,-e.x).normalize();let t=Math.acos(e.y);this.quaternion.setFromAxisAngle(UU,t)}}setLength(e,t=e*.2,n=t*.2){this.line.scale.set(1,Math.max(1e-4,e-t),1),this.line.updateMatrix(),this.cone.scale.set(n,t,n),this.cone.position.y=e,this.cone.updateMatrix()}setColor(e){this.line.material.color.set(e),this.cone.material.color.set(e)}copy(e){return super.copy(e,!1),this.line.copy(e.line),this.cone.copy(e.cone),this}},Xw=class extends xr{constructor(e=1){let t=[0,0,0,e,0,0,0,0,0,0,e,0,0,0,0,0,0,e],n=[1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],r=new It;r.setAttribute("position",new tt(t,3)),r.setAttribute("color",new tt(n,3));let o=new Di({vertexColors:!0,toneMapped:!1});super(r,o),this.type="AxesHelper"}setColors(e,t,n){let r=new je,o=this.geometry.attributes.color.array;return r.set(e),r.toArray(o,0),r.toArray(o,3),r.set(t),r.toArray(o,6),r.toArray(o,9),r.set(n),r.toArray(o,12),r.toArray(o,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}},UP=class{constructor(){this.type="ShapePath",this.color=new je,this.subPaths=[],this.currentPath=null}moveTo(e,t){return this.currentPath=new su,this.subPaths.push(this.currentPath),this.currentPath.moveTo(e,t),this}lineTo(e,t){return this.currentPath.lineTo(e,t),this}quadraticCurveTo(e,t,n,r){return this.currentPath.quadraticCurveTo(e,t,n,r),this}bezierCurveTo(e,t,n,r,o,s){return this.currentPath.bezierCurveTo(e,t,n,r,o,s),this}splineThru(e){return this.currentPath.splineThru(e),this}toShapes(e,t){function n(_){let x=[];for(let C=0,T=_.length;CNumber.EPSILON){if(U<0&&(P=x[E],$=-$,Y=x[D],U=-U),_.yY.y)continue;if(_.y===P.y){if(_.x===P.x)return!0}else{let O=U*(_.x-P.x)-$*(_.y-P.y);if(O===0)return!0;if(O<0)continue;T=!T}}else{if(_.y!==P.y)continue;if(Y.x<=_.x&&_.x<=P.x||P.x<=_.x&&_.x<=Y.x)return!0}}return T}let o=ia.isClockWise,s=this.subPaths;if(s.length===0)return[];if(t===!0)return n(s);let a,l,c,d=[];if(s.length===1)return l=s[0],c=new qo,c.curves=l.curves,d.push(c),d;let u=!o(s[0].getPoints());u=e?!u:u;let h=[],p=[],f=[],m=0,y;p[m]=void 0,f[m]=[];for(let _=0,x=s.length;_1){let _=!1,x=[];for(let C=0,T=p.length;C0&&(_||(f=h))}let g;for(let _=0,x=p.length;_65504&&(console.warn("THREE.DataUtils.toHalfFloat(): value exceeds 65504."),e=65504),zH[0]=e;let t=ple[0],n=t>>16&32768,r=t>>12&2047,o=t>>23&255;return o<103?n:o>142?(n|=31744,n|=(o==255?0:1)&&t&8388607,n):o<113?(r|=2048,n|=(r>>114-o)+(r>>113-o&1),n):(n|=o-112<<10|r>>1,n+=r&1,n)}},fle=0,mle=1,gle=0,_le=1,vle=2;function ble(i){return console.warn("THREE.MeshFaceMaterial has been removed. Use an Array instead."),i}function yle(i=[]){return console.warn("THREE.MultiMaterial has been removed. Use an Array instead."),i.isMultiMaterial=!0,i.materials=i,i.clone=function(){return i.slice()},i}function xle(i,e){return console.warn("THREE.PointCloud has been renamed to THREE.Points."),new nu(i,e)}function wle(i){return console.warn("THREE.Particle has been renamed to THREE.Sprite."),new Vp(i)}function Cle(i,e){return console.warn("THREE.ParticleSystem has been renamed to THREE.Points."),new nu(i,e)}function Sle(i){return console.warn("THREE.PointCloudMaterial has been renamed to THREE.PointsMaterial."),new nl(i)}function Mle(i){return console.warn("THREE.ParticleBasicMaterial has been renamed to THREE.PointsMaterial."),new nl(i)}function Ele(i){return console.warn("THREE.ParticleSystemMaterial has been renamed to THREE.PointsMaterial."),new nl(i)}function Ile(i,e,t){return console.warn("THREE.Vertex has been removed. Use THREE.Vector3 instead."),new R(i,e,t)}function Tle(i,e){return console.warn("THREE.DynamicBufferAttribute has been removed. Use new THREE.BufferAttribute().setUsage( THREE.DynamicDrawUsage ) instead."),new un(i,e).setUsage(Ip)}function Dle(i,e){return console.warn("THREE.Int8Attribute has been removed. Use new THREE.Int8BufferAttribute() instead."),new sw(i,e)}function Ple(i,e){return console.warn("THREE.Uint8Attribute has been removed. Use new THREE.Uint8BufferAttribute() instead."),new aw(i,e)}function Ole(i,e){return console.warn("THREE.Uint8ClampedAttribute has been removed. Use new THREE.Uint8ClampedBufferAttribute() instead."),new lw(i,e)}function Rle(i,e){return console.warn("THREE.Int16Attribute has been removed. Use new THREE.Int16BufferAttribute() instead."),new cw(i,e)}function Ale(i,e){return console.warn("THREE.Uint16Attribute has been removed. Use new THREE.Uint16BufferAttribute() instead."),new Tp(i,e)}function Nle(i,e){return console.warn("THREE.Int32Attribute has been removed. Use new THREE.Int32BufferAttribute() instead."),new dw(i,e)}function kle(i,e){return console.warn("THREE.Uint32Attribute has been removed. Use new THREE.Uint32BufferAttribute() instead."),new Dp(i,e)}function Lle(i,e){return console.warn("THREE.Float32Attribute has been removed. Use new THREE.Float32BufferAttribute() instead."),new tt(i,e)}function Fle(i,e){return console.warn("THREE.Float64Attribute has been removed. Use new THREE.Float64BufferAttribute() instead."),new hw(i,e)}jr.create=function(i,e){return console.log("THREE.Curve.create() has been deprecated"),i.prototype=Object.create(jr.prototype),i.prototype.constructor=i,i.prototype.getPoint=e,i};su.prototype.fromPoints=function(i){return console.warn("THREE.Path: .fromPoints() has been renamed to .setFromPoints()."),this.setFromPoints(i)};function Ble(i){return console.warn("THREE.AxisHelper has been renamed to THREE.AxesHelper."),new Xw(i)}function Vle(i,e){return console.warn("THREE.BoundingBoxHelper has been deprecated. Creating a THREE.BoxHelper instead."),new Yw(i,e)}function zle(i,e){return console.warn("THREE.EdgesHelper has been removed. Use THREE.EdgesGeometry instead."),new xr(new n_(i.geometry),new Di({color:e!==void 0?e:16777215}))}qw.prototype.setColors=function(){console.error("THREE.GridHelper: setColors() has been deprecated, pass them in the constructor instead.")};$w.prototype.update=function(){console.error("THREE.SkeletonHelper: update() no longer needs to be called.")};function Ule(i,e){return console.warn("THREE.WireframeHelper has been removed. Use THREE.WireframeGeometry instead."),new xr(new g_(i.geometry),new Di({color:e!==void 0?e:16777215}))}ar.prototype.extractUrlBase=function(i){return console.warn("THREE.Loader: .extractUrlBase() has been deprecated. Use THREE.LoaderUtils.extractUrlBase() instead."),Zp.extractUrlBase(i)};ar.Handlers={add:function(){console.error("THREE.Loader: Handlers.add() has been removed. Use LoadingManager.addHandler() instead.")},get:function(){console.error("THREE.Loader: Handlers.get() has been removed. Use LoadingManager.getHandler() instead.")}};function Hle(i){return console.warn("THREE.XHRLoader has been renamed to THREE.FileLoader."),new Yo(i)}function Gle(i){return console.warn("THREE.BinaryTextureLoader has been renamed to THREE.DataTextureLoader."),new Ew(i)}mc.prototype.center=function(i){return console.warn("THREE.Box2: .center() has been renamed to .getCenter()."),this.getCenter(i)};mc.prototype.empty=function(){return console.warn("THREE.Box2: .empty() has been renamed to .isEmpty()."),this.isEmpty()};mc.prototype.isIntersectionBox=function(i){return console.warn("THREE.Box2: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(i)};mc.prototype.size=function(i){return console.warn("THREE.Box2: .size() has been renamed to .getSize()."),this.getSize(i)};Hr.prototype.center=function(i){return console.warn("THREE.Box3: .center() has been renamed to .getCenter()."),this.getCenter(i)};Hr.prototype.empty=function(){return console.warn("THREE.Box3: .empty() has been renamed to .isEmpty()."),this.isEmpty()};Hr.prototype.isIntersectionBox=function(i){return console.warn("THREE.Box3: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(i)};Hr.prototype.isIntersectionSphere=function(i){return console.warn("THREE.Box3: .isIntersectionSphere() has been renamed to .intersectsSphere()."),this.intersectsSphere(i)};Hr.prototype.size=function(i){return console.warn("THREE.Box3: .size() has been renamed to .getSize()."),this.getSize(i)};oa.prototype.empty=function(){return console.warn("THREE.Sphere: .empty() has been renamed to .isEmpty()."),this.isEmpty()};eu.prototype.setFromMatrix=function(i){return console.warn("THREE.Frustum: .setFromMatrix() has been renamed to .setFromProjectionMatrix()."),this.setFromProjectionMatrix(i)};Ww.prototype.center=function(i){return console.warn("THREE.Line3: .center() has been renamed to .getCenter()."),this.getCenter(i)};xi.prototype.flattenToArrayOffset=function(i,e){return console.warn("THREE.Matrix3: .flattenToArrayOffset() has been deprecated. Use .toArray() instead."),this.toArray(i,e)};xi.prototype.multiplyVector3=function(i){return console.warn("THREE.Matrix3: .multiplyVector3() has been removed. Use vector.applyMatrix3( matrix ) instead."),i.applyMatrix3(this)};xi.prototype.multiplyVector3Array=function(){console.error("THREE.Matrix3: .multiplyVector3Array() has been removed.")};xi.prototype.applyToBufferAttribute=function(i){return console.warn("THREE.Matrix3: .applyToBufferAttribute() has been removed. Use attribute.applyMatrix3( matrix ) instead."),i.applyMatrix3(this)};xi.prototype.applyToVector3Array=function(){console.error("THREE.Matrix3: .applyToVector3Array() has been removed.")};xi.prototype.getInverse=function(i){return console.warn("THREE.Matrix3: .getInverse() has been removed. Use matrixInv.copy( matrix ).invert(); instead."),this.copy(i).invert()};ct.prototype.extractPosition=function(i){return console.warn("THREE.Matrix4: .extractPosition() has been renamed to .copyPosition()."),this.copyPosition(i)};ct.prototype.flattenToArrayOffset=function(i,e){return console.warn("THREE.Matrix4: .flattenToArrayOffset() has been deprecated. Use .toArray() instead."),this.toArray(i,e)};ct.prototype.getPosition=function(){return console.warn("THREE.Matrix4: .getPosition() has been removed. Use Vector3.setFromMatrixPosition( matrix ) instead."),new R().setFromMatrixColumn(this,3)};ct.prototype.setRotationFromQuaternion=function(i){return console.warn("THREE.Matrix4: .setRotationFromQuaternion() has been renamed to .makeRotationFromQuaternion()."),this.makeRotationFromQuaternion(i)};ct.prototype.multiplyToArray=function(){console.warn("THREE.Matrix4: .multiplyToArray() has been removed.")};ct.prototype.multiplyVector3=function(i){return console.warn("THREE.Matrix4: .multiplyVector3() has been removed. Use vector.applyMatrix4( matrix ) instead."),i.applyMatrix4(this)};ct.prototype.multiplyVector4=function(i){return console.warn("THREE.Matrix4: .multiplyVector4() has been removed. Use vector.applyMatrix4( matrix ) instead."),i.applyMatrix4(this)};ct.prototype.multiplyVector3Array=function(){console.error("THREE.Matrix4: .multiplyVector3Array() has been removed.")};ct.prototype.rotateAxis=function(i){console.warn("THREE.Matrix4: .rotateAxis() has been removed. Use Vector3.transformDirection( matrix ) instead."),i.transformDirection(this)};ct.prototype.crossVector=function(i){return console.warn("THREE.Matrix4: .crossVector() has been removed. Use vector.applyMatrix4( matrix ) instead."),i.applyMatrix4(this)};ct.prototype.translate=function(){console.error("THREE.Matrix4: .translate() has been removed.")};ct.prototype.rotateX=function(){console.error("THREE.Matrix4: .rotateX() has been removed.")};ct.prototype.rotateY=function(){console.error("THREE.Matrix4: .rotateY() has been removed.")};ct.prototype.rotateZ=function(){console.error("THREE.Matrix4: .rotateZ() has been removed.")};ct.prototype.rotateByAxis=function(){console.error("THREE.Matrix4: .rotateByAxis() has been removed.")};ct.prototype.applyToBufferAttribute=function(i){return console.warn("THREE.Matrix4: .applyToBufferAttribute() has been removed. Use attribute.applyMatrix4( matrix ) instead."),i.applyMatrix4(this)};ct.prototype.applyToVector3Array=function(){console.error("THREE.Matrix4: .applyToVector3Array() has been removed.")};ct.prototype.makeFrustum=function(i,e,t,n,r,o){return console.warn("THREE.Matrix4: .makeFrustum() has been removed. Use .makePerspective( left, right, top, bottom, near, far ) instead."),this.makePerspective(i,e,n,t,r,o)};ct.prototype.getInverse=function(i){return console.warn("THREE.Matrix4: .getInverse() has been removed. Use matrixInv.copy( matrix ).invert(); instead."),this.copy(i).invert()};$o.prototype.isIntersectionLine=function(i){return console.warn("THREE.Plane: .isIntersectionLine() has been renamed to .intersectsLine()."),this.intersectsLine(i)};Bi.prototype.multiplyVector3=function(i){return console.warn("THREE.Quaternion: .multiplyVector3() has been removed. Use is now vector.applyQuaternion( quaternion ) instead."),i.applyQuaternion(this)};Bi.prototype.inverse=function(){return console.warn("THREE.Quaternion: .inverse() has been renamed to invert()."),this.invert()};sa.prototype.isIntersectionBox=function(i){return console.warn("THREE.Ray: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(i)};sa.prototype.isIntersectionPlane=function(i){return console.warn("THREE.Ray: .isIntersectionPlane() has been renamed to .intersectsPlane()."),this.intersectsPlane(i)};sa.prototype.isIntersectionSphere=function(i){return console.warn("THREE.Ray: .isIntersectionSphere() has been renamed to .intersectsSphere()."),this.intersectsSphere(i)};or.prototype.area=function(){return console.warn("THREE.Triangle: .area() has been renamed to .getArea()."),this.getArea()};or.prototype.barycoordFromPoint=function(i,e){return console.warn("THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord()."),this.getBarycoord(i,e)};or.prototype.midpoint=function(i){return console.warn("THREE.Triangle: .midpoint() has been renamed to .getMidpoint()."),this.getMidpoint(i)};or.prototypenormal=function(i){return console.warn("THREE.Triangle: .normal() has been renamed to .getNormal()."),this.getNormal(i)};or.prototype.plane=function(i){return console.warn("THREE.Triangle: .plane() has been renamed to .getPlane()."),this.getPlane(i)};or.barycoordFromPoint=function(i,e,t,n,r){return console.warn("THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord()."),or.getBarycoord(i,e,t,n,r)};or.normal=function(i,e,t,n){return console.warn("THREE.Triangle: .normal() has been renamed to .getNormal()."),or.getNormal(i,e,t,n)};qo.prototype.extractAllPoints=function(i){return console.warn("THREE.Shape: .extractAllPoints() has been removed. Use .extractPoints() instead."),this.extractPoints(i)};qo.prototype.extrude=function(i){return console.warn("THREE.Shape: .extrude() has been removed. Use ExtrudeGeometry() instead."),new rl(this,i)};qo.prototype.makeGeometry=function(i){return console.warn("THREE.Shape: .makeGeometry() has been removed. Use ShapeGeometry() instead."),new qp(this,i)};xe.prototype.fromAttribute=function(i,e,t){return console.warn("THREE.Vector2: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(i,e,t)};xe.prototype.distanceToManhattan=function(i){return console.warn("THREE.Vector2: .distanceToManhattan() has been renamed to .manhattanDistanceTo()."),this.manhattanDistanceTo(i)};xe.prototype.lengthManhattan=function(){return console.warn("THREE.Vector2: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()};R.prototype.setEulerFromRotationMatrix=function(){console.error("THREE.Vector3: .setEulerFromRotationMatrix() has been removed. Use Euler.setFromRotationMatrix() instead.")};R.prototype.setEulerFromQuaternion=function(){console.error("THREE.Vector3: .setEulerFromQuaternion() has been removed. Use Euler.setFromQuaternion() instead.")};R.prototype.getPositionFromMatrix=function(i){return console.warn("THREE.Vector3: .getPositionFromMatrix() has been renamed to .setFromMatrixPosition()."),this.setFromMatrixPosition(i)};R.prototype.getScaleFromMatrix=function(i){return console.warn("THREE.Vector3: .getScaleFromMatrix() has been renamed to .setFromMatrixScale()."),this.setFromMatrixScale(i)};R.prototype.getColumnFromMatrix=function(i,e){return console.warn("THREE.Vector3: .getColumnFromMatrix() has been renamed to .setFromMatrixColumn()."),this.setFromMatrixColumn(e,i)};R.prototype.applyProjection=function(i){return console.warn("THREE.Vector3: .applyProjection() has been removed. Use .applyMatrix4( m ) instead."),this.applyMatrix4(i)};R.prototype.fromAttribute=function(i,e,t){return console.warn("THREE.Vector3: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(i,e,t)};R.prototype.distanceToManhattan=function(i){return console.warn("THREE.Vector3: .distanceToManhattan() has been renamed to .manhattanDistanceTo()."),this.manhattanDistanceTo(i)};R.prototype.lengthManhattan=function(){return console.warn("THREE.Vector3: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()};Cn.prototype.fromAttribute=function(i,e,t){return console.warn("THREE.Vector4: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(i,e,t)};Cn.prototype.lengthManhattan=function(){return console.warn("THREE.Vector4: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()};hn.prototype.getChildByName=function(i){return console.warn("THREE.Object3D: .getChildByName() has been renamed to .getObjectByName()."),this.getObjectByName(i)};hn.prototype.renderDepth=function(){console.warn("THREE.Object3D: .renderDepth has been removed. Use .renderOrder, instead.")};hn.prototype.translate=function(i,e){return console.warn("THREE.Object3D: .translate() has been removed. Use .translateOnAxis( axis, distance ) instead."),this.translateOnAxis(e,i)};hn.prototype.getWorldRotation=function(){console.error("THREE.Object3D: .getWorldRotation() has been removed. Use THREE.Object3D.getWorldQuaternion( target ) instead.")};hn.prototype.applyMatrix=function(i){return console.warn("THREE.Object3D: .applyMatrix() has been renamed to .applyMatrix4()."),this.applyMatrix4(i)};Object.defineProperties(hn.prototype,{eulerOrder:{get:function(){return console.warn("THREE.Object3D: .eulerOrder is now .rotation.order."),this.rotation.order},set:function(i){console.warn("THREE.Object3D: .eulerOrder is now .rotation.order."),this.rotation.order=i}},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.")}}});ui.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(ui.prototype,{drawMode:{get:function(){return console.error("THREE.Mesh: .drawMode has been removed. The renderer now always assumes THREE.TrianglesDrawMode."),hH},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.")}}});zp.prototype.initBones=function(){console.error("THREE.SkinnedMesh: initBones() has been removed.")};Ei.prototype.setLens=function(i,e){console.warn("THREE.PerspectiveCamera.setLens is deprecated. Use .setFocalLength and .filmGauge for a photographic setup."),e!==void 0&&(this.filmGauge=e),this.setFocalLength(i)};Object.defineProperties(Co.prototype,{onlyShadow:{set:function(){console.warn("THREE.Light: .onlyShadow has been removed.")}},shadowCameraFov:{set:function(i){console.warn("THREE.Light: .shadowCameraFov is now .shadow.camera.fov."),this.shadow.camera.fov=i}},shadowCameraLeft:{set:function(i){console.warn("THREE.Light: .shadowCameraLeft is now .shadow.camera.left."),this.shadow.camera.left=i}},shadowCameraRight:{set:function(i){console.warn("THREE.Light: .shadowCameraRight is now .shadow.camera.right."),this.shadow.camera.right=i}},shadowCameraTop:{set:function(i){console.warn("THREE.Light: .shadowCameraTop is now .shadow.camera.top."),this.shadow.camera.top=i}},shadowCameraBottom:{set:function(i){console.warn("THREE.Light: .shadowCameraBottom is now .shadow.camera.bottom."),this.shadow.camera.bottom=i}},shadowCameraNear:{set:function(i){console.warn("THREE.Light: .shadowCameraNear is now .shadow.camera.near."),this.shadow.camera.near=i}},shadowCameraFar:{set:function(i){console.warn("THREE.Light: .shadowCameraFar is now .shadow.camera.far."),this.shadow.camera.far=i}},shadowCameraVisible:{set:function(){console.warn("THREE.Light: .shadowCameraVisible has been removed. Use new THREE.CameraHelper( light.shadow.camera ) instead.")}},shadowBias:{set:function(i){console.warn("THREE.Light: .shadowBias is now .shadow.bias."),this.shadow.bias=i}},shadowDarkness:{set:function(){console.warn("THREE.Light: .shadowDarkness has been removed.")}},shadowMapWidth:{set:function(i){console.warn("THREE.Light: .shadowMapWidth is now .shadow.mapSize.width."),this.shadow.mapSize.width=i}},shadowMapHeight:{set:function(i){console.warn("THREE.Light: .shadowMapHeight is now .shadow.mapSize.height."),this.shadow.mapSize.height=i}}});Object.defineProperties(un.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===Ip},set:function(){console.warn("THREE.BufferAttribute: .dynamic has been deprecated. Use .usage instead."),this.setUsage(Ip)}}});un.prototype.setDynamic=function(i){return console.warn("THREE.BufferAttribute: .setDynamic() has been deprecated. Use .setUsage() instead."),this.setUsage(i===!0?Ip:Ep),this};un.prototype.copyIndicesArray=function(){console.error("THREE.BufferAttribute: .copyIndicesArray() has been removed.")},un.prototype.setArray=function(){console.error("THREE.BufferAttribute: .setArray has been removed. Use BufferGeometry .setAttribute to replace/resize attribute buffers")};It.prototype.addIndex=function(i){console.warn("THREE.BufferGeometry: .addIndex() has been renamed to .setIndex()."),this.setIndex(i)};It.prototype.addAttribute=function(i,e){return console.warn("THREE.BufferGeometry: .addAttribute() has been renamed to .setAttribute()."),!(e&&e.isBufferAttribute)&&!(e&&e.isInterleavedBufferAttribute)?(console.warn("THREE.BufferGeometry: .addAttribute() now expects ( name, attribute )."),this.setAttribute(i,new un(arguments[1],arguments[2]))):i==="index"?(console.warn("THREE.BufferGeometry.addAttribute: Use .setIndex() for index attribute."),this.setIndex(e),this):this.setAttribute(i,e)};It.prototype.addDrawCall=function(i,e,t){t!==void 0&&console.warn("THREE.BufferGeometry: .addDrawCall() no longer supports indexOffset."),console.warn("THREE.BufferGeometry: .addDrawCall() is now .addGroup()."),this.addGroup(i,e)};It.prototype.clearDrawCalls=function(){console.warn("THREE.BufferGeometry: .clearDrawCalls() is now .clearGroups()."),this.clearGroups()};It.prototype.computeOffsets=function(){console.warn("THREE.BufferGeometry: .computeOffsets() has been removed.")};It.prototype.removeAttribute=function(i){return console.warn("THREE.BufferGeometry: .removeAttribute() has been renamed to .deleteAttribute()."),this.deleteAttribute(i)};It.prototype.applyMatrix=function(i){return console.warn("THREE.BufferGeometry: .applyMatrix() has been renamed to .applyMatrix4()."),this.applyMatrix4(i)};Object.defineProperties(It.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}}});el.prototype.setDynamic=function(i){return console.warn("THREE.InterleavedBuffer: .setDynamic() has been deprecated. Use .setUsage() instead."),this.setUsage(i===!0?Ip:Ep),this};el.prototype.setArray=function(){console.error("THREE.InterleavedBuffer: .setArray has been removed. Use BufferGeometry .setAttribute to replace/resize attribute buffers")};rl.prototype.getArrays=function(){console.error("THREE.ExtrudeGeometry: .getArrays() has been removed.")};rl.prototype.addShapeList=function(){console.error("THREE.ExtrudeGeometry: .addShapeList() has been removed.")};rl.prototype.addShape=function(){console.error("THREE.ExtrudeGeometry: .addShape() has been removed.")};Fp.prototype.dispose=function(){console.error("THREE.Scene: .dispose() has been removed.")};Hw.prototype.onUpdate=function(){return console.warn("THREE.Uniform: .onUpdate() has been removed. Use object.onBeforeRender() instead."),this};Object.defineProperties(Ti.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 je}},shading:{get:function(){console.error("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead.")},set:function(i){console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead."),this.flatShading=i===WP}},stencilMask:{get:function(){return console.warn("THREE."+this.type+": .stencilMask has been removed. Use .stencilFuncMask instead."),this.stencilFuncMask},set:function(i){console.warn("THREE."+this.type+": .stencilMask has been removed. Use .stencilFuncMask instead."),this.stencilFuncMask=i}},vertexTangents:{get:function(){console.warn("THREE."+this.type+": .vertexTangents has been removed.")},set:function(){console.warn("THREE."+this.type+": .vertexTangents has been removed.")}}});Object.defineProperties(ws.prototype,{derivatives:{get:function(){return console.warn("THREE.ShaderMaterial: .derivatives has been moved to .extensions.derivatives."),this.extensions.derivatives},set:function(i){console.warn("THREE. ShaderMaterial: .derivatives has been moved to .extensions.derivatives."),this.extensions.derivatives=i}}});An.prototype.clearTarget=function(i,e,t,n){console.warn("THREE.WebGLRenderer: .clearTarget() has been deprecated. Use .setRenderTarget() and .clear() instead."),this.setRenderTarget(i),this.clear(e,t,n)};An.prototype.animate=function(i){console.warn("THREE.WebGLRenderer: .animate() is now .setAnimationLoop()."),this.setAnimationLoop(i)};An.prototype.getCurrentRenderTarget=function(){return console.warn("THREE.WebGLRenderer: .getCurrentRenderTarget() is now .getRenderTarget()."),this.getRenderTarget()};An.prototype.getMaxAnisotropy=function(){return console.warn("THREE.WebGLRenderer: .getMaxAnisotropy() is now .capabilities.getMaxAnisotropy()."),this.capabilities.getMaxAnisotropy()};An.prototype.getPrecision=function(){return console.warn("THREE.WebGLRenderer: .getPrecision() is now .capabilities.precision."),this.capabilities.precision};An.prototype.resetGLState=function(){return console.warn("THREE.WebGLRenderer: .resetGLState() is now .state.reset()."),this.state.reset()};An.prototype.supportsFloatTextures=function(){return console.warn("THREE.WebGLRenderer: .supportsFloatTextures() is now .extensions.get( 'OES_texture_float' )."),this.extensions.get("OES_texture_float")};An.prototype.supportsHalfFloatTextures=function(){return console.warn("THREE.WebGLRenderer: .supportsHalfFloatTextures() is now .extensions.get( 'OES_texture_half_float' )."),this.extensions.get("OES_texture_half_float")};An.prototype.supportsStandardDerivatives=function(){return console.warn("THREE.WebGLRenderer: .supportsStandardDerivatives() is now .extensions.get( 'OES_standard_derivatives' )."),this.extensions.get("OES_standard_derivatives")};An.prototype.supportsCompressedTextureS3TC=function(){return console.warn("THREE.WebGLRenderer: .supportsCompressedTextureS3TC() is now .extensions.get( 'WEBGL_compressed_texture_s3tc' )."),this.extensions.get("WEBGL_compressed_texture_s3tc")};An.prototype.supportsCompressedTexturePVRTC=function(){return console.warn("THREE.WebGLRenderer: .supportsCompressedTexturePVRTC() is now .extensions.get( 'WEBGL_compressed_texture_pvrtc' )."),this.extensions.get("WEBGL_compressed_texture_pvrtc")};An.prototype.supportsBlendMinMax=function(){return console.warn("THREE.WebGLRenderer: .supportsBlendMinMax() is now .extensions.get( 'EXT_blend_minmax' )."),this.extensions.get("EXT_blend_minmax")};An.prototype.supportsVertexTextures=function(){return console.warn("THREE.WebGLRenderer: .supportsVertexTextures() is now .capabilities.vertexTextures."),this.capabilities.vertexTextures};An.prototype.supportsInstancedArrays=function(){return console.warn("THREE.WebGLRenderer: .supportsInstancedArrays() is now .extensions.get( 'ANGLE_instanced_arrays' )."),this.extensions.get("ANGLE_instanced_arrays")};An.prototype.enableScissorTest=function(i){console.warn("THREE.WebGLRenderer: .enableScissorTest() is now .setScissorTest()."),this.setScissorTest(i)};An.prototype.initMaterial=function(){console.warn("THREE.WebGLRenderer: .initMaterial() has been removed.")};An.prototype.addPrePlugin=function(){console.warn("THREE.WebGLRenderer: .addPrePlugin() has been removed.")};An.prototype.addPostPlugin=function(){console.warn("THREE.WebGLRenderer: .addPostPlugin() has been removed.")};An.prototype.updateShadowMap=function(){console.warn("THREE.WebGLRenderer: .updateShadowMap() has been removed.")};An.prototype.setFaceCulling=function(){console.warn("THREE.WebGLRenderer: .setFaceCulling() has been removed.")};An.prototype.allocTextureUnit=function(){console.warn("THREE.WebGLRenderer: .allocTextureUnit() has been removed.")};An.prototype.setTexture=function(){console.warn("THREE.WebGLRenderer: .setTexture() has been removed.")};An.prototype.setTexture2D=function(){console.warn("THREE.WebGLRenderer: .setTexture2D() has been removed.")};An.prototype.setTextureCube=function(){console.warn("THREE.WebGLRenderer: .setTextureCube() has been removed.")};An.prototype.getActiveMipMapLevel=function(){return console.warn("THREE.WebGLRenderer: .getActiveMipMapLevel() is now .getActiveMipmapLevel()."),this.getActiveMipmapLevel()};Object.defineProperties(An.prototype,{shadowMapEnabled:{get:function(){return this.shadowMap.enabled},set:function(i){console.warn("THREE.WebGLRenderer: .shadowMapEnabled is now .shadowMap.enabled."),this.shadowMap.enabled=i}},shadowMapType:{get:function(){return this.shadowMap.type},set:function(i){console.warn("THREE.WebGLRenderer: .shadowMapType is now .shadowMap.type."),this.shadowMap.type=i}},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(i){console.warn("THREE.WebGLRenderer: .gammaOutput has been removed. Set WebGLRenderer.outputEncoding instead."),this.outputEncoding=i===!0?gc:sr}},toneMappingWhitePoint:{get:function(){return console.warn("THREE.WebGLRenderer: .toneMappingWhitePoint has been removed."),1},set:function(){console.warn("THREE.WebGLRenderer: .toneMappingWhitePoint has been removed.")}}});Object.defineProperties(RH.prototype,{cullFace:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.")}},renderReverseSided:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.")}},renderSingleSided:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.")}}});function jle(i,e,t){return console.warn("THREE.WebGLRenderTargetCube( width, height, options ) is now WebGLCubeRenderTarget( size, options )."),new Rp(i,t)}Object.defineProperties(xo.prototype,{wrapS:{get:function(){return console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS."),this.texture.wrapS},set:function(i){console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS."),this.texture.wrapS=i}},wrapT:{get:function(){return console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT."),this.texture.wrapT},set:function(i){console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT."),this.texture.wrapT=i}},magFilter:{get:function(){return console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter."),this.texture.magFilter},set:function(i){console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter."),this.texture.magFilter=i}},minFilter:{get:function(){return console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter."),this.texture.minFilter},set:function(i){console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter."),this.texture.minFilter=i}},anisotropy:{get:function(){return console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy."),this.texture.anisotropy},set:function(i){console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy."),this.texture.anisotropy=i}},offset:{get:function(){return console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset."),this.texture.offset},set:function(i){console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset."),this.texture.offset=i}},repeat:{get:function(){return console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat."),this.texture.repeat},set:function(i){console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat."),this.texture.repeat=i}},format:{get:function(){return console.warn("THREE.WebGLRenderTarget: .format is now .texture.format."),this.texture.format},set:function(i){console.warn("THREE.WebGLRenderTarget: .format is now .texture.format."),this.texture.format=i}},type:{get:function(){return console.warn("THREE.WebGLRenderTarget: .type is now .texture.type."),this.texture.type},set:function(i){console.warn("THREE.WebGLRenderTarget: .type is now .texture.type."),this.texture.type=i}},generateMipmaps:{get:function(){return console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps."),this.texture.generateMipmaps},set:function(i){console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps."),this.texture.generateMipmaps=i}}});F_.prototype.load=function(i){console.warn("THREE.Audio: .load has been deprecated. Use THREE.AudioLoader instead.");let e=this;return new Nw().load(i,function(n){e.setBuffer(n)}),this};Bw.prototype.getData=function(){return console.warn("THREE.AudioAnalyser: .getData() is now .getFrequencyData()."),this.getFrequencyData()};Op.prototype.updateCubeMap=function(i,e){return console.warn("THREE.CubeCamera: .updateCubeMap() is now .update()."),this.update(i,e)};Op.prototype.clear=function(i,e,t,n){return console.warn("THREE.CubeCamera: .clear() is now .renderTarget.clear()."),this.renderTarget.clear(i,e,t,n)};Ja.crossOrigin=void 0;Ja.loadTexture=function(i,e,t,n){console.warn("THREE.ImageUtils.loadTexture has been deprecated. Use THREE.TextureLoader() instead.");let r=new Iw;r.setCrossOrigin(this.crossOrigin);let o=r.load(i,t,void 0,n);return e&&(o.mapping=e),o};Ja.loadTextureCube=function(i,e,t,n){console.warn("THREE.ImageUtils.loadTextureCube has been deprecated. Use THREE.CubeTextureLoader() instead.");let r=new Mw;r.setCrossOrigin(this.crossOrigin);let o=r.load(i,t,void 0,n);return e&&(o.mapping=e),o};Ja.loadCompressedTexture=function(){console.error("THREE.ImageUtils.loadCompressedTexture has been removed. Use THREE.DDSLoader instead.")};Ja.loadCompressedTextureCube=function(){console.error("THREE.ImageUtils.loadCompressedTextureCube has been removed. Use THREE.DDSLoader instead.")};function Wle(){console.error("THREE.CanvasRenderer has been removed")}function $le(){console.error("THREE.JSONLoader has been removed.")}var qle={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 Yle(){console.error("THREE.LensFlare has been moved to /examples/jsm/objects/Lensflare.js")}function Xle(){return console.error("THREE.ParametricGeometry has been moved to /examples/jsm/geometries/ParametricGeometry.js"),new It}function Zle(){return console.error("THREE.TextGeometry has been moved to /examples/jsm/geometries/TextGeometry.js"),new It}function Qle(){console.error("THREE.FontLoader has been moved to /examples/jsm/loaders/FontLoader.js")}function Kle(){console.error("THREE.Font has been moved to /examples/jsm/loaders/FontLoader.js")}function Jle(){console.error("THREE.ImmediateRenderObject has been removed.")}typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:GP}}));typeof window<"u"&&(window.__THREE__?console.warn("WARNING: Multiple instances of Three.js being imported."):window.__THREE__=GP);var Jp=(()=>{class i{linearGradientId=Math.random().toString(36).slice(-6);fillUrl=`url(#${this.linearGradientId})`;static \u0275fac=function(n){return new(n||i)};static \u0275cmp=le({type:i,selectors:[["me-logo"]],standalone:!0,features:[ce],decls:19,vars:2,consts:[["width","24","height","24","viewBox","0 0 256 256","fill","none","xmlns","http://www.w3.org/2000/svg"],["width","256","height","256","fill","none"],["d","M229 64.5V192.5L128 248.5L127.5 115.5L229 64.5Z"],["d","M208 76V99L128 141.5V116L208 76Z","fill","white"],["d","M208 122.5V141.5L128 182.5V161.5L208 122.5Z","fill","white"],["d","M208 164.5V183L128 225.5V206L208 164.5Z","fill","white"],["d","M149 106V214.5L127 226V117.5L149 106Z","fill","white"],["d","M26 61L47.5 72.5V200L26 187V61Z","fill","#FBBC04"],["d","M125.5 10.5L145.5 21V60.5L125.5 56.5V10.5Z","fill","#DCA810"],["d","M164 31L184 41.5V81L164 78V31Z","fill","#309C4D"],["d","M164 31L184 41.5L87 94L65 82L164 31Z","fill","#11792D"],["d","M208 54.5L229 64.5L128 116L107 105L208 54.5Z","fill","#2C5CAC"],["d","M125.5 10.5L145.5 21L47.5 72.5L26 61L125.5 10.5Z","fill","#C78B15"],["d","M65 82L87 94V224L65 210.5V82Z","fill","#34A853"],["d","M107 105L128 116V248.5L107 236V105Z","fill","#4285F4"],["x1","144.5","y1","232","x2","219","y2","69.5","gradientUnits","userSpaceOnUse"],["stop-color","#4285F4"],["offset","1","stop-color","#2C5CAC"]],template:function(n,r){n&1&&(ro(),v(0,"svg",0),ee(1,"rect",1)(2,"path",2)(3,"path",3)(4,"path",4)(5,"path",5)(6,"path",6)(7,"path",7)(8,"path",8)(9,"path",9)(10,"path",10)(11,"path",11)(12,"path",12)(13,"path",13)(14,"path",14),v(15,"defs")(16,"linearGradient",15),ee(17,"stop",16)(18,"stop",17),b()()()),n&2&&(w(2),Ze("fill",r.fillUrl),w(14),Ze("id",r.linearGradientId))},styles:["[_nghost-%COMP%]{display:flex;align-items:center;justify-content:center}"]})}return i})();var _c=(()=>{class i{hiddenInputOpNodeIds=ut({});hiddenOutputIds=ut({});toggleInputOpNodeVisibility(t){this.hiddenInputOpNodeIds.update(n=>(n[t]===!0?delete n[t]:n[t]=!0,Z({},n)))}setInputOpNodeVisible(t,n){let r=this.hiddenInputOpNodeIds()[t]!==!0;for(let o of n)o!==t&&(this.hiddenInputOpNodeIds()[o]||(r=!1));if(r)this.hiddenInputOpNodeIds.set({});else{let o={};for(let s of n)s!==t&&(o[s]=!0);this.hiddenInputOpNodeIds.set(o)}}toggleOutputVisibility(t){this.hiddenOutputIds.update(n=>(n[t]===!0?delete n[t]:n[t]=!0,Z({},n)))}setOutputVisible(t,n){let r=this.hiddenOutputIds()[t]!==!0;for(let o of n)o!==t&&(this.hiddenOutputIds()[o]||(r=!1));if(r)this.hiddenOutputIds.set({});else{let o={};for(let s of n)s!==t&&(o[s]=!0);this.hiddenOutputIds.set(o)}}getInputOpNodeVisible(t){return!this.hiddenInputOpNodeIds()[t]}getOutputVisible(t){return!this.hiddenOutputIds()[t]}resetInputOutputHiddenIds(){this.hiddenInputOpNodeIds.set({}),this.hiddenOutputIds.set({})}static \u0275fac=function(n){return new(n||i)};static \u0275prov=J({token:i,factory:i.\u0275fac})}return i})();var Xo=(()=>{class i{appService;selectedNodeIds=ut({});hasSelectedNodes=Xt(()=>Object.keys(this.selectedNodeIds()).length>0);selectedNodeCount=Xt(()=>Object.keys(this.selectedNodeIds()).length);paneId="";constructor(t){this.appService=t}toggleNode(t){this.selectedNodeIds.update(n=>{if(!this.modelGraph)return n;let r=this.modelGraph.nodesById[t];if(yt(r)){let o=r.descendantsOpNodeIds||[],s=o.some(a=>n[a]);for(let a of o)Et(this.modelGraph.nodesById[a])&&(s?delete n[a]:n[a]=!0)}else n[t]?delete n[t]:n[t]=!0;return Z({},n)})}toggleNodes(t){if(t.length===0||!this.modelGraph)return;let n=Z({},this.selectedNodeIds());for(let r of t){let o=this.modelGraph.nodesById[r];if(Et(o))n[r]?delete n[r]:n[r]=!0;else if(yt(o)&&!o.expanded)for(let s of o.descendantsOpNodeIds||[])n[s]?delete n[s]:n[s]=!0}this.selectedNodeIds.set(n)}clearSelection(){this.selectedNodeIds.set({})}isHiddenFromSelection(t){return t.label==="pseudo_const"}getSelectedSubgraph(){if(!this.modelGraph)return;let t=this.appService.getGraphById(this.modelGraph.id);if(!t)return;t=JSON.parse(JSON.stringify(t));let n={};for(let h of t.nodes)n[h.id]=h;let r=this.selectedNodeIds(),o=t.nodes.filter(h=>r[h.id]===!0),s=o.find(h=>h.label==="GraphInputs");if(!s){let h=t.nodes.find(p=>p.label==="GraphInputs");if(!h)throw new Error("GraphInputs node not found in the original graph.");s=structuredClone(h),s.outputsMetadata=[],o.push(s)}s.outputsMetadata=s.outputsMetadata||[];let a=new Map,l=s.outputsMetadata.length;for(let h of o){let p=(h.incomingEdges||[]).filter(f=>!r[f.sourceNodeId]);for(let f of p){let m=n[f.sourceNodeId];if(this.isHiddenFromSelection(m)){o.push(m);continue}let y=(m.outputsMetadata||[]).find(_=>_.id===f.sourceNodeOutputId);if(!y)continue;let g=(y.attrs||[]).find(_=>_.key==="tensor_index")?.value;g&&(a.has(g)||(a.set(g,l.toString()),s.outputsMetadata.push({id:l.toString(),attrs:y.attrs}),l++),f.sourceNodeId=s.id,f.sourceNodeOutputId=a.get(g))}}let c=o.find(h=>h.label==="GraphOutputs");if(!c){let h=t.nodes.find(p=>p.label==="GraphOutputs");if(!h)throw new Error("GraphOutputs node not found in the original graph.");c=structuredClone(h),c.incomingEdges=[],o.push(c)}c.incomingEdges=c.incomingEdges||[];let d=new Set,u=c.incomingEdges.length;for(let h of t.nodes){if(r[h.id])continue;let p=(h.incomingEdges||[]).filter(f=>r[f.sourceNodeId]);for(let f of p){let y=(n[f.sourceNodeId].outputsMetadata||[]).find(_=>_.id===f.sourceNodeOutputId);if(!y)continue;let g=(y.attrs||[]).find(_=>_.key==="tensor_index")?.value;if(g&&!d.has(g)){d.add(g);let _=structuredClone(f);_.targetNodeInputId=u.toString(),c.incomingEdges.push(_),u++}}}return{id:`${t.id}_subgraph`,collectionLabel:t.collectionLabel,nodes:o}}get modelGraph(){return this.appService.getCurrentModelGraphFromPane(this.paneId)}static \u0275fac=function(n){return new(n||i)(X(st))};static \u0275prov=J({token:i,factory:i.\u0275fac})}return i})();var iC=class{};function HH(i){return i&&typeof i.connect=="function"&&!(i instanceof hl)}var ef=class{get selected(){return this._selected||(this._selected=Array.from(this._selection.values())),this._selected}constructor(e=!1,t,n=!0,r){this._multiple=e,this._emitChanges=n,this.compareWith=r,this._selection=new Set,this._deselectedToEmit=[],this._selectedToEmit=[],this.changed=new me,t&&t.length&&(e?t.forEach(o=>this._markSelected(o)):this._markSelected(t[0]),this._selectedToEmit.length=0)}select(...e){this._verifyValueAssignment(e),e.forEach(n=>this._markSelected(n));let t=this._hasQueuedChanges();return this._emitChangeEvent(),t}deselect(...e){this._verifyValueAssignment(e),e.forEach(n=>this._unmarkSelected(n));let t=this._hasQueuedChanges();return this._emitChangeEvent(),t}setSelection(...e){this._verifyValueAssignment(e);let t=this.selected,n=new Set(e);e.forEach(o=>this._markSelected(o)),t.filter(o=>!n.has(this._getConcreteValue(o,n))).forEach(o=>this._unmarkSelected(o));let r=this._hasQueuedChanges();return this._emitChangeEvent(),r}toggle(e){return this.isSelected(e)?this.deselect(e):this.select(e)}clear(e=!0){this._unmarkAll();let t=this._hasQueuedChanges();return e&&this._emitChangeEvent(),t}isSelected(e){return this._selection.has(this._getConcreteValue(e))}isEmpty(){return this._selection.size===0}hasValue(){return!this.isEmpty()}sort(e){this._multiple&&this.selected&&this._selected.sort(e)}isMultipleSelection(){return this._multiple}_emitChangeEvent(){this._selected=null,(this._selectedToEmit.length||this._deselectedToEmit.length)&&(this.changed.next({source:this,added:this._selectedToEmit,removed:this._deselectedToEmit}),this._deselectedToEmit=[],this._selectedToEmit=[])}_markSelected(e){e=this._getConcreteValue(e),this.isSelected(e)||(this._multiple||this._unmarkAll(),this.isSelected(e)||this._selection.add(e),this._emitChanges&&this._selectedToEmit.push(e))}_unmarkSelected(e){e=this._getConcreteValue(e),this.isSelected(e)&&(this._selection.delete(e),this._emitChanges&&this._deselectedToEmit.push(e))}_unmarkAll(){this.isEmpty()||this._selection.forEach(e=>this._unmarkSelected(e))}_verifyValueAssignment(e){e.length>1&&this._multiple}_hasQueuedChanges(){return!!(this._deselectedToEmit.length||this._selectedToEmit.length)}_getConcreteValue(e,t){if(this.compareWith){t=t??this._selection;for(let n of t)if(this.compareWith(e,n))return n;return e}else return e}};var ece=20,_u=(()=>{let e=class e{constructor(n,r,o){this._ngZone=n,this._platform=r,this._scrolled=new me,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=o}register(n){this.scrollContainers.has(n)||this.scrollContainers.set(n,n.elementScrolled().subscribe(()=>this._scrolled.next(n)))}deregister(n){let r=this.scrollContainers.get(n);r&&(r.unsubscribe(),this.scrollContainers.delete(n))}scrolled(n=ece){return this._platform.isBrowser?new Mt(r=>{this._globalSubscription||this._addGlobalListener();let o=n>0?this._scrolled.pipe(Uv(n)).subscribe(r):this._scrolled.subscribe(r);return this._scrolledCount++,()=>{o.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):Ke()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((n,r)=>this.deregister(r)),this._scrolled.complete()}ancestorScrolled(n,r){let o=this.getAncestorScrollContainers(n);return this.scrolled(r).pipe(jt(s=>!s||o.indexOf(s)>-1))}getAncestorScrollContainers(n){let r=[];return this.scrollContainers.forEach((o,s)=>{this._scrollableContainsElement(s,n)&&r.push(s)}),r}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(n,r){let o=er(r),s=n.getElementRef().nativeElement;do if(o==s)return!0;while(o=o.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>{let n=this._getWindow();return yn(n.document,"scroll").subscribe(()=>this._scrolled.next())})}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}};e.\u0275fac=function(r){return new(r||e)(X(Le),X(gn),X(Ye,8))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})(),aO=(()=>{let e=class e{constructor(n,r,o,s){this.elementRef=n,this.scrollDispatcher=r,this.ngZone=o,this.dir=s,this._destroyed=new me,this._elementScrolled=new Mt(a=>this.ngZone.runOutsideAngular(()=>yn(this.elementRef.nativeElement,"scroll").pipe(Xe(this._destroyed)).subscribe(a)))}ngOnInit(){this.scrollDispatcher.register(this)}ngOnDestroy(){this.scrollDispatcher.deregister(this),this._destroyed.next(),this._destroyed.complete()}elementScrolled(){return this._elementScrolled}getElementRef(){return this.elementRef}scrollTo(n){let r=this.elementRef.nativeElement,o=this.dir&&this.dir.value=="rtl";n.left==null&&(n.left=o?n.end:n.start),n.right==null&&(n.right=o?n.start:n.end),n.bottom!=null&&(n.top=r.scrollHeight-r.clientHeight-n.bottom),o&&Mh()!=fs.NORMAL?(n.left!=null&&(n.right=r.scrollWidth-r.clientWidth-n.left),Mh()==fs.INVERTED?n.left=n.right:Mh()==fs.NEGATED&&(n.left=n.right?-n.right:n.right)):n.right!=null&&(n.left=r.scrollWidth-r.clientWidth-n.right),this._applyScrollToOptions(n)}_applyScrollToOptions(n){let r=this.elementRef.nativeElement;my()?r.scrollTo(n):(n.top!=null&&(r.scrollTop=n.top),n.left!=null&&(r.scrollLeft=n.left))}measureScrollOffset(n){let r="left",o="right",s=this.elementRef.nativeElement;if(n=="top")return s.scrollTop;if(n=="bottom")return s.scrollHeight-s.clientHeight-s.scrollTop;let a=this.dir&&this.dir.value=="rtl";return n=="start"?n=a?o:r:n=="end"&&(n=a?r:o),a&&Mh()==fs.INVERTED?n==r?s.scrollWidth-s.clientWidth-s.scrollLeft:s.scrollLeft:a&&Mh()==fs.NEGATED?n==r?s.scrollLeft+s.scrollWidth-s.clientWidth:-s.scrollLeft:n==r?s.scrollLeft:s.scrollWidth-s.clientWidth-s.scrollLeft}};e.\u0275fac=function(r){return new(r||e)(M(Re),M(_u),M(Le),M(li,8))},e.\u0275dir=ze({type:e,selectors:[["","cdk-scrollable",""],["","cdkScrollable",""]],standalone:!0});let i=e;return i})(),tce=20,aa=(()=>{let e=class e{constructor(n,r,o){this._platform=n,this._change=new me,this._changeListener=s=>{this._change.next(s)},this._document=o,r.runOutsideAngular(()=>{if(n.isBrowser){let s=this._getWindow();s.addEventListener("resize",this._changeListener),s.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){if(this._platform.isBrowser){let n=this._getWindow();n.removeEventListener("resize",this._changeListener),n.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();let n={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),n}getViewportRect(){let n=this.getViewportScrollPosition(),{width:r,height:o}=this.getViewportSize();return{top:n.top,left:n.left,bottom:n.top+o,right:n.left+r,height:o,width:r}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};let n=this._document,r=this._getWindow(),o=n.documentElement,s=o.getBoundingClientRect(),a=-s.top||n.body.scrollTop||r.scrollY||o.scrollTop||0,l=-s.left||n.body.scrollLeft||r.scrollX||o.scrollLeft||0;return{top:a,left:l}}change(n=tce){return n>0?this._change.pipe(Uv(n)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){let n=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:n.innerWidth,height:n.innerHeight}:{width:0,height:0}}};e.\u0275fac=function(r){return new(r||e)(X(gn),X(Le),X(Ye,8))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();var Zo=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=ot({type:e}),e.\u0275inj=rt({});let i=e;return i})(),lO=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=ot({type:e}),e.\u0275inj=rt({imports:[$l,Zo,$l,Zo]});let i=e;return i})();var U_=class{attach(e){return this._attachedHost=e,e.attach(this)}detach(){let e=this._attachedHost;e!=null&&(this._attachedHost=null,e.detach())}get isAttached(){return this._attachedHost!=null}setAttachedHost(e){this._attachedHost=e}},Pi=class extends U_{constructor(e,t,n,r,o){super(),this.component=e,this.viewContainerRef=t,this.injector=n,this.componentFactoryResolver=r,this.projectableNodes=o}},Wr=class extends U_{constructor(e,t,n,r){super(),this.templateRef=e,this.viewContainerRef=t,this.context=n,this.injector=r}get origin(){return this.templateRef.elementRef}attach(e,t=this.context){return this.context=t,super.attach(e)}detach(){return this.context=void 0,super.detach()}},cO=class extends U_{constructor(e){super(),this.element=e instanceof Re?e.nativeElement:e}},la=class{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(e){if(e instanceof Pi)return this._attachedPortal=e,this.attachComponentPortal(e);if(e instanceof Wr)return this._attachedPortal=e,this.attachTemplatePortal(e);if(this.attachDomPortal&&e instanceof cO)return this._attachedPortal=e,this.attachDomPortal(e)}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(e){this._disposeFn=e}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}};var H_=class extends la{constructor(e,t,n,r,o){super(),this.outletElement=e,this._componentFactoryResolver=t,this._appRef=n,this._defaultInjector=r,this.attachDomPortal=s=>{this._document;let a=s.element;a.parentNode;let l=this._document.createComment("dom-portal");a.parentNode.insertBefore(l,a),this.outletElement.appendChild(a),this._attachedPortal=s,super.setDisposeFn(()=>{l.parentNode&&l.parentNode.replaceChild(a,l)})},this._document=o}attachComponentPortal(e){let n=(e.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(e.component),r;return e.viewContainerRef?(r=e.viewContainerRef.createComponent(n,e.viewContainerRef.length,e.injector||e.viewContainerRef.injector,e.projectableNodes||void 0),this.setDisposeFn(()=>r.destroy())):(r=n.create(e.injector||this._defaultInjector||xt.NULL),this._appRef.attachView(r.hostView),this.setDisposeFn(()=>{this._appRef.viewCount>0&&this._appRef.detachView(r.hostView),r.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(r)),this._attachedPortal=e,r}attachTemplatePortal(e){let t=e.viewContainerRef,n=t.createEmbeddedView(e.templateRef,e.context,{injector:e.injector});return n.rootNodes.forEach(r=>this.outletElement.appendChild(r)),n.detectChanges(),this.setDisposeFn(()=>{let r=t.indexOf(n);r!==-1&&t.remove(r)}),this._attachedPortal=e,n}dispose(){super.dispose(),this.outletElement.remove()}_getComponentRootNode(e){return e.hostView.rootNodes[0]}};var Qo=(()=>{let e=class e extends la{constructor(n,r,o){super(),this._componentFactoryResolver=n,this._viewContainerRef=r,this._isInitialized=!1,this.attached=new Ie,this.attachDomPortal=s=>{this._document;let a=s.element;a.parentNode;let l=this._document.createComment("dom-portal");s.setAttachedHost(this),a.parentNode.insertBefore(l,a),this._getRootNode().appendChild(a),this._attachedPortal=s,super.setDisposeFn(()=>{l.parentNode&&l.parentNode.replaceChild(a,l)})},this._document=o}get portal(){return this._attachedPortal}set portal(n){this.hasAttached()&&!n&&!this._isInitialized||(this.hasAttached()&&super.detach(),n&&super.attach(n),this._attachedPortal=n||null)}get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedRef=this._attachedPortal=null}attachComponentPortal(n){n.setAttachedHost(this);let r=n.viewContainerRef!=null?n.viewContainerRef:this._viewContainerRef,s=(n.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(n.component),a=r.createComponent(s,r.length,n.injector||r.injector,n.projectableNodes||void 0);return r!==this._viewContainerRef&&this._getRootNode().appendChild(a.hostView.rootNodes[0]),super.setDisposeFn(()=>a.destroy()),this._attachedPortal=n,this._attachedRef=a,this.attached.emit(a),a}attachTemplatePortal(n){n.setAttachedHost(this);let r=this._viewContainerRef.createEmbeddedView(n.templateRef,n.context,{injector:n.injector});return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=n,this._attachedRef=r,this.attached.emit(r),r}_getRootNode(){let n=this._viewContainerRef.element.nativeElement;return n.nodeType===n.ELEMENT_NODE?n:n.parentNode}};e.\u0275fac=function(r){return new(r||e)(M(ds),M(Yt),M(Ye))},e.\u0275dir=ze({type:e,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:[0,"cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],standalone:!0,features:[nn]});let i=e;return i})();var Ms=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=ot({type:e}),e.\u0275inj=rt({});let i=e;return i})();var GH=my(),dO=class{constructor(e,t){this._viewportRuler=e,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=t}attach(){}enable(){if(this._canBeEnabled()){let e=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=e.style.left||"",this._previousHTMLStyles.top=e.style.top||"",e.style.left=_i(-this._previousScrollPosition.left),e.style.top=_i(-this._previousScrollPosition.top),e.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){let e=this._document.documentElement,t=this._document.body,n=e.style,r=t.style,o=n.scrollBehavior||"",s=r.scrollBehavior||"";this._isEnabled=!1,n.left=this._previousHTMLStyles.left,n.top=this._previousHTMLStyles.top,e.classList.remove("cdk-global-scrollblock"),GH&&(n.scrollBehavior=r.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),GH&&(n.scrollBehavior=o,r.scrollBehavior=s)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;let t=this._document.body,n=this._viewportRuler.getViewportSize();return t.scrollHeight>n.height||t.scrollWidth>n.width}};var uO=class{constructor(e,t,n,r){this._scrollDispatcher=e,this._ngZone=t,this._viewportRuler=n,this._config=r,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach(e){this._overlayRef,this._overlayRef=e}enable(){if(this._scrollSubscription)return;let e=this._scrollDispatcher.scrolled(0).pipe(jt(t=>!t||!this._overlayRef.overlayElement.contains(t.getElementRef().nativeElement)));this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=e.subscribe(()=>{let t=this._viewportRuler.getViewportScrollPosition().top;Math.abs(t-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=e.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}},rC=class{enable(){}disable(){}attach(){}};function hO(i,e){return e.some(t=>{let n=i.bottomt.bottom,o=i.rightt.right;return n||r||o||s})}function jH(i,e){return e.some(t=>{let n=i.topt.bottom,o=i.leftt.right;return n||r||o||s})}var pO=class{constructor(e,t,n,r){this._scrollDispatcher=e,this._viewportRuler=t,this._ngZone=n,this._config=r,this._scrollSubscription=null}attach(e){this._overlayRef,this._overlayRef=e}enable(){if(!this._scrollSubscription){let e=this._config?this._config.scrollThrottle:0;this._scrollSubscription=this._scrollDispatcher.scrolled(e).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){let t=this._overlayRef.overlayElement.getBoundingClientRect(),{width:n,height:r}=this._viewportRuler.getViewportSize();hO(t,[{width:n,height:r,bottom:r,right:n,top:0,left:0}])&&(this.disable(),this._ngZone.run(()=>this._overlayRef.detach()))}})}}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}},ice=(()=>{let e=class e{constructor(n,r,o,s){this._scrollDispatcher=n,this._viewportRuler=r,this._ngZone=o,this.noop=()=>new rC,this.close=a=>new uO(this._scrollDispatcher,this._ngZone,this._viewportRuler,a),this.block=()=>new dO(this._viewportRuler,this._document),this.reposition=a=>new pO(this._scrollDispatcher,this._viewportRuler,this._ngZone,a),this._document=s}};e.\u0275fac=function(r){return new(r||e)(X(_u),X(aa),X(Le),X(Ye))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})(),hi=class{constructor(e){if(this.scrollStrategy=new rC,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,e){let t=Object.keys(e);for(let n of t)e[n]!==void 0&&(this[n]=e[n])}}};var fO=class{constructor(e,t){this.connectionPair=e,this.scrollableViewProperties=t}};var ZH=(()=>{let e=class e{constructor(n){this._attachedOverlays=[],this._document=n}ngOnDestroy(){this.detach()}add(n){this.remove(n),this._attachedOverlays.push(n)}remove(n){let r=this._attachedOverlays.indexOf(n);r>-1&&this._attachedOverlays.splice(r,1),this._attachedOverlays.length===0&&this.detach()}};e.\u0275fac=function(r){return new(r||e)(X(Ye))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})(),rce=(()=>{let e=class e extends ZH{constructor(n,r){super(n),this._ngZone=r,this._keydownListener=o=>{let s=this._attachedOverlays;for(let a=s.length-1;a>-1;a--)if(s[a]._keydownEvents.observers.length>0){let l=s[a]._keydownEvents;this._ngZone?this._ngZone.run(()=>l.next(o)):l.next(o);break}}}add(n){super.add(n),this._isAttached||(this._ngZone?this._ngZone.runOutsideAngular(()=>this._document.body.addEventListener("keydown",this._keydownListener)):this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}};e.\u0275fac=function(r){return new(r||e)(X(Ye),X(Le,8))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})(),oce=(()=>{let e=class e extends ZH{constructor(n,r,o){super(n),this._platform=r,this._ngZone=o,this._cursorStyleIsSet=!1,this._pointerDownListener=s=>{this._pointerDownEventTarget=Mi(s)},this._clickListener=s=>{let a=Mi(s),l=s.type==="click"&&this._pointerDownEventTarget?this._pointerDownEventTarget:a;this._pointerDownEventTarget=null;let c=this._attachedOverlays.slice();for(let d=c.length-1;d>-1;d--){let u=c[d];if(u._outsidePointerEvents.observers.length<1||!u.hasAttached())continue;if(WH(u.overlayElement,a)||WH(u.overlayElement,l))break;let h=u._outsidePointerEvents;this._ngZone?this._ngZone.run(()=>h.next(s)):h.next(s)}}}add(n){if(super.add(n),!this._isAttached){let r=this._document.body;this._ngZone?this._ngZone.runOutsideAngular(()=>this._addEventListeners(r)):this._addEventListeners(r),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=r.style.cursor,r.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){let n=this._document.body;n.removeEventListener("pointerdown",this._pointerDownListener,!0),n.removeEventListener("click",this._clickListener,!0),n.removeEventListener("auxclick",this._clickListener,!0),n.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(n.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}_addEventListeners(n){n.addEventListener("pointerdown",this._pointerDownListener,!0),n.addEventListener("click",this._clickListener,!0),n.addEventListener("auxclick",this._clickListener,!0),n.addEventListener("contextmenu",this._clickListener,!0)}};e.\u0275fac=function(r){return new(r||e)(X(Ye),X(gn),X(Le,8))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();function WH(i,e){let t=typeof ShadowRoot<"u"&&ShadowRoot,n=e;for(;n;){if(n===i)return!0;n=t&&n instanceof ShadowRoot?n.host:n.parentNode}return!1}var tf=(()=>{let e=class e{constructor(n,r){this._platform=r,this._document=n}ngOnDestroy(){this._containerElement?.remove()}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){let n="cdk-overlay-container";if(this._platform.isBrowser||zm()){let o=this._document.querySelectorAll(`.${n}[platform="server"], .${n}[platform="test"]`);for(let s=0;sthis._backdropClick.next(h),this._backdropTransitionendHandler=h=>{this._disposeBackdrop(h.target)},this._keydownEvents=new me,this._outsidePointerEvents=new me,this._renders=new me,r.scrollStrategy&&(this._scrollStrategy=r.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=r.positionStrategy,this._afterRenderRef=Lr(()=>Yf(()=>{this._renders.next()},{injector:this._injector}))}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(e){!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host);let t=this._portalOutlet.attach(e);return this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),fr(()=>{this.hasAttached()&&this.updatePosition()},{injector:this._injector}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&(this._locationChanges=this._location.subscribe(()=>this.dispose())),this._outsideClickDispatcher.add(this),typeof t?.onDestroy=="function"&&t.onDestroy(()=>{this.hasAttached()&&this._ngZone.runOutsideAngular(()=>Promise.resolve().then(()=>this.detach()))}),t}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();let e=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenEmpty(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),e}dispose(){let e=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this._disposeBackdrop(this._backdropElement),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._outsidePointerEvents.complete(),this._outsideClickDispatcher.remove(this),this._host?.remove(),this._previousHostParent=this._pane=this._host=null,e&&this._detachments.next(),this._detachments.complete(),this._afterRenderRef.destroy(),this._renders.complete()}hasAttached(){return this._portalOutlet.hasAttached()}backdropClick(){return this._backdropClick}attachments(){return this._attachments}detachments(){return this._detachments}keydownEvents(){return this._keydownEvents}outsidePointerEvents(){return this._outsidePointerEvents}getConfig(){return this._config}updatePosition(){this._positionStrategy&&this._positionStrategy.apply()}updatePositionStrategy(e){e!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=e,this.hasAttached()&&(e.attach(this),this.updatePosition()))}updateSize(e){this._config=Z(Z({},this._config),e),this._updateElementSize()}setDirection(e){this._config=wt(Z({},this._config),{direction:e}),this._updateElementDirection()}addPanelClass(e){this._pane&&this._toggleClasses(this._pane,e,!0)}removePanelClass(e){this._pane&&this._toggleClasses(this._pane,e,!1)}getDirection(){let e=this._config.direction;return e?typeof e=="string"?e:e.value:"ltr"}updateScrollStrategy(e){e!==this._scrollStrategy&&(this._disposeScrollStrategy(),this._scrollStrategy=e,this.hasAttached()&&(e.attach(this),e.enable()))}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){if(!this._pane)return;let e=this._pane.style;e.width=_i(this._config.width),e.height=_i(this._config.height),e.minWidth=_i(this._config.minWidth),e.minHeight=_i(this._config.minHeight),e.maxWidth=_i(this._config.maxWidth),e.maxHeight=_i(this._config.maxHeight)}_togglePointerEvents(e){this._pane.style.pointerEvents=e?"":"none"}_attachBackdrop(){let e="cdk-overlay-backdrop-showing";this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._animationsDisabled&&this._backdropElement.classList.add("cdk-overlay-backdrop-noop-animation"),this._config.backdropClass&&this._toggleClasses(this._backdropElement,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropElement,this._host),this._backdropElement.addEventListener("click",this._backdropClickHandler),!this._animationsDisabled&&typeof requestAnimationFrame<"u"?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{this._backdropElement&&this._backdropElement.classList.add(e)})}):this._backdropElement.classList.add(e)}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){let e=this._backdropElement;if(e){if(this._animationsDisabled){this._disposeBackdrop(e);return}e.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{e.addEventListener("transitionend",this._backdropTransitionendHandler)}),e.style.pointerEvents="none",this._backdropTimeout=this._ngZone.runOutsideAngular(()=>setTimeout(()=>{this._disposeBackdrop(e)},500))}}_toggleClasses(e,t,n){let r=vd(t||[]).filter(o=>!!o);r.length&&(n?e.classList.add(...r):e.classList.remove(...r))}_detachContentWhenEmpty(){this._ngZone.runOutsideAngular(()=>{let e=this._renders.pipe(Xe(Yn(this._attachments,this._detachments))).subscribe(()=>{(!this._pane||!this._host||this._pane.children.length===0)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._host.remove()),e.unsubscribe())})})}_disposeScrollStrategy(){let e=this._scrollStrategy;e&&(e.disable(),e.detach&&e.detach())}_disposeBackdrop(e){e&&(e.removeEventListener("click",this._backdropClickHandler),e.removeEventListener("transitionend",this._backdropTransitionendHandler),e.remove(),this._backdropElement===e&&(this._backdropElement=null)),this._backdropTimeout&&(clearTimeout(this._backdropTimeout),this._backdropTimeout=void 0)}},$H="cdk-overlay-connected-position-bounding-box",sce=/([A-Za-z%]+)$/,mO=class{get positions(){return this._preferredPositions}constructor(e,t,n,r,o){this._viewportRuler=t,this._document=n,this._platform=r,this._overlayContainer=o,this._lastBoundingBoxSize={width:0,height:0},this._isPushed=!1,this._canPush=!0,this._growAfterOpen=!1,this._hasFlexibleDimensions=!0,this._positionLocked=!1,this._viewportMargin=0,this._scrollables=[],this._preferredPositions=[],this._positionChanges=new me,this._resizeSubscription=Ct.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(e)}attach(e){this._overlayRef&&this._overlayRef,this._validatePositions(),e.hostElement.classList.add($H),this._overlayRef=e,this._boundingBox=e.hostElement,this._pane=e.overlayElement,this._isDisposed=!1,this._isInitialRender=!0,this._lastPosition=null,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(()=>{this._isInitialRender=!0,this.apply()})}apply(){if(this._isDisposed||!this._platform.isBrowser)return;if(!this._isInitialRender&&this._positionLocked&&this._lastPosition){this.reapplyLastPosition();return}this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._containerRect=this._overlayContainer.getContainerElement().getBoundingClientRect();let e=this._originRect,t=this._overlayRect,n=this._viewportRect,r=this._containerRect,o=[],s;for(let a of this._preferredPositions){let l=this._getOriginPoint(e,r,a),c=this._getOverlayPoint(l,t,a),d=this._getOverlayFit(c,t,n,a);if(d.isCompletelyWithinViewport){this._isPushed=!1,this._applyPosition(a,l);return}if(this._canFitWithFlexibleDimensions(d,c,n)){o.push({position:a,origin:l,overlayRect:t,boundingBoxRect:this._calculateBoundingBoxRect(l,a)});continue}(!s||s.overlayFit.visibleAreal&&(l=d,a=c)}this._isPushed=!1,this._applyPosition(a.position,a.origin);return}if(this._canPush){this._isPushed=!0,this._applyPosition(s.position,s.originPoint);return}this._applyPosition(s.position,s.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&vu(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove($H),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(this._isDisposed||!this._platform.isBrowser)return;let e=this._lastPosition;if(e){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect(),this._containerRect=this._overlayContainer.getContainerElement().getBoundingClientRect();let t=this._getOriginPoint(this._originRect,this._containerRect,e);this._applyPosition(e,t)}else this.apply()}withScrollableContainers(e){return this._scrollables=e,this}withPositions(e){return this._preferredPositions=e,e.indexOf(this._lastPosition)===-1&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(e){return this._viewportMargin=e,this}withFlexibleDimensions(e=!0){return this._hasFlexibleDimensions=e,this}withGrowAfterOpen(e=!0){return this._growAfterOpen=e,this}withPush(e=!0){return this._canPush=e,this}withLockedPosition(e=!0){return this._positionLocked=e,this}setOrigin(e){return this._origin=e,this}withDefaultOffsetX(e){return this._offsetX=e,this}withDefaultOffsetY(e){return this._offsetY=e,this}withTransformOriginOn(e){return this._transformOriginSelector=e,this}_getOriginPoint(e,t,n){let r;if(n.originX=="center")r=e.left+e.width/2;else{let s=this._isRtl()?e.right:e.left,a=this._isRtl()?e.left:e.right;r=n.originX=="start"?s:a}t.left<0&&(r-=t.left);let o;return n.originY=="center"?o=e.top+e.height/2:o=n.originY=="top"?e.top:e.bottom,t.top<0&&(o-=t.top),{x:r,y:o}}_getOverlayPoint(e,t,n){let r;n.overlayX=="center"?r=-t.width/2:n.overlayX==="start"?r=this._isRtl()?-t.width:0:r=this._isRtl()?0:-t.width;let o;return n.overlayY=="center"?o=-t.height/2:o=n.overlayY=="top"?0:-t.height,{x:e.x+r,y:e.y+o}}_getOverlayFit(e,t,n,r){let o=YH(t),{x:s,y:a}=e,l=this._getOffset(r,"x"),c=this._getOffset(r,"y");l&&(s+=l),c&&(a+=c);let d=0-s,u=s+o.width-n.width,h=0-a,p=a+o.height-n.height,f=this._subtractOverflows(o.width,d,u),m=this._subtractOverflows(o.height,h,p),y=f*m;return{visibleArea:y,isCompletelyWithinViewport:o.width*o.height===y,fitsInViewportVertically:m===o.height,fitsInViewportHorizontally:f==o.width}}_canFitWithFlexibleDimensions(e,t,n){if(this._hasFlexibleDimensions){let r=n.bottom-t.y,o=n.right-t.x,s=qH(this._overlayRef.getConfig().minHeight),a=qH(this._overlayRef.getConfig().minWidth),l=e.fitsInViewportVertically||s!=null&&s<=r,c=e.fitsInViewportHorizontally||a!=null&&a<=o;return l&&c}return!1}_pushOverlayOnScreen(e,t,n){if(this._previousPushAmount&&this._positionLocked)return{x:e.x+this._previousPushAmount.x,y:e.y+this._previousPushAmount.y};let r=YH(t),o=this._viewportRect,s=Math.max(e.x+r.width-o.width,0),a=Math.max(e.y+r.height-o.height,0),l=Math.max(o.top-n.top-e.y,0),c=Math.max(o.left-n.left-e.x,0),d=0,u=0;return r.width<=o.width?d=c||-s:d=e.xf&&!this._isInitialRender&&!this._growAfterOpen&&(s=e.y-f/2)}let l=t.overlayX==="start"&&!r||t.overlayX==="end"&&r,c=t.overlayX==="end"&&!r||t.overlayX==="start"&&r,d,u,h;if(c)h=n.width-e.x+this._viewportMargin*2,d=e.x-this._viewportMargin;else if(l)u=e.x,d=n.right-e.x;else{let p=Math.min(n.right-e.x+n.left,e.x),f=this._lastBoundingBoxSize.width;d=p*2,u=e.x-p,d>f&&!this._isInitialRender&&!this._growAfterOpen&&(u=e.x-f/2)}return{top:s,left:u,bottom:a,right:h,width:d,height:o}}_setBoundingBoxStyles(e,t){let n=this._calculateBoundingBoxRect(e,t);!this._isInitialRender&&!this._growAfterOpen&&(n.height=Math.min(n.height,this._lastBoundingBoxSize.height),n.width=Math.min(n.width,this._lastBoundingBoxSize.width));let r={};if(this._hasExactPosition())r.top=r.left="0",r.bottom=r.right=r.maxHeight=r.maxWidth="",r.width=r.height="100%";else{let o=this._overlayRef.getConfig().maxHeight,s=this._overlayRef.getConfig().maxWidth;r.height=_i(n.height),r.top=_i(n.top),r.bottom=_i(n.bottom),r.width=_i(n.width),r.left=_i(n.left),r.right=_i(n.right),t.overlayX==="center"?r.alignItems="center":r.alignItems=t.overlayX==="end"?"flex-end":"flex-start",t.overlayY==="center"?r.justifyContent="center":r.justifyContent=t.overlayY==="bottom"?"flex-end":"flex-start",o&&(r.maxHeight=_i(o)),s&&(r.maxWidth=_i(s))}this._lastBoundingBoxSize=n,vu(this._boundingBox.style,r)}_resetBoundingBoxStyles(){vu(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){vu(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(e,t){let n={},r=this._hasExactPosition(),o=this._hasFlexibleDimensions,s=this._overlayRef.getConfig();if(r){let d=this._viewportRuler.getViewportScrollPosition();vu(n,this._getExactOverlayY(t,e,d)),vu(n,this._getExactOverlayX(t,e,d))}else n.position="static";let a="",l=this._getOffset(t,"x"),c=this._getOffset(t,"y");l&&(a+=`translateX(${l}px) `),c&&(a+=`translateY(${c}px)`),n.transform=a.trim(),s.maxHeight&&(r?n.maxHeight=_i(s.maxHeight):o&&(n.maxHeight="")),s.maxWidth&&(r?n.maxWidth=_i(s.maxWidth):o&&(n.maxWidth="")),vu(this._pane.style,n)}_getExactOverlayY(e,t,n){let r={top:"",bottom:""},o=this._getOverlayPoint(t,this._overlayRect,e);if(this._isPushed&&(o=this._pushOverlayOnScreen(o,this._overlayRect,n)),e.overlayY==="bottom"){let s=this._document.documentElement.clientHeight;r.bottom=`${s-(o.y+this._overlayRect.height)}px`}else r.top=_i(o.y);return r}_getExactOverlayX(e,t,n){let r={left:"",right:""},o=this._getOverlayPoint(t,this._overlayRect,e);this._isPushed&&(o=this._pushOverlayOnScreen(o,this._overlayRect,n));let s;if(this._isRtl()?s=e.overlayX==="end"?"left":"right":s=e.overlayX==="end"?"right":"left",s==="right"){let a=this._document.documentElement.clientWidth;r.right=`${a-(o.x+this._overlayRect.width)}px`}else r.left=_i(o.x);return r}_getScrollVisibility(){let e=this._getOriginRect(),t=this._pane.getBoundingClientRect(),n=this._scrollables.map(r=>r.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:jH(e,n),isOriginOutsideView:hO(e,n),isOverlayClipped:jH(t,n),isOverlayOutsideView:hO(t,n)}}_subtractOverflows(e,...t){return t.reduce((n,r)=>n-Math.max(r,0),e)}_getNarrowedViewportRect(){let e=this._document.documentElement.clientWidth,t=this._document.documentElement.clientHeight,n=this._viewportRuler.getViewportScrollPosition();return{top:n.top+this._viewportMargin,left:n.left+this._viewportMargin,right:n.left+e-this._viewportMargin,bottom:n.top+t-this._viewportMargin,width:e-2*this._viewportMargin,height:t-2*this._viewportMargin}}_isRtl(){return this._overlayRef.getDirection()==="rtl"}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(e,t){return t==="x"?e.offsetX==null?this._offsetX:e.offsetX:e.offsetY==null?this._offsetY:e.offsetY}_validatePositions(){}_addPanelClasses(e){this._pane&&vd(e).forEach(t=>{t!==""&&this._appliedPanelClasses.indexOf(t)===-1&&(this._appliedPanelClasses.push(t),this._pane.classList.add(t))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(e=>{this._pane.classList.remove(e)}),this._appliedPanelClasses=[])}_getOriginRect(){let e=this._origin;if(e instanceof Re)return e.nativeElement.getBoundingClientRect();if(e instanceof Element)return e.getBoundingClientRect();let t=e.width||0,n=e.height||0;return{top:e.y,bottom:e.y+n,left:e.x,right:e.x+t,height:n,width:t}}};function vu(i,e){for(let t in e)e.hasOwnProperty(t)&&(i[t]=e[t]);return i}function qH(i){if(typeof i!="number"&&i!=null){let[e,t]=i.split(sce);return!t||t==="px"?parseFloat(e):null}return i||null}function YH(i){return{top:Math.floor(i.top),right:Math.floor(i.right),bottom:Math.floor(i.bottom),left:Math.floor(i.left),width:Math.floor(i.width),height:Math.floor(i.height)}}function ace(i,e){return i===e?!0:i.isOriginClipped===e.isOriginClipped&&i.isOriginOutsideView===e.isOriginOutsideView&&i.isOverlayClipped===e.isOverlayClipped&&i.isOverlayOutsideView===e.isOverlayOutsideView}var XH="cdk-global-overlay-wrapper",gO=class{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._alignItems="",this._xPosition="",this._xOffset="",this._width="",this._height="",this._isDisposed=!1}attach(e){let t=e.getConfig();this._overlayRef=e,this._width&&!t.width&&e.updateSize({width:this._width}),this._height&&!t.height&&e.updateSize({height:this._height}),e.hostElement.classList.add(XH),this._isDisposed=!1}top(e=""){return this._bottomOffset="",this._topOffset=e,this._alignItems="flex-start",this}left(e=""){return this._xOffset=e,this._xPosition="left",this}bottom(e=""){return this._topOffset="",this._bottomOffset=e,this._alignItems="flex-end",this}right(e=""){return this._xOffset=e,this._xPosition="right",this}start(e=""){return this._xOffset=e,this._xPosition="start",this}end(e=""){return this._xOffset=e,this._xPosition="end",this}width(e=""){return this._overlayRef?this._overlayRef.updateSize({width:e}):this._width=e,this}height(e=""){return this._overlayRef?this._overlayRef.updateSize({height:e}):this._height=e,this}centerHorizontally(e=""){return this.left(e),this._xPosition="center",this}centerVertically(e=""){return this.top(e),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;let e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement.style,n=this._overlayRef.getConfig(),{width:r,height:o,maxWidth:s,maxHeight:a}=n,l=(r==="100%"||r==="100vw")&&(!s||s==="100%"||s==="100vw"),c=(o==="100%"||o==="100vh")&&(!a||a==="100%"||a==="100vh"),d=this._xPosition,u=this._xOffset,h=this._overlayRef.getConfig().direction==="rtl",p="",f="",m="";l?m="flex-start":d==="center"?(m="center",h?f=u:p=u):h?d==="left"||d==="end"?(m="flex-end",p=u):(d==="right"||d==="start")&&(m="flex-start",f=u):d==="left"||d==="start"?(m="flex-start",p=u):(d==="right"||d==="end")&&(m="flex-end",f=u),e.position=this._cssPosition,e.marginLeft=l?"0":p,e.marginTop=c?"0":this._topOffset,e.marginBottom=this._bottomOffset,e.marginRight=l?"0":f,t.justifyContent=m,t.alignItems=c?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;let e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement,n=t.style;t.classList.remove(XH),n.justifyContent=n.alignItems=e.marginTop=e.marginBottom=e.marginLeft=e.marginRight=e.position="",this._overlayRef=null,this._isDisposed=!0}},lce=(()=>{let e=class e{constructor(n,r,o,s){this._viewportRuler=n,this._document=r,this._platform=o,this._overlayContainer=s}global(){return new gO}flexibleConnectedTo(n){return new mO(n,this._viewportRuler,this._document,this._platform,this._overlayContainer)}};e.\u0275fac=function(r){return new(r||e)(X(aa),X(Ye),X(gn),X(tf))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})(),cce=0,Gt=(()=>{let e=class e{constructor(n,r,o,s,a,l,c,d,u,h,p,f){this.scrollStrategies=n,this._overlayContainer=r,this._componentFactoryResolver=o,this._positionBuilder=s,this._keyboardDispatcher=a,this._injector=l,this._ngZone=c,this._document=d,this._directionality=u,this._location=h,this._outsideClickDispatcher=p,this._animationsModuleType=f}create(n){let r=this._createHostElement(),o=this._createPaneElement(r),s=this._createPortalOutlet(o),a=new hi(n);return a.direction=a.direction||this._directionality.value,new al(s,r,o,a,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher,this._animationsModuleType==="NoopAnimations",this._injector.get(qi))}position(){return this._positionBuilder}_createPaneElement(n){let r=this._document.createElement("div");return r.id=`cdk-overlay-${cce++}`,r.classList.add("cdk-overlay-pane"),n.appendChild(r),r}_createHostElement(){let n=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(n),n}_createPortalOutlet(n){return this._appRef||(this._appRef=this._injector.get(us)),new H_(n,this._componentFactoryResolver,this._appRef,this._injector,this._document)}};e.\u0275fac=function(r){return new(r||e)(X(ice),X(tf),X(ds),X(lce),X(rce),X(xt),X(Le),X(Ye),X(li),X(Pa),X(oce),X(Zn,8))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})(),dce=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom"},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],QH=new ge("cdk-connected-overlay-scroll-strategy",{providedIn:"root",factory:()=>{let i=te(Gt);return()=>i.scrollStrategies.reposition()}}),G_=(()=>{let e=class e{constructor(n){this.elementRef=n}};e.\u0275fac=function(r){return new(r||e)(M(Re))},e.\u0275dir=ze({type:e,selectors:[["","cdk-overlay-origin",""],["","overlay-origin",""],["","cdkOverlayOrigin",""]],exportAs:["cdkOverlayOrigin"],standalone:!0});let i=e;return i})(),_O=(()=>{let e=class e{get offsetX(){return this._offsetX}set offsetX(n){this._offsetX=n,this._position&&this._updatePositionStrategy(this._position)}get offsetY(){return this._offsetY}set offsetY(n){this._offsetY=n,this._position&&this._updatePositionStrategy(this._position)}get disposeOnNavigation(){return this._disposeOnNavigation}set disposeOnNavigation(n){this._disposeOnNavigation=n}constructor(n,r,o,s,a){this._overlay=n,this._dir=a,this._backdropSubscription=Ct.EMPTY,this._attachSubscription=Ct.EMPTY,this._detachSubscription=Ct.EMPTY,this._positionSubscription=Ct.EMPTY,this._disposeOnNavigation=!1,this._ngZone=te(Le),this.viewportMargin=0,this.open=!1,this.disableClose=!1,this.hasBackdrop=!1,this.lockPosition=!1,this.flexibleDimensions=!1,this.growAfterOpen=!1,this.push=!1,this.backdropClick=new Ie,this.positionChange=new Ie,this.attach=new Ie,this.detach=new Ie,this.overlayKeydown=new Ie,this.overlayOutsideClick=new Ie,this._templatePortal=new Wr(r,o),this._scrollStrategyFactory=s,this.scrollStrategy=this._scrollStrategyFactory()}get overlayRef(){return this._overlayRef}get dir(){return this._dir?this._dir.value:"ltr"}ngOnDestroy(){this._attachSubscription.unsubscribe(),this._detachSubscription.unsubscribe(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this._overlayRef&&this._overlayRef.dispose()}ngOnChanges(n){this._position&&(this._updatePositionStrategy(this._position),this._overlayRef.updateSize({width:this.width,minWidth:this.minWidth,height:this.height,minHeight:this.minHeight}),n.origin&&this.open&&this._position.apply()),n.open&&(this.open?this._attachOverlay():this._detachOverlay())}_createOverlay(){(!this.positions||!this.positions.length)&&(this.positions=dce);let n=this._overlayRef=this._overlay.create(this._buildConfig());this._attachSubscription=n.attachments().subscribe(()=>this.attach.emit()),this._detachSubscription=n.detachments().subscribe(()=>this.detach.emit()),n.keydownEvents().subscribe(r=>{this.overlayKeydown.next(r),r.keyCode===27&&!this.disableClose&&!gi(r)&&(r.preventDefault(),this._detachOverlay())}),this._overlayRef.outsidePointerEvents().subscribe(r=>{let o=this._getOriginElement(),s=Mi(r);(!o||o!==s&&!o.contains(s))&&this.overlayOutsideClick.next(r)})}_buildConfig(){let n=this._position=this.positionStrategy||this._createPositionStrategy(),r=new hi({direction:this._dir,positionStrategy:n,scrollStrategy:this.scrollStrategy,hasBackdrop:this.hasBackdrop,disposeOnNavigation:this.disposeOnNavigation});return(this.width||this.width===0)&&(r.width=this.width),(this.height||this.height===0)&&(r.height=this.height),(this.minWidth||this.minWidth===0)&&(r.minWidth=this.minWidth),(this.minHeight||this.minHeight===0)&&(r.minHeight=this.minHeight),this.backdropClass&&(r.backdropClass=this.backdropClass),this.panelClass&&(r.panelClass=this.panelClass),r}_updatePositionStrategy(n){let r=this.positions.map(o=>({originX:o.originX,originY:o.originY,overlayX:o.overlayX,overlayY:o.overlayY,offsetX:o.offsetX||this.offsetX,offsetY:o.offsetY||this.offsetY,panelClass:o.panelClass||void 0}));return n.setOrigin(this._getOrigin()).withPositions(r).withFlexibleDimensions(this.flexibleDimensions).withPush(this.push).withGrowAfterOpen(this.growAfterOpen).withViewportMargin(this.viewportMargin).withLockedPosition(this.lockPosition).withTransformOriginOn(this.transformOriginSelector)}_createPositionStrategy(){let n=this._overlay.position().flexibleConnectedTo(this._getOrigin());return this._updatePositionStrategy(n),n}_getOrigin(){return this.origin instanceof G_?this.origin.elementRef:this.origin}_getOriginElement(){return this.origin instanceof G_?this.origin.elementRef.nativeElement:this.origin instanceof Re?this.origin.nativeElement:typeof Element<"u"&&this.origin instanceof Element?this.origin:null}_attachOverlay(){this._overlayRef?this._overlayRef.getConfig().hasBackdrop=this.hasBackdrop:this._createOverlay(),this._overlayRef.hasAttached()||this._overlayRef.attach(this._templatePortal),this.hasBackdrop?this._backdropSubscription=this._overlayRef.backdropClick().subscribe(n=>{this.backdropClick.emit(n)}):this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this.positionChange.observers.length>0&&(this._positionSubscription=this._position.positionChanges.pipe(NS(()=>this.positionChange.observers.length>0)).subscribe(n=>{this._ngZone.run(()=>this.positionChange.emit(n)),this.positionChange.observers.length===0&&this._positionSubscription.unsubscribe()}))}_detachOverlay(){this._overlayRef&&this._overlayRef.detach(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe()}};e.\u0275fac=function(r){return new(r||e)(M(Gt),M(Hn),M(Yt),M(QH),M(li,8))},e.\u0275dir=ze({type:e,selectors:[["","cdk-connected-overlay",""],["","connected-overlay",""],["","cdkConnectedOverlay",""]],inputs:{origin:[0,"cdkConnectedOverlayOrigin","origin"],positions:[0,"cdkConnectedOverlayPositions","positions"],positionStrategy:[0,"cdkConnectedOverlayPositionStrategy","positionStrategy"],offsetX:[0,"cdkConnectedOverlayOffsetX","offsetX"],offsetY:[0,"cdkConnectedOverlayOffsetY","offsetY"],width:[0,"cdkConnectedOverlayWidth","width"],height:[0,"cdkConnectedOverlayHeight","height"],minWidth:[0,"cdkConnectedOverlayMinWidth","minWidth"],minHeight:[0,"cdkConnectedOverlayMinHeight","minHeight"],backdropClass:[0,"cdkConnectedOverlayBackdropClass","backdropClass"],panelClass:[0,"cdkConnectedOverlayPanelClass","panelClass"],viewportMargin:[0,"cdkConnectedOverlayViewportMargin","viewportMargin"],scrollStrategy:[0,"cdkConnectedOverlayScrollStrategy","scrollStrategy"],open:[0,"cdkConnectedOverlayOpen","open"],disableClose:[0,"cdkConnectedOverlayDisableClose","disableClose"],transformOriginSelector:[0,"cdkConnectedOverlayTransformOriginOn","transformOriginSelector"],hasBackdrop:[2,"cdkConnectedOverlayHasBackdrop","hasBackdrop",at],lockPosition:[2,"cdkConnectedOverlayLockPosition","lockPosition",at],flexibleDimensions:[2,"cdkConnectedOverlayFlexibleDimensions","flexibleDimensions",at],growAfterOpen:[2,"cdkConnectedOverlayGrowAfterOpen","growAfterOpen",at],push:[2,"cdkConnectedOverlayPush","push",at],disposeOnNavigation:[2,"cdkConnectedOverlayDisposeOnNavigation","disposeOnNavigation",at]},outputs:{backdropClick:"backdropClick",positionChange:"positionChange",attach:"attach",detach:"detach",overlayKeydown:"overlayKeydown",overlayOutsideClick:"overlayOutsideClick"},exportAs:["cdkConnectedOverlay"],standalone:!0,features:[an,dn]});let i=e;return i})();function uce(i){return()=>i.scrollStrategies.reposition()}var hce={provide:QH,deps:[Gt],useFactory:uce},eo=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=ot({type:e}),e.\u0275inj=rt({providers:[Gt,hce],imports:[$l,Ms,lO,lO]});let i=e;return i})();var pce=["*"],oC;function fce(){if(oC===void 0&&(oC=null,typeof window<"u")){let i=window;i.trustedTypes!==void 0&&(oC=i.trustedTypes.createPolicy("angular#components",{createHTML:e=>e}))}return oC}function j_(i){return fce()?.createHTML(i)||i}function KH(i){return Error(`Unable to find icon with the name "${i}"`)}function mce(){return Error("Could not find HttpClient provider for use with Angular Material icons. Please include the HttpClientModule from @angular/common/http in your app imports.")}function JH(i){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${i}".`)}function eG(i){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${i}".`)}var ll=class{constructor(e,t,n){this.url=e,this.svgText=t,this.options=n}},gce=(()=>{let e=class e{constructor(n,r,o,s){this._httpClient=n,this._sanitizer=r,this._errorHandler=s,this._svgIconConfigs=new Map,this._iconSetConfigs=new Map,this._cachedIconsByUrl=new Map,this._inProgressUrlFetches=new Map,this._fontCssClassesByAlias=new Map,this._resolvers=[],this._defaultFontSetClass=["material-icons","mat-ligature-font"],this._document=o}addSvgIcon(n,r,o){return this.addSvgIconInNamespace("",n,r,o)}addSvgIconLiteral(n,r,o){return this.addSvgIconLiteralInNamespace("",n,r,o)}addSvgIconInNamespace(n,r,o,s){return this._addSvgIconConfig(n,r,new ll(o,null,s))}addSvgIconResolver(n){return this._resolvers.push(n),this}addSvgIconLiteralInNamespace(n,r,o,s){let a=this._sanitizer.sanitize(Ar.HTML,o);if(!a)throw eG(o);let l=j_(a);return this._addSvgIconConfig(n,r,new ll("",l,s))}addSvgIconSet(n,r){return this.addSvgIconSetInNamespace("",n,r)}addSvgIconSetLiteral(n,r){return this.addSvgIconSetLiteralInNamespace("",n,r)}addSvgIconSetInNamespace(n,r,o){return this._addSvgIconSetConfig(n,new ll(r,null,o))}addSvgIconSetLiteralInNamespace(n,r,o){let s=this._sanitizer.sanitize(Ar.HTML,r);if(!s)throw eG(r);let a=j_(s);return this._addSvgIconSetConfig(n,new ll("",a,o))}registerFontClassAlias(n,r=n){return this._fontCssClassesByAlias.set(n,r),this}classNameForFontAlias(n){return this._fontCssClassesByAlias.get(n)||n}setDefaultFontSetClass(...n){return this._defaultFontSetClass=n,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(n){let r=this._sanitizer.sanitize(Ar.RESOURCE_URL,n);if(!r)throw JH(n);let o=this._cachedIconsByUrl.get(r);return o?Ke(sC(o)):this._loadSvgIconFromConfig(new ll(n,null)).pipe(Sn(s=>this._cachedIconsByUrl.set(r,s)),Je(s=>sC(s)))}getNamedSvgIcon(n,r=""){let o=tG(r,n),s=this._svgIconConfigs.get(o);if(s)return this._getSvgFromConfig(s);if(s=this._getIconConfigFromResolvers(r,n),s)return this._svgIconConfigs.set(o,s),this._getSvgFromConfig(s);let a=this._iconSetConfigs.get(r);return a?this._getSvgFromIconSetConfigs(n,a):ml(KH(o))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(n){return n.svgText?Ke(sC(this._svgElementFromConfig(n))):this._loadSvgIconFromConfig(n).pipe(Je(r=>sC(r)))}_getSvgFromIconSetConfigs(n,r){let o=this._extractIconWithNameFromAnySet(n,r);if(o)return Ke(o);let s=r.filter(a=>!a.svgText).map(a=>this._loadSvgIconSetFromConfig(a).pipe(Ds(l=>{let d=`Loading icon set URL: ${this._sanitizer.sanitize(Ar.RESOURCE_URL,a.url)} failed: ${l.message}`;return this._errorHandler.handleError(new Error(d)),Ke(null)})));return Ef(s).pipe(Je(()=>{let a=this._extractIconWithNameFromAnySet(n,r);if(!a)throw KH(n);return a}))}_extractIconWithNameFromAnySet(n,r){for(let o=r.length-1;o>=0;o--){let s=r[o];if(s.svgText&&s.svgText.toString().indexOf(n)>-1){let a=this._svgElementFromConfig(s),l=this._extractSvgIconFromSet(a,n,s.options);if(l)return l}}return null}_loadSvgIconFromConfig(n){return this._fetchIcon(n).pipe(Sn(r=>n.svgText=r),Je(()=>this._svgElementFromConfig(n)))}_loadSvgIconSetFromConfig(n){return n.svgText?Ke(null):this._fetchIcon(n).pipe(Sn(r=>n.svgText=r))}_extractSvgIconFromSet(n,r,o){let s=n.querySelector(`[id="${r}"]`);if(!s)return null;let a=s.cloneNode(!0);if(a.removeAttribute("id"),a.nodeName.toLowerCase()==="svg")return this._setSvgAttributes(a,o);if(a.nodeName.toLowerCase()==="symbol")return this._setSvgAttributes(this._toSvgElement(a),o);let l=this._svgElementFromString(j_(""));return l.appendChild(a),this._setSvgAttributes(l,o)}_svgElementFromString(n){let r=this._document.createElement("DIV");r.innerHTML=n;let o=r.querySelector("svg");if(!o)throw Error(" tag not found");return o}_toSvgElement(n){let r=this._svgElementFromString(j_("")),o=n.attributes;for(let s=0;sj_(d)),bl(()=>this._inProgressUrlFetches.delete(a)),Df());return this._inProgressUrlFetches.set(a,c),c}_addSvgIconConfig(n,r,o){return this._svgIconConfigs.set(tG(n,r),o),this}_addSvgIconSetConfig(n,r){let o=this._iconSetConfigs.get(n);return o?o.push(r):this._iconSetConfigs.set(n,[r]),this}_svgElementFromConfig(n){if(!n.svgElement){let r=this._svgElementFromString(n.svgText);this._setSvgAttributes(r,n.options),n.svgElement=r}return n.svgElement}_getIconConfigFromResolvers(n,r){for(let o=0;oe?e.pathname+e.search:""}}var nG=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],xce=nG.map(i=>`[${i}]`).join(", "),wce=/^url\(['"]?#(.*?)['"]?\)$/,_t=(()=>{let e=class e{get color(){return this._color||this._defaultColor}set color(n){this._color=n}get svgIcon(){return this._svgIcon}set svgIcon(n){n!==this._svgIcon&&(n?this._updateSvgIcon(n):this._svgIcon&&this._clearSvgElement(),this._svgIcon=n)}get fontSet(){return this._fontSet}set fontSet(n){let r=this._cleanupFontValue(n);r!==this._fontSet&&(this._fontSet=r,this._updateFontIconClasses())}get fontIcon(){return this._fontIcon}set fontIcon(n){let r=this._cleanupFontValue(n);r!==this._fontIcon&&(this._fontIcon=r,this._updateFontIconClasses())}constructor(n,r,o,s,a,l){this._elementRef=n,this._iconRegistry=r,this._location=s,this._errorHandler=a,this.inline=!1,this._previousFontSetClass=[],this._currentIconFetch=Ct.EMPTY,l&&(l.color&&(this.color=this._defaultColor=l.color),l.fontSet&&(this.fontSet=l.fontSet)),o||n.nativeElement.setAttribute("aria-hidden","true")}_splitIconName(n){if(!n)return["",""];let r=n.split(":");switch(r.length){case 1:return["",r[0]];case 2:return r;default:throw Error(`Invalid icon name: "${n}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){let n=this._elementsWithExternalReferences;if(n&&n.size){let r=this._location.getPathname();r!==this._previousPath&&(this._previousPath=r,this._prependPathToReferences(r))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(n){this._clearSvgElement();let r=this._location.getPathname();this._previousPath=r,this._cacheChildrenWithExternalReferences(n),this._prependPathToReferences(r),this._elementRef.nativeElement.appendChild(n)}_clearSvgElement(){let n=this._elementRef.nativeElement,r=n.childNodes.length;for(this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear();r--;){let o=n.childNodes[r];(o.nodeType!==1||o.nodeName.toLowerCase()==="svg")&&o.remove()}}_updateFontIconClasses(){if(!this._usingFontIcon())return;let n=this._elementRef.nativeElement,r=(this.fontSet?this._iconRegistry.classNameForFontAlias(this.fontSet).split(/ +/):this._iconRegistry.getDefaultFontSetClass()).filter(o=>o.length>0);this._previousFontSetClass.forEach(o=>n.classList.remove(o)),r.forEach(o=>n.classList.add(o)),this._previousFontSetClass=r,this.fontIcon!==this._previousFontIconClass&&!r.includes("mat-ligature-font")&&(this._previousFontIconClass&&n.classList.remove(this._previousFontIconClass),this.fontIcon&&n.classList.add(this.fontIcon),this._previousFontIconClass=this.fontIcon)}_cleanupFontValue(n){return typeof n=="string"?n.trim().split(" ")[0]:n}_prependPathToReferences(n){let r=this._elementsWithExternalReferences;r&&r.forEach((o,s)=>{o.forEach(a=>{s.setAttribute(a.name,`url('${n}#${a.value}')`)})})}_cacheChildrenWithExternalReferences(n){let r=n.querySelectorAll(xce),o=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let s=0;s{let l=r[s],c=l.getAttribute(a),d=c?c.match(wce):null;if(d){let u=o.get(l);u||(u=[],o.set(l,u)),u.push({name:a,value:d[1]})}})}_updateSvgIcon(n){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),n){let[r,o]=this._splitIconName(n);r&&(this._svgNamespace=r),o&&(this._svgName=o),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(o,r).pipe(_n(1)).subscribe(s=>this._setSvgElement(s),s=>{let a=`Error retrieving icon ${r}:${o}! ${s.message}`;this._errorHandler.handleError(new Error(a))})}}};e.\u0275fac=function(r){return new(r||e)(M(Re),M(gce),oo("aria-hidden"),M(bce),M(Rr),M(vce,8))},e.\u0275cmp=le({type:e,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:10,hostBindings:function(r,o){r&2&&(Ze("data-mat-icon-type",o._usingFontIcon()?"font":"svg")("data-mat-icon-name",o._svgName||o.fontIcon)("data-mat-icon-namespace",o._svgNamespace||o.fontSet)("fontIcon",o._usingFontIcon()?o.fontIcon:null),kr(o.color?"mat-"+o.color:""),se("mat-icon-inline",o.inline)("mat-icon-no-color",o.color!=="primary"&&o.color!=="accent"&&o.color!=="warn"))},inputs:{color:"color",inline:[2,"inline","inline",at],svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],standalone:!0,features:[an,ce],ngContentSelectors:pce,decls:1,vars:0,template:function(r,o){r&1&&(Ln(),$t(0))},styles:["mat-icon,mat-icon.mat-primary,mat-icon.mat-accent,mat-icon.mat-warn{color:var(--mat-icon-color)}.mat-icon{-webkit-user-select:none;user-select:none;background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px;overflow:hidden}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}.mat-icon.mat-ligature-font[fontIcon]::before{content:attr(fontIcon)}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1, 1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto}"],encapsulation:2,changeDetection:0});let i=e;return i})(),it=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=ot({type:e}),e.\u0275inj=rt({imports:[qt,qt]});let i=e;return i})();var Cce=["mat-menu-item",""],Sce=[[["mat-icon"],["","matMenuItemIcon",""]],"*"],Mce=["mat-icon, [matMenuItemIcon]","*"];function Ece(i,e){i&1&&(ro(),v(0,"svg",2),ee(1,"polygon",3),b())}var Ice=["*"];function Tce(i,e){if(i&1){let t=ie();v(0,"div",0),H("keydown",function(r){V(t);let o=I();return z(o._handleKeydown(r))})("click",function(){V(t);let r=I();return z(r.closed.emit("click"))})("@transformMenu.start",function(r){V(t);let o=I();return z(o._onAnimationStart(r))})("@transformMenu.done",function(r){V(t);let o=I();return z(o._onAnimationDone(r))}),v(1,"div",1),$t(2),b()()}if(i&2){let t=I();kr(t._classList),N("id",t.panelId)("@transformMenu",t._panelAnimationState),Ze("aria-label",t.ariaLabel||null)("aria-labelledby",t.ariaLabelledby||null)("aria-describedby",t.ariaDescribedby||null)}}var vO=new ge("MAT_MENU_PANEL"),W_=(()=>{let e=class e{constructor(n,r,o,s,a){this._elementRef=n,this._document=r,this._focusMonitor=o,this._parentMenu=s,this._changeDetectorRef=a,this.role="menuitem",this.disabled=!1,this.disableRipple=!1,this._hovered=new me,this._focused=new me,this._highlighted=!1,this._triggersSubmenu=!1,s?.addItem?.(this)}focus(n,r){this._focusMonitor&&n?this._focusMonitor.focusVia(this._getHostElement(),n,r):this._getHostElement().focus(r),this._focused.next(this)}ngAfterViewInit(){this._focusMonitor&&this._focusMonitor.monitor(this._elementRef,!1)}ngOnDestroy(){this._focusMonitor&&this._focusMonitor.stopMonitoring(this._elementRef),this._parentMenu&&this._parentMenu.removeItem&&this._parentMenu.removeItem(this),this._hovered.complete(),this._focused.complete()}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._elementRef.nativeElement}_checkDisabled(n){this.disabled&&(n.preventDefault(),n.stopPropagation())}_handleMouseEnter(){this._hovered.next(this)}getLabel(){let n=this._elementRef.nativeElement.cloneNode(!0),r=n.querySelectorAll("mat-icon, .material-icons");for(let o=0;o enter",Pn("120ms cubic-bezier(0, 0, 0.2, 1)",Qt({opacity:1,transform:"scale(1)"}))),On("* => void",Pn("100ms 25ms linear",Qt({opacity:0})))]),fadeInItems:ai("fadeInItems",[mi("showing",Qt({opacity:1})),On("void => *",[Qt({opacity:0}),Pn("400ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])},CHe=aC.fadeInItems,SHe=aC.transformMenu,Pce=0,Oce=new ge("mat-menu-default-options",{providedIn:"root",factory:Rce});function Rce(){return{overlapTrigger:!1,xPosition:"after",yPosition:"below",backdropClass:"cdk-overlay-transparent-backdrop"}}var Jo=(()=>{let e=class e{get xPosition(){return this._xPosition}set xPosition(n){this._xPosition=n,this.setPositionClasses()}get yPosition(){return this._yPosition}set yPosition(n){this._yPosition=n,this.setPositionClasses()}set panelClass(n){let r=this._previousPanelClass,o=Z({},this._classList);r&&r.length&&r.split(" ").forEach(s=>{o[s]=!1}),this._previousPanelClass=n,n&&n.length&&(n.split(" ").forEach(s=>{o[s]=!0}),this._elementRef.nativeElement.className=""),this._classList=o}get classList(){return this.panelClass}set classList(n){this.panelClass=n}constructor(n,r,o,s){this._elementRef=n,this._changeDetectorRef=s,this._elevationPrefix="mat-elevation-z",this._baseElevation=null,this._directDescendantItems=new Yi,this._classList={},this._panelAnimationState="void",this._animationDone=new me,this.closed=new Ie,this.close=this.closed,this.panelId=`mat-menu-panel-${Pce++}`,this._injector=te(xt),this.overlayPanelClass=o.overlayPanelClass||"",this._xPosition=o.xPosition,this._yPosition=o.yPosition,this.backdropClass=o.backdropClass,this.overlapTrigger=o.overlapTrigger,this.hasBackdrop=o.hasBackdrop}ngOnInit(){this.setPositionClasses()}ngAfterContentInit(){this._updateDirectDescendants(),this._keyManager=new Cy(this._directDescendantItems).withWrap().withTypeAhead().withHomeAndEnd(),this._keyManager.tabOut.subscribe(()=>this.closed.emit("tab")),this._directDescendantItems.changes.pipe(fi(this._directDescendantItems),Xn(n=>Yn(...n.map(r=>r._focused)))).subscribe(n=>this._keyManager.updateActiveItem(n)),this._directDescendantItems.changes.subscribe(n=>{let r=this._keyManager;if(this._panelAnimationState==="enter"&&r.activeItem?._hasFocus()){let o=n.toArray(),s=Math.max(0,Math.min(o.length-1,r.activeItemIndex||0));o[s]&&!o[s].disabled?r.setActiveItem(s):r.setNextItemActive()}})}ngOnDestroy(){this._keyManager?.destroy(),this._directDescendantItems.destroy(),this.closed.complete(),this._firstItemFocusRef?.destroy()}_hovered(){return this._directDescendantItems.changes.pipe(fi(this._directDescendantItems),Xn(r=>Yn(...r.map(o=>o._hovered))))}addItem(n){}removeItem(n){}_handleKeydown(n){let r=n.keyCode,o=this._keyManager;switch(r){case 27:gi(n)||(n.preventDefault(),this.closed.emit("keydown"));break;case 37:this.parentMenu&&this.direction==="ltr"&&this.closed.emit("keydown");break;case 39:this.parentMenu&&this.direction==="rtl"&&this.closed.emit("keydown");break;default:(r===38||r===40)&&o.setFocusOrigin("keyboard"),o.onKeydown(n);return}n.stopPropagation()}focusFirstItem(n="program"){this._firstItemFocusRef?.destroy(),this._firstItemFocusRef=fr(()=>{let r=null;if(this._directDescendantItems.length&&(r=this._directDescendantItems.first._getHostElement().closest('[role="menu"]')),!r||!r.contains(document.activeElement)){let o=this._keyManager;o.setFocusOrigin(n).setFirstItemActive(),!o.activeItem&&r&&r.focus()}},{injector:this._injector})}resetActiveItem(){this._keyManager.setActiveItem(-1)}setElevation(n){if(this._baseElevation===null){let l=(typeof getComputedStyle=="function"?getComputedStyle(this._elementRef.nativeElement):null)?.getPropertyValue("--mat-menu-base-elevation-level")||"8";this._baseElevation=parseInt(l)}let r=Math.min(this._baseElevation+n,24),o=`${this._elevationPrefix}${r}`,s=Object.keys(this._classList).find(a=>a.startsWith(this._elevationPrefix));if(!s||s===this._previousElevation){let a=Z({},this._classList);this._previousElevation&&(a[this._previousElevation]=!1),a[o]=!0,this._previousElevation=o,this._classList=a}}setPositionClasses(n=this.xPosition,r=this.yPosition){this._classList=wt(Z({},this._classList),{"mat-menu-before":n==="before","mat-menu-after":n==="after","mat-menu-above":r==="above","mat-menu-below":r==="below"}),this._changeDetectorRef?.markForCheck()}_startAnimation(){this._panelAnimationState="enter"}_resetAnimation(){this._panelAnimationState="void"}_onAnimationDone(n){this._animationDone.next(n),this._isAnimating=!1}_onAnimationStart(n){this._isAnimating=!0,n.toState==="enter"&&this._keyManager.activeItemIndex===0&&(n.element.scrollTop=0)}_updateDirectDescendants(){this._allItems.changes.pipe(fi(this._allItems)).subscribe(n=>{this._directDescendantItems.reset(n.filter(r=>r._parentMenu===this)),this._directDescendantItems.notifyOnChanges()})}};e.\u0275fac=function(r){return new(r||e)(M(Re),M(Le),M(Oce),M(Fe))},e.\u0275cmp=le({type:e,selectors:[["mat-menu"]],contentQueries:function(r,o,s){if(r&1&&(wi(s,Dce,5),wi(s,W_,5),wi(s,W_,4)),r&2){let a;be(a=ye())&&(o.lazyContent=a.first),be(a=ye())&&(o._allItems=a),be(a=ye())&&(o.items=a)}},viewQuery:function(r,o){if(r&1&&Te(Hn,5),r&2){let s;be(s=ye())&&(o.templateRef=s.first)}},hostVars:3,hostBindings:function(r,o){r&2&&Ze("aria-label",null)("aria-labelledby",null)("aria-describedby",null)},inputs:{backdropClass:"backdropClass",ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],ariaDescribedby:[0,"aria-describedby","ariaDescribedby"],xPosition:"xPosition",yPosition:"yPosition",overlapTrigger:[2,"overlapTrigger","overlapTrigger",at],hasBackdrop:[2,"hasBackdrop","hasBackdrop",n=>n==null?null:at(n)],panelClass:[0,"class","panelClass"],classList:"classList"},outputs:{closed:"closed",close:"close"},exportAs:["matMenu"],standalone:!0,features:[Bt([{provide:vO,useExisting:e}]),an,ce],ngContentSelectors:Ice,decls:1,vars:0,consts:[["tabindex","-1","role","menu",1,"mat-mdc-menu-panel","mat-mdc-elevation-specific",3,"keydown","click","id"],[1,"mat-mdc-menu-content"]],template:function(r,o){r&1&&(Ln(),W(0,Tce,3,7,"ng-template"))},styles:['mat-menu{display:none}.mat-mdc-menu-content{margin:0;padding:8px 0;outline:0}.mat-mdc-menu-content,.mat-mdc-menu-content .mat-mdc-menu-item .mat-mdc-menu-item-text{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;flex:1;white-space:normal;font-family:var(--mat-menu-item-label-text-font);line-height:var(--mat-menu-item-label-text-line-height);font-size:var(--mat-menu-item-label-text-size);letter-spacing:var(--mat-menu-item-label-text-tracking);font-weight:var(--mat-menu-item-label-text-weight)}.mat-mdc-menu-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;box-sizing:border-box;outline:0;border-radius:var(--mat-menu-container-shape);background-color:var(--mat-menu-container-color);will-change:transform,opacity}.mat-mdc-menu-panel.ng-animating{pointer-events:none}.mat-mdc-menu-panel.ng-animating:has(.mat-mdc-menu-content:empty){display:none}.cdk-high-contrast-active .mat-mdc-menu-panel{outline:solid 1px}.mat-mdc-menu-panel .mat-divider{color:var(--mat-menu-divider-color);margin-bottom:var(--mat-menu-divider-bottom-spacing);margin-top:var(--mat-menu-divider-top-spacing)}.mat-mdc-menu-item{display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;padding:0;padding-left:var(--mat-menu-item-leading-spacing);padding-right:var(--mat-menu-item-trailing-spacing);-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:rgba(0,0,0,0);cursor:pointer;width:100%;text-align:left;box-sizing:border-box;color:inherit;font-size:inherit;background:none;text-decoration:none;margin:0;min-height:48px}[dir=rtl] .mat-mdc-menu-item{padding-right:var(--mat-menu-item-leading-spacing);padding-left:var(--mat-menu-item-trailing-spacing)}.mat-mdc-menu-item:has(.material-icons,mat-icon,[matButtonIcon]){padding-left:var(--mat-menu-item-with-icon-leading-spacing);padding-right:var(--mat-menu-item-with-icon-trailing-spacing)}[dir=rtl] .mat-mdc-menu-item:has(.material-icons,mat-icon,[matButtonIcon]){padding-right:var(--mat-menu-item-with-icon-leading-spacing);padding-left:var(--mat-menu-item-with-icon-trailing-spacing)}.mat-mdc-menu-item::-moz-focus-inner{border:0}.mat-mdc-menu-item,.mat-mdc-menu-item:visited,.mat-mdc-menu-item:link{color:var(--mat-menu-item-label-text-color)}.mat-mdc-menu-item .mat-icon-no-color,.mat-mdc-menu-item .mat-mdc-menu-submenu-icon{color:var(--mat-menu-item-icon-color)}.mat-mdc-menu-item[disabled]{cursor:default;opacity:.38}.mat-mdc-menu-item[disabled]::after{display:block;position:absolute;content:"";top:0;left:0;bottom:0;right:0}.mat-mdc-menu-item:focus{outline:0}.mat-mdc-menu-item .mat-icon{flex-shrink:0;margin-right:var(--mat-menu-item-spacing);height:var(--mat-menu-item-icon-size);width:var(--mat-menu-item-icon-size)}[dir=rtl] .mat-mdc-menu-item{text-align:right}[dir=rtl] .mat-mdc-menu-item .mat-icon{margin-right:0;margin-left:var(--mat-menu-item-spacing)}.mat-mdc-menu-item:not([disabled]):hover{background-color:var(--mat-menu-item-hover-state-layer-color)}.mat-mdc-menu-item:not([disabled]).cdk-program-focused,.mat-mdc-menu-item:not([disabled]).cdk-keyboard-focused,.mat-mdc-menu-item:not([disabled]).mat-mdc-menu-item-highlighted{background-color:var(--mat-menu-item-focus-state-layer-color)}.cdk-high-contrast-active .mat-mdc-menu-item{margin-top:1px}.mat-mdc-menu-submenu-icon{width:var(--mat-menu-item-icon-size);height:10px;fill:currentColor;padding-left:var(--mat-menu-item-spacing)}[dir=rtl] .mat-mdc-menu-submenu-icon{padding-right:var(--mat-menu-item-spacing);padding-left:0}[dir=rtl] .mat-mdc-menu-submenu-icon polygon{transform:scaleX(-1)}.cdk-high-contrast-active .mat-mdc-menu-submenu-icon{fill:CanvasText}.mat-mdc-menu-item .mat-mdc-menu-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}'],encapsulation:2,data:{animation:[aC.transformMenu,aC.fadeInItems]},changeDetection:0});let i=e;return i})(),rG=new ge("mat-menu-scroll-strategy",{providedIn:"root",factory:()=>{let i=te(Gt);return()=>i.scrollStrategies.reposition()}});function Ace(i){return()=>i.scrollStrategies.reposition()}var Nce={provide:rG,deps:[Gt],useFactory:Ace},iG=Br({passive:!0});var vc=(()=>{let e=class e{get _deprecatedMatMenuTriggerFor(){return this.menu}set _deprecatedMatMenuTriggerFor(n){this.menu=n}get menu(){return this._menu}set menu(n){n!==this._menu&&(this._menu=n,this._menuCloseSubscription.unsubscribe(),n&&(this._parentMaterialMenu,this._menuCloseSubscription=n.close.subscribe(r=>{this._destroyMenu(r),(r==="click"||r==="tab")&&this._parentMaterialMenu&&this._parentMaterialMenu.closed.emit(r)})),this._menuItemInstance?._setTriggersSubmenu(this.triggersSubmenu()))}constructor(n,r,o,s,a,l,c,d,u){this._overlay=n,this._element=r,this._viewContainerRef=o,this._menuItemInstance=l,this._dir=c,this._focusMonitor=d,this._ngZone=u,this._overlayRef=null,this._menuOpen=!1,this._closingActionsSubscription=Ct.EMPTY,this._hoverSubscription=Ct.EMPTY,this._menuCloseSubscription=Ct.EMPTY,this._changeDetectorRef=te(Fe),this._handleTouchStart=h=>{wd(h)||(this._openedBy="touch")},this._openedBy=void 0,this.restoreFocus=!0,this.menuOpened=new Ie,this.onMenuOpen=this.menuOpened,this.menuClosed=new Ie,this.onMenuClose=this.menuClosed,this._scrollStrategy=s,this._parentMaterialMenu=a instanceof Jo?a:void 0,r.nativeElement.addEventListener("touchstart",this._handleTouchStart,iG)}ngAfterContentInit(){this._handleHover()}ngOnDestroy(){this._overlayRef&&(this._overlayRef.dispose(),this._overlayRef=null),this._element.nativeElement.removeEventListener("touchstart",this._handleTouchStart,iG),this._menuCloseSubscription.unsubscribe(),this._closingActionsSubscription.unsubscribe(),this._hoverSubscription.unsubscribe()}get menuOpen(){return this._menuOpen}get dir(){return this._dir&&this._dir.value==="rtl"?"rtl":"ltr"}triggersSubmenu(){return!!(this._menuItemInstance&&this._parentMaterialMenu&&this.menu)}toggleMenu(){return this._menuOpen?this.closeMenu():this.openMenu()}openMenu(){let n=this.menu;if(this._menuOpen||!n)return;let r=this._createOverlay(n),o=r.getConfig(),s=o.positionStrategy;this._setPosition(n,s),o.hasBackdrop=n.hasBackdrop==null?!this.triggersSubmenu():n.hasBackdrop,r.attach(this._getPortal(n)),n.lazyContent&&n.lazyContent.attach(this.menuData),this._closingActionsSubscription=this._menuClosingActions().subscribe(()=>this.closeMenu()),this._initMenu(n),n instanceof Jo&&(n._startAnimation(),n._directDescendantItems.changes.pipe(Xe(n.close)).subscribe(()=>{s.withLockedPosition(!1).reapplyLastPosition(),s.withLockedPosition(!0)}))}closeMenu(){this.menu?.close.emit()}focus(n,r){this._focusMonitor&&n?this._focusMonitor.focusVia(this._element,n,r):this._element.nativeElement.focus(r)}updatePosition(){this._overlayRef?.updatePosition()}_destroyMenu(n){if(!this._overlayRef||!this.menuOpen)return;let r=this.menu;this._closingActionsSubscription.unsubscribe(),this._overlayRef.detach(),this.restoreFocus&&(n==="keydown"||!this._openedBy||!this.triggersSubmenu())&&this.focus(this._openedBy),this._openedBy=void 0,r instanceof Jo?(r._resetAnimation(),r.lazyContent?r._animationDone.pipe(jt(o=>o.toState==="void"),_n(1),Xe(r.lazyContent._attached)).subscribe({next:()=>r.lazyContent.detach(),complete:()=>this._setIsMenuOpen(!1)}):this._setIsMenuOpen(!1)):(this._setIsMenuOpen(!1),r?.lazyContent?.detach())}_initMenu(n){n.parentMenu=this.triggersSubmenu()?this._parentMaterialMenu:void 0,n.direction=this.dir,this._setMenuElevation(n),n.focusFirstItem(this._openedBy||"program"),this._setIsMenuOpen(!0)}_setMenuElevation(n){if(n.setElevation){let r=0,o=n.parentMenu;for(;o;)r++,o=o.parentMenu;n.setElevation(r)}}_setIsMenuOpen(n){n!==this._menuOpen&&(this._menuOpen=n,this._menuOpen?this.menuOpened.emit():this.menuClosed.emit(),this.triggersSubmenu()&&this._menuItemInstance._setHighlighted(n),this._changeDetectorRef.markForCheck())}_createOverlay(n){if(!this._overlayRef){let r=this._getOverlayConfig(n);this._subscribeToPositions(n,r.positionStrategy),this._overlayRef=this._overlay.create(r),this._overlayRef.keydownEvents().subscribe()}return this._overlayRef}_getOverlayConfig(n){return new hi({positionStrategy:this._overlay.position().flexibleConnectedTo(this._element).withLockedPosition().withGrowAfterOpen().withTransformOriginOn(".mat-menu-panel, .mat-mdc-menu-panel"),backdropClass:n.backdropClass||"cdk-overlay-transparent-backdrop",panelClass:n.overlayPanelClass,scrollStrategy:this._scrollStrategy(),direction:this._dir})}_subscribeToPositions(n,r){n.setPositionClasses&&r.positionChanges.subscribe(o=>{let s=o.connectionPair.overlayX==="start"?"after":"before",a=o.connectionPair.overlayY==="top"?"below":"above";this._ngZone?this._ngZone.run(()=>n.setPositionClasses(s,a)):n.setPositionClasses(s,a)})}_setPosition(n,r){let[o,s]=n.xPosition==="before"?["end","start"]:["start","end"],[a,l]=n.yPosition==="above"?["bottom","top"]:["top","bottom"],[c,d]=[a,l],[u,h]=[o,s],p=0;if(this.triggersSubmenu()){if(h=o=n.xPosition==="before"?"start":"end",s=u=o==="end"?"start":"end",this._parentMaterialMenu){if(this._parentInnerPadding==null){let f=this._parentMaterialMenu.items.first;this._parentInnerPadding=f?f._getHostElement().offsetTop:0}p=a==="bottom"?this._parentInnerPadding:-this._parentInnerPadding}}else n.overlapTrigger||(c=a==="top"?"bottom":"top",d=l==="top"?"bottom":"top");r.withPositions([{originX:o,originY:c,overlayX:u,overlayY:a,offsetY:p},{originX:s,originY:c,overlayX:h,overlayY:a,offsetY:p},{originX:o,originY:d,overlayX:u,overlayY:l,offsetY:-p},{originX:s,originY:d,overlayX:h,overlayY:l,offsetY:-p}])}_menuClosingActions(){let n=this._overlayRef.backdropClick(),r=this._overlayRef.detachments(),o=this._parentMaterialMenu?this._parentMaterialMenu.closed:Ke(),s=this._parentMaterialMenu?this._parentMaterialMenu._hovered().pipe(jt(a=>a!==this._menuItemInstance),jt(()=>this._menuOpen)):Ke();return Yn(n,o,s,r)}_handleMousedown(n){xd(n)||(this._openedBy=n.button===0?"mouse":void 0,this.triggersSubmenu()&&n.preventDefault())}_handleKeydown(n){let r=n.keyCode;(r===13||r===32)&&(this._openedBy="keyboard"),this.triggersSubmenu()&&(r===39&&this.dir==="ltr"||r===37&&this.dir==="rtl")&&(this._openedBy="keyboard",this.openMenu())}_handleClick(n){this.triggersSubmenu()?(n.stopPropagation(),this.openMenu()):this.toggleMenu()}_handleHover(){!this.triggersSubmenu()||!this._parentMaterialMenu||(this._hoverSubscription=this._parentMaterialMenu._hovered().pipe(jt(n=>n===this._menuItemInstance&&!n.disabled),Lu(0,Sf)).subscribe(()=>{this._openedBy="mouse",this.menu instanceof Jo&&this.menu._isAnimating?this.menu._animationDone.pipe(_n(1),Lu(0,Sf),Xe(this._parentMaterialMenu._hovered())).subscribe(()=>this.openMenu()):this.openMenu()}))}_getPortal(n){return(!this._portal||this._portal.templateRef!==n.templateRef)&&(this._portal=new Wr(n.templateRef,this._viewContainerRef)),this._portal}};e.\u0275fac=function(r){return new(r||e)(M(Gt),M(Re),M(Yt),M(rG),M(vO,8),M(W_,10),M(li,8),M(fo),M(Le))},e.\u0275dir=ze({type:e,selectors:[["","mat-menu-trigger-for",""],["","matMenuTriggerFor",""]],hostAttrs:[1,"mat-mdc-menu-trigger"],hostVars:3,hostBindings:function(r,o){r&1&&H("click",function(a){return o._handleClick(a)})("mousedown",function(a){return o._handleMousedown(a)})("keydown",function(a){return o._handleKeydown(a)}),r&2&&Ze("aria-haspopup",o.menu?"menu":null)("aria-expanded",o.menuOpen)("aria-controls",o.menuOpen?o.menu.panelId:null)},inputs:{_deprecatedMatMenuTriggerFor:[0,"mat-menu-trigger-for","_deprecatedMatMenuTriggerFor"],menu:[0,"matMenuTriggerFor","menu"],menuData:[0,"matMenuTriggerData","menuData"],restoreFocus:[0,"matMenuTriggerRestoreFocus","restoreFocus"]},outputs:{menuOpened:"menuOpened",onMenuOpen:"onMenuOpen",menuClosed:"menuClosed",onMenuClose:"onMenuClose"},exportAs:["matMenuTrigger"],standalone:!0});let i=e;return i})(),ca=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=ot({type:e}),e.\u0275inj=rt({providers:[Nce],imports:[Ae,Gm,qt,eo,Zo,qt]});let i=e;return i})();var kce=["tooltip"],aG=20;var lG=new ge("mat-tooltip-scroll-strategy",{providedIn:"root",factory:()=>{let i=te(Gt);return()=>i.scrollStrategies.reposition({scrollThrottle:aG})}});function Lce(i){return()=>i.scrollStrategies.reposition({scrollThrottle:aG})}var Fce={provide:lG,deps:[Gt],useFactory:Lce};function Bce(){return{showDelay:0,hideDelay:0,touchendHideDelay:1500}}var Vce=new ge("mat-tooltip-default-options",{providedIn:"root",factory:Bce});var oG="tooltip-panel",sG=Br({passive:!0}),zce=8,Uce=8,Hce=24,Gce=200,Wn=(()=>{let e=class e{get position(){return this._position}set position(n){n!==this._position&&(this._position=n,this._overlayRef&&(this._updatePosition(this._overlayRef),this._tooltipInstance?.show(0),this._overlayRef.updatePosition()))}get positionAtOrigin(){return this._positionAtOrigin}set positionAtOrigin(n){this._positionAtOrigin=Ih(n),this._detach(),this._overlayRef=null}get disabled(){return this._disabled}set disabled(n){this._disabled=Ih(n),this._disabled?this.hide(0):this._setupPointerEnterEventsIfNeeded()}get showDelay(){return this._showDelay}set showDelay(n){this._showDelay=Xs(n)}get hideDelay(){return this._hideDelay}set hideDelay(n){this._hideDelay=Xs(n),this._tooltipInstance&&(this._tooltipInstance._mouseLeaveHideDelay=this._hideDelay)}get message(){return this._message}set message(n){this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this._message,"tooltip"),this._message=n!=null?String(n).trim():"",!this._message&&this._isTooltipVisible()?this.hide(0):(this._setupPointerEnterEventsIfNeeded(),this._updateTooltipMessage(),this._ngZone.runOutsideAngular(()=>{Promise.resolve().then(()=>{this._ariaDescriber.describe(this._elementRef.nativeElement,this.message,"tooltip")})}))}get tooltipClass(){return this._tooltipClass}set tooltipClass(n){this._tooltipClass=n,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass)}constructor(n,r,o,s,a,l,c,d,u,h,p,f){this._overlay=n,this._elementRef=r,this._scrollDispatcher=o,this._viewContainerRef=s,this._ngZone=a,this._platform=l,this._ariaDescriber=c,this._focusMonitor=d,this._dir=h,this._defaultOptions=p,this._position="below",this._positionAtOrigin=!1,this._disabled=!1,this._viewInitialized=!1,this._pointerExitEventsInitialized=!1,this._tooltipComponent=jce,this._viewportMargin=8,this._cssClassPrefix="mat-mdc",this.touchGestures="auto",this._message="",this._passiveListeners=[],this._destroyed=new me,this._injector=te(xt),this._scrollStrategy=u,this._document=f,p&&(this._showDelay=p.showDelay,this._hideDelay=p.hideDelay,p.position&&(this.position=p.position),p.positionAtOrigin&&(this.positionAtOrigin=p.positionAtOrigin),p.touchGestures&&(this.touchGestures=p.touchGestures)),h.change.pipe(Xe(this._destroyed)).subscribe(()=>{this._overlayRef&&this._updatePosition(this._overlayRef)}),this._viewportMargin=zce}ngAfterViewInit(){this._viewInitialized=!0,this._setupPointerEnterEventsIfNeeded(),this._focusMonitor.monitor(this._elementRef).pipe(Xe(this._destroyed)).subscribe(n=>{n?n==="keyboard"&&this._ngZone.run(()=>this.show()):this._ngZone.run(()=>this.hide(0))})}ngOnDestroy(){let n=this._elementRef.nativeElement;clearTimeout(this._touchstartTimeout),this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),this._passiveListeners.forEach(([r,o])=>{n.removeEventListener(r,o,sG)}),this._passiveListeners.length=0,this._destroyed.next(),this._destroyed.complete(),this._ariaDescriber.removeDescription(n,this.message,"tooltip"),this._focusMonitor.stopMonitoring(n)}show(n=this.showDelay,r){if(this.disabled||!this.message||this._isTooltipVisible()){this._tooltipInstance?._cancelPendingAnimations();return}let o=this._createOverlay(r);this._detach(),this._portal=this._portal||new Pi(this._tooltipComponent,this._viewContainerRef);let s=this._tooltipInstance=o.attach(this._portal).instance;s._triggerElement=this._elementRef.nativeElement,s._mouseLeaveHideDelay=this._hideDelay,s.afterHidden().pipe(Xe(this._destroyed)).subscribe(()=>this._detach()),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),s.show(n)}hide(n=this.hideDelay){let r=this._tooltipInstance;r&&(r.isVisible()?r.hide(n):(r._cancelPendingAnimations(),this._detach()))}toggle(n){this._isTooltipVisible()?this.hide():this.show(void 0,n)}_isTooltipVisible(){return!!this._tooltipInstance&&this._tooltipInstance.isVisible()}_createOverlay(n){if(this._overlayRef){let s=this._overlayRef.getConfig().positionStrategy;if((!this.positionAtOrigin||!n)&&s._origin instanceof Re)return this._overlayRef;this._detach()}let r=this._scrollDispatcher.getAncestorScrollContainers(this._elementRef),o=this._overlay.position().flexibleConnectedTo(this.positionAtOrigin?n||this._elementRef:this._elementRef).withTransformOriginOn(`.${this._cssClassPrefix}-tooltip`).withFlexibleDimensions(!1).withViewportMargin(this._viewportMargin).withScrollableContainers(r);return o.positionChanges.pipe(Xe(this._destroyed)).subscribe(s=>{this._updateCurrentPositionClass(s.connectionPair),this._tooltipInstance&&s.scrollableViewProperties.isOverlayClipped&&this._tooltipInstance.isVisible()&&this._ngZone.run(()=>this.hide(0))}),this._overlayRef=this._overlay.create({direction:this._dir,positionStrategy:o,panelClass:`${this._cssClassPrefix}-${oG}`,scrollStrategy:this._scrollStrategy()}),this._updatePosition(this._overlayRef),this._overlayRef.detachments().pipe(Xe(this._destroyed)).subscribe(()=>this._detach()),this._overlayRef.outsidePointerEvents().pipe(Xe(this._destroyed)).subscribe(()=>this._tooltipInstance?._handleBodyInteraction()),this._overlayRef.keydownEvents().pipe(Xe(this._destroyed)).subscribe(s=>{this._isTooltipVisible()&&s.keyCode===27&&!gi(s)&&(s.preventDefault(),s.stopPropagation(),this._ngZone.run(()=>this.hide(0)))}),this._defaultOptions?.disableTooltipInteractivity&&this._overlayRef.addPanelClass(`${this._cssClassPrefix}-tooltip-panel-non-interactive`),this._overlayRef}_detach(){this._overlayRef&&this._overlayRef.hasAttached()&&this._overlayRef.detach(),this._tooltipInstance=null}_updatePosition(n){let r=n.getConfig().positionStrategy,o=this._getOrigin(),s=this._getOverlayPosition();r.withPositions([this._addOffset(Z(Z({},o.main),s.main)),this._addOffset(Z(Z({},o.fallback),s.fallback))])}_addOffset(n){let r=Uce,o=!this._dir||this._dir.value=="ltr";return n.originY==="top"?n.offsetY=-r:n.originY==="bottom"?n.offsetY=r:n.originX==="start"?n.offsetX=o?-r:r:n.originX==="end"&&(n.offsetX=o?r:-r),n}_getOrigin(){let n=!this._dir||this._dir.value=="ltr",r=this.position,o;r=="above"||r=="below"?o={originX:"center",originY:r=="above"?"top":"bottom"}:r=="before"||r=="left"&&n||r=="right"&&!n?o={originX:"start",originY:"center"}:(r=="after"||r=="right"&&n||r=="left"&&!n)&&(o={originX:"end",originY:"center"});let{x:s,y:a}=this._invertPosition(o.originX,o.originY);return{main:o,fallback:{originX:s,originY:a}}}_getOverlayPosition(){let n=!this._dir||this._dir.value=="ltr",r=this.position,o;r=="above"?o={overlayX:"center",overlayY:"bottom"}:r=="below"?o={overlayX:"center",overlayY:"top"}:r=="before"||r=="left"&&n||r=="right"&&!n?o={overlayX:"end",overlayY:"center"}:(r=="after"||r=="right"&&n||r=="left"&&!n)&&(o={overlayX:"start",overlayY:"center"});let{x:s,y:a}=this._invertPosition(o.overlayX,o.overlayY);return{main:o,fallback:{overlayX:s,overlayY:a}}}_updateTooltipMessage(){this._tooltipInstance&&(this._tooltipInstance.message=this.message,this._tooltipInstance._markForCheck(),fr(()=>{this._tooltipInstance&&this._overlayRef.updatePosition()},{injector:this._injector}))}_setTooltipClass(n){this._tooltipInstance&&(this._tooltipInstance.tooltipClass=n,this._tooltipInstance._markForCheck())}_invertPosition(n,r){return this.position==="above"||this.position==="below"?r==="top"?r="bottom":r==="bottom"&&(r="top"):n==="end"?n="start":n==="start"&&(n="end"),{x:n,y:r}}_updateCurrentPositionClass(n){let{overlayY:r,originX:o,originY:s}=n,a;if(r==="center"?this._dir&&this._dir.value==="rtl"?a=o==="end"?"left":"right":a=o==="start"?"left":"right":a=r==="bottom"&&s==="top"?"above":"below",a!==this._currentPosition){let l=this._overlayRef;if(l){let c=`${this._cssClassPrefix}-${oG}-`;l.removePanelClass(c+this._currentPosition),l.addPanelClass(c+a)}this._currentPosition=a}}_setupPointerEnterEventsIfNeeded(){this._disabled||!this.message||!this._viewInitialized||this._passiveListeners.length||(this._platformSupportsMouseEvents()?this._passiveListeners.push(["mouseenter",n=>{this._setupPointerExitEventsIfNeeded();let r;n.x!==void 0&&n.y!==void 0&&(r=n),this.show(void 0,r)}]):this.touchGestures!=="off"&&(this._disableNativeGesturesIfNecessary(),this._passiveListeners.push(["touchstart",n=>{let r=n.targetTouches?.[0],o=r?{x:r.clientX,y:r.clientY}:void 0;this._setupPointerExitEventsIfNeeded(),clearTimeout(this._touchstartTimeout);let s=500;this._touchstartTimeout=setTimeout(()=>this.show(void 0,o),this._defaultOptions.touchLongPressShowDelay??s)}])),this._addListeners(this._passiveListeners))}_setupPointerExitEventsIfNeeded(){if(this._pointerExitEventsInitialized)return;this._pointerExitEventsInitialized=!0;let n=[];if(this._platformSupportsMouseEvents())n.push(["mouseleave",r=>{let o=r.relatedTarget;(!o||!this._overlayRef?.overlayElement.contains(o))&&this.hide()}],["wheel",r=>this._wheelListener(r)]);else if(this.touchGestures!=="off"){this._disableNativeGesturesIfNecessary();let r=()=>{clearTimeout(this._touchstartTimeout),this.hide(this._defaultOptions.touchendHideDelay)};n.push(["touchend",r],["touchcancel",r])}this._addListeners(n),this._passiveListeners.push(...n)}_addListeners(n){n.forEach(([r,o])=>{this._elementRef.nativeElement.addEventListener(r,o,sG)})}_platformSupportsMouseEvents(){return!this._platform.IOS&&!this._platform.ANDROID}_wheelListener(n){if(this._isTooltipVisible()){let r=this._document.elementFromPoint(n.clientX,n.clientY),o=this._elementRef.nativeElement;r!==o&&!o.contains(r)&&this.hide()}}_disableNativeGesturesIfNecessary(){let n=this.touchGestures;if(n!=="off"){let r=this._elementRef.nativeElement,o=r.style;(n==="on"||r.nodeName!=="INPUT"&&r.nodeName!=="TEXTAREA")&&(o.userSelect=o.msUserSelect=o.webkitUserSelect=o.MozUserSelect="none"),(n==="on"||!r.draggable)&&(o.webkitUserDrag="none"),o.touchAction="none",o.webkitTapHighlightColor="transparent"}}};e.\u0275fac=function(r){return new(r||e)(M(Gt),M(Re),M(_u),M(Yt),M(Le),M(gn),M(P3),M(fo),M(lG),M(li),M(Vce,8),M(Ye))},e.\u0275dir=ze({type:e,selectors:[["","matTooltip",""]],hostAttrs:[1,"mat-mdc-tooltip-trigger"],hostVars:2,hostBindings:function(r,o){r&2&&se("mat-mdc-tooltip-disabled",o.disabled)},inputs:{position:[0,"matTooltipPosition","position"],positionAtOrigin:[0,"matTooltipPositionAtOrigin","positionAtOrigin"],disabled:[0,"matTooltipDisabled","disabled"],showDelay:[0,"matTooltipShowDelay","showDelay"],hideDelay:[0,"matTooltipHideDelay","hideDelay"],touchGestures:[0,"matTooltipTouchGestures","touchGestures"],message:[0,"matTooltip","message"],tooltipClass:[0,"matTooltipClass","tooltipClass"]},exportAs:["matTooltip"],standalone:!0});let i=e;return i})(),jce=(()=>{let e=class e{constructor(n,r,o){this._changeDetectorRef=n,this._elementRef=r,this._isMultiline=!1,this._closeOnInteraction=!1,this._isVisible=!1,this._onHide=new me,this._showAnimation="mat-mdc-tooltip-show",this._hideAnimation="mat-mdc-tooltip-hide",this._animationsDisabled=o==="NoopAnimations"}show(n){this._hideTimeoutId!=null&&clearTimeout(this._hideTimeoutId),this._showTimeoutId=setTimeout(()=>{this._toggleVisibility(!0),this._showTimeoutId=void 0},n)}hide(n){this._showTimeoutId!=null&&clearTimeout(this._showTimeoutId),this._hideTimeoutId=setTimeout(()=>{this._toggleVisibility(!1),this._hideTimeoutId=void 0},n)}afterHidden(){return this._onHide}isVisible(){return this._isVisible}ngOnDestroy(){this._cancelPendingAnimations(),this._onHide.complete(),this._triggerElement=null}_handleBodyInteraction(){this._closeOnInteraction&&this.hide(0)}_markForCheck(){this._changeDetectorRef.markForCheck()}_handleMouseLeave({relatedTarget:n}){(!n||!this._triggerElement.contains(n))&&(this.isVisible()?this.hide(this._mouseLeaveHideDelay):this._finalizeAnimation(!1))}_onShow(){this._isMultiline=this._isTooltipMultiline(),this._markForCheck()}_isTooltipMultiline(){let n=this._elementRef.nativeElement.getBoundingClientRect();return n.height>Hce&&n.width>=Gce}_handleAnimationEnd({animationName:n}){(n===this._showAnimation||n===this._hideAnimation)&&this._finalizeAnimation(n===this._showAnimation)}_cancelPendingAnimations(){this._showTimeoutId!=null&&clearTimeout(this._showTimeoutId),this._hideTimeoutId!=null&&clearTimeout(this._hideTimeoutId),this._showTimeoutId=this._hideTimeoutId=void 0}_finalizeAnimation(n){n?this._closeOnInteraction=!0:this.isVisible()||this._onHide.next()}_toggleVisibility(n){let r=this._tooltip.nativeElement,o=this._showAnimation,s=this._hideAnimation;if(r.classList.remove(n?s:o),r.classList.add(n?o:s),this._isVisible!==n&&(this._isVisible=n,this._changeDetectorRef.markForCheck()),n&&!this._animationsDisabled&&typeof getComputedStyle=="function"){let a=getComputedStyle(r);(a.getPropertyValue("animation-duration")==="0s"||a.getPropertyValue("animation-name")==="none")&&(this._animationsDisabled=!0)}n&&this._onShow(),this._animationsDisabled&&(r.classList.add("_mat-animation-noopable"),this._finalizeAnimation(n))}};e.\u0275fac=function(r){return new(r||e)(M(Fe),M(Re),M(Zn,8))},e.\u0275cmp=le({type:e,selectors:[["mat-tooltip-component"]],viewQuery:function(r,o){if(r&1&&Te(kce,7),r&2){let s;be(s=ye())&&(o._tooltip=s.first)}},hostAttrs:["aria-hidden","true"],hostVars:2,hostBindings:function(r,o){r&1&&H("mouseleave",function(a){return o._handleMouseLeave(a)}),r&2&&tn("zoom",o.isVisible()?1:null)},standalone:!0,features:[ce],decls:4,vars:4,consts:[["tooltip",""],[1,"mdc-tooltip","mat-mdc-tooltip",3,"animationend","ngClass"],[1,"mat-mdc-tooltip-surface","mdc-tooltip__surface"]],template:function(r,o){if(r&1){let s=ie();v(0,"div",1,0),H("animationend",function(l){return V(s),z(o._handleAnimationEnd(l))}),v(2,"div",2),S(3),b()()}r&2&&(se("mdc-tooltip--multiline",o._isMultiline),N("ngClass",o.tooltipClass),w(3),nt(o.message))},dependencies:[ob],styles:['.mat-mdc-tooltip{position:relative;transform:scale(0);display:inline-flex}.mat-mdc-tooltip::before{content:"";top:0;right:0;bottom:0;left:0;z-index:-1;position:absolute}.mat-mdc-tooltip-panel-below .mat-mdc-tooltip::before{top:-8px}.mat-mdc-tooltip-panel-above .mat-mdc-tooltip::before{bottom:-8px}.mat-mdc-tooltip-panel-right .mat-mdc-tooltip::before{left:-8px}.mat-mdc-tooltip-panel-left .mat-mdc-tooltip::before{right:-8px}.mat-mdc-tooltip._mat-animation-noopable{animation:none;transform:scale(1)}.mat-mdc-tooltip-surface{word-break:normal;overflow-wrap:anywhere;padding:4px 8px;min-width:40px;max-width:200px;min-height:24px;max-height:40vh;box-sizing:border-box;overflow:hidden;text-align:center;will-change:transform,opacity;background-color:var(--mdc-plain-tooltip-container-color);color:var(--mdc-plain-tooltip-supporting-text-color);border-radius:var(--mdc-plain-tooltip-container-shape);font-family:var(--mdc-plain-tooltip-supporting-text-font);font-size:var(--mdc-plain-tooltip-supporting-text-size);font-weight:var(--mdc-plain-tooltip-supporting-text-weight);line-height:var(--mdc-plain-tooltip-supporting-text-line-height);letter-spacing:var(--mdc-plain-tooltip-supporting-text-tracking)}.mat-mdc-tooltip-surface::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}.mdc-tooltip--multiline .mat-mdc-tooltip-surface{text-align:left}[dir=rtl] .mdc-tooltip--multiline .mat-mdc-tooltip-surface{text-align:right}.mat-mdc-tooltip-panel.mat-mdc-tooltip-panel-non-interactive{pointer-events:none}@keyframes mat-mdc-tooltip-show{0%{opacity:0;transform:scale(0.8)}100%{opacity:1;transform:scale(1)}}@keyframes mat-mdc-tooltip-hide{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(0.8)}}.mat-mdc-tooltip-show{animation:mat-mdc-tooltip-show 150ms cubic-bezier(0, 0, 0.2, 1) forwards}.mat-mdc-tooltip-hide{animation:mat-mdc-tooltip-hide 75ms cubic-bezier(0.4, 0, 1, 1) forwards}'],encapsulation:2,changeDetection:0});let i=e;return i})();var Jt=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=ot({type:e}),e.\u0275inj=rt({providers:[Fce],imports:[Iy,Ae,eo,qt,qt,Zo]});let i=e;return i})();var da={};dS(da,{setHref:()=>Yce});var Wce=/^\s*(?!javascript:)(?:[\w+.-]+:|[^:/?#]*(?:[/?#]|$))/i;function $ce(i){let e=!Wce.test(i);return e}function qce(i){if(!$ce(i))return i}function es(i){return qce(i)}function Yce(i,e){let t=es(e);t!==void 0&&(i.href=t)}var rGe=typeof window<"u"?window.TrustedScriptURL:void 0;var mGe=typeof window<"u"?window.TrustedHTML:void 0;var AGe=typeof window<"u"?window.TrustedScript:void 0;var uC={};dS(uC,{assign:()=>_de,replace:()=>gde,setHref:()=>mde});function mde(i,e){let t=es(e);t!==void 0&&(i.href=t)}function gde(i,e){let t=es(e);t!==void 0&&i.replace(t)}function _de(i,e){let t=es(e);t!==void 0&&i.assign(t)}function wde(i,e){if(i&1&&ee(0,"div",1),i&2){let t=I();tn("top",t.top,"px")("left",t.left,"px")("width",t.width,"px")("height",t.height,"px")("border-color",t.borderColor)("background-color",t.bgColor)}}var uG=(()=>{class i{changeDetectorRef;borderColor;bgColor;startX=-1;startY=-1;endX=-1;endY=-1;isMac=typeof navigator<"u"&&/Macintosh/.test(navigator.userAgent);constructor(t){this.changeDetectorRef=t}start(t,n){t.preventDefault(),t.stopPropagation(),this.startX=t.offsetX,this.startY=t.offsetY,this.endX=this.startX,this.endY=this.startY;let r=yn(document,"mousemove"),o=yn(window,"mouseup"),s=0,a=0;Xr([r]).pipe(Xe(o)).subscribe({next:([l])=>{s=l.offsetX-this.startX,a=l.offsetY-this.startY,this.endX=this.startX+s,this.endY=this.startY+a,this.changeDetectorRef.detectChanges()},complete:()=>{let l=Math.abs(s)<5&&Math.abs(a)<5;n(l,this.startX,this.startY,this.endX,this.endY),this.startX=-1,this.startY=-1,this.endX=-1,this.endY=-1,this.changeDetectorRef.detectChanges()}})}get top(){return Math.min(this.startY,this.endY)}get left(){return Math.min(this.startX,this.endX)}get width(){return Math.abs(this.endX-this.startX)}get height(){return Math.abs(this.endY-this.startY)}static \u0275fac=function(n){return new(n||i)(M(Fe))};static \u0275cmp=le({type:i,selectors:[["drag-area"]],inputs:{borderColor:"borderColor",bgColor:"bgColor"},standalone:!0,features:[ce],decls:1,vars:1,consts:[[1,"container",3,"top","left","width","height","border-color","background-color"],[1,"container"]],template:function(n,r){n&1&&W(0,wde,1,12,"div",0),n&2&&ae(r.startX>0?0:-1)},dependencies:[Ae],styles:[`.container[_ngcontent-%COMP%]{position:absolute;z-index:5000;box-sizing:border-box;border-width:1px;border-style:solid;pointer-events:none} +}`;function kH(i,e,t){let n=new ru,r=new we,o=new we,s=new Sn,a=new Vp({depthPacking:vH}),c=new zp,l={},d=t.maxTextureSize,u={0:Ci,1:eu,2:tu},h=new Cs({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new we},radius:{value:4}},vertexShader:Mae,fragmentShader:Eae}),p=h.clone();p.defines.HORIZONTAL_PASS=1;let f=new Dt;f.setAttribute("position",new un(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));let m=new pi(f,h),y=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=jP,this.render=function(C,T,D){if(y.enabled===!1||y.autoUpdate===!1&&y.needsUpdate===!1||C.length===0)return;let E=i.getRenderTarget(),A=i.getActiveCubeFace(),j=i.getActiveMipmapLevel(),q=i.state;q.setBlending(Qa),q.buffers.color.setClear(1,1,1,1),q.buffers.depth.setTest(!0),q.setScissorTest(!1);for(let z=0,P=C.length;zd||r.y>d)&&(r.x>d&&(o.x=Math.floor(d/Y.x),r.x=o.x*Y.x,W.mapSize.x=o.x),r.y>d&&(o.y=Math.floor(d/Y.y),r.y=o.y*Y.y,W.mapSize.y=o.y)),W.map===null&&!W.isPointLightShadow&&this.type===Cp){let G={minFilter:zi,magFilter:zi,format:sr};W.map=new So(r.x,r.y,G),W.map.texture.name=U.name+".shadowMap",W.mapPass=new So(r.x,r.y,G),W.camera.updateProjectionMatrix()}if(W.map===null){let G={minFilter:Pi,magFilter:Pi,format:sr};W.map=new So(r.x,r.y,G),W.map.texture.name=U.name+".shadowMap",W.camera.updateProjectionMatrix()}i.setRenderTarget(W.map),i.clear();let k=W.getViewportCount();for(let G=0;G0){let U=z.uuid,W=D.uuid,Y=l[U];Y===void 0&&(Y={},l[U]=Y);let k=Y[W];k===void 0&&(k=z.clone(),Y[W]=k),z=k}return z.visible=D.visible,z.wireframe=D.wireframe,q===Cp?z.side=D.shadowSide!==null?D.shadowSide:D.side:z.side=D.shadowSide!==null?D.shadowSide:u[D.side],z.alphaMap=D.alphaMap,z.alphaTest=D.alphaTest,z.clipShadows=D.clipShadows,z.clippingPlanes=D.clippingPlanes,z.clipIntersection=D.clipIntersection,z.displacementMap=D.displacementMap,z.displacementScale=D.displacementScale,z.displacementBias=D.displacementBias,z.wireframeLinewidth=D.wireframeLinewidth,z.linewidth=D.linewidth,E.isPointLight===!0&&z.isMeshDistanceMaterial===!0&&(z.referencePosition.setFromMatrixPosition(E.matrixWorld),z.nearDistance=A,z.farDistance=j),z}function x(C,T,D,E,A){if(C.visible===!1)return;if(C.layers.test(T.layers)&&(C.isMesh||C.isLine||C.isPoints)&&(C.castShadow||C.receiveShadow&&A===Cp)&&(!C.frustumCulled||n.intersectsObject(C))){C.modelViewMatrix.multiplyMatrices(D.matrixWorldInverse,C.matrixWorld);let z=e.update(C),P=C.material;if(Array.isArray(P)){let U=z.groups;for(let W=0,Y=U.length;W=1):Y.indexOf("OpenGL ES")!==-1&&(W=parseFloat(/^OpenGL ES (\d)/.exec(Y)[1]),U=W>=2);let k=null,G={},K=i.getParameter(3088),de=i.getParameter(2978),De=new Sn().fromArray(K),Te=new Sn().fromArray(de);function He(Q,$e,Me){let _t=new Uint8Array(4),ut=i.createTexture();i.bindTexture(Q,ut),i.texParameteri(Q,10241,9728),i.texParameteri(Q,10240,9728);for(let pn=0;pnke||F.height>ke)&&(Le=ke/Math.max(F.width,F.height)),Le<1||N===!0)if(typeof HTMLImageElement<"u"&&F instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&F instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&F instanceof ImageBitmap){let nt=N?wH:Math.floor,At=nt(Le*F.width),bt=nt(Le*F.height);p===void 0&&(p=m(At,bt));let Vt=ge?m(At,bt):p;return Vt.width=At,Vt.height=bt,Vt.getContext("2d").drawImage(F,0,0,At,bt),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+F.width+"x"+F.height+") to ("+At+"x"+bt+")."),Vt}else return"data"in F&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+F.width+"x"+F.height+")."),F;return F}function g(F){return fP(F.width)&&fP(F.height)}function _(F){return a?!1:F.wrapS!==or||F.wrapT!==or||F.minFilter!==Pi&&F.minFilter!==zi}function x(F,N){return F.generateMipmaps&&N&&F.minFilter!==Pi&&F.minFilter!==zi}function C(F,N,ge,ke,Le=1){i.generateMipmap(F);let nt=n.get(N);nt.__maxMipLevel=Math.log2(Math.max(ge,ke,Le))}function T(F,N,ge,ke){if(a===!1)return N;if(F!==null){if(i[F]!==void 0)return i[F];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+F+"'")}let Le=N;return N===6403&&(ge===5126&&(Le=33326),ge===5131&&(Le=33325),ge===5121&&(Le=33321)),N===6407&&(ge===5126&&(Le=34837),ge===5131&&(Le=34843),ge===5121&&(Le=32849)),N===6408&&(ge===5126&&(Le=34836),ge===5131&&(Le=34842),ge===5121&&(Le=ke===bl?35907:32856)),(Le===33325||Le===33326||Le===34842||Le===34836)&&e.get("EXT_color_buffer_float"),Le}function D(F){return F===Pi||F===ow||F===sw?9728:9729}function E(F){let N=F.target;N.removeEventListener("dispose",E),j(N),N.isVideoTexture&&h.delete(N),s.memory.textures--}function A(F){let N=F.target;N.removeEventListener("dispose",A),q(N)}function j(F){let N=n.get(F);N.__webglInit!==void 0&&(i.deleteTexture(N.__webglTexture),n.remove(F))}function q(F){let N=F.texture,ge=n.get(F),ke=n.get(N);if(F){if(ke.__webglTexture!==void 0&&(i.deleteTexture(ke.__webglTexture),s.memory.textures--),F.depthTexture&&F.depthTexture.dispose(),F.isWebGLCubeRenderTarget)for(let Le=0;Le<6;Le++)i.deleteFramebuffer(ge.__webglFramebuffer[Le]),ge.__webglDepthbuffer&&i.deleteRenderbuffer(ge.__webglDepthbuffer[Le]);else i.deleteFramebuffer(ge.__webglFramebuffer),ge.__webglDepthbuffer&&i.deleteRenderbuffer(ge.__webglDepthbuffer),ge.__webglMultisampledFramebuffer&&i.deleteFramebuffer(ge.__webglMultisampledFramebuffer),ge.__webglColorRenderbuffer&&i.deleteRenderbuffer(ge.__webglColorRenderbuffer),ge.__webglDepthRenderbuffer&&i.deleteRenderbuffer(ge.__webglDepthRenderbuffer);if(F.isWebGLMultipleRenderTargets)for(let Le=0,nt=N.length;Le=c&&console.warn("THREE.WebGLTextures: Trying to use "+F+" texture units while this GPU supports only "+c),z+=1,F}function W(F,N){let ge=n.get(F);if(F.isVideoTexture&&_e(F),F.version>0&&ge.__version!==F.version){let ke=F.image;if(ke===void 0)console.warn("THREE.WebGLRenderer: Texture marked for update but image is undefined");else if(ke.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{He(ge,F,N);return}}t.activeTexture(33984+N),t.bindTexture(3553,ge.__webglTexture)}function Y(F,N){let ge=n.get(F);if(F.version>0&&ge.__version!==F.version){He(ge,F,N);return}t.activeTexture(33984+N),t.bindTexture(35866,ge.__webglTexture)}function k(F,N){let ge=n.get(F);if(F.version>0&&ge.__version!==F.version){He(ge,F,N);return}t.activeTexture(33984+N),t.bindTexture(32879,ge.__webglTexture)}function G(F,N){let ge=n.get(F);if(F.version>0&&ge.__version!==F.version){he(ge,F,N);return}t.activeTexture(33984+N),t.bindTexture(34067,ge.__webglTexture)}let K={[zg]:10497,[or]:33071,[Ug]:33648},de={[Pi]:9728,[ow]:9984,[sw]:9986,[zi]:9729,[YP]:9985,[bu]:9987};function De(F,N,ge){if(ge?(i.texParameteri(F,10242,K[N.wrapS]),i.texParameteri(F,10243,K[N.wrapT]),(F===32879||F===35866)&&i.texParameteri(F,32882,K[N.wrapR]),i.texParameteri(F,10240,de[N.magFilter]),i.texParameteri(F,10241,de[N.minFilter])):(i.texParameteri(F,10242,33071),i.texParameteri(F,10243,33071),(F===32879||F===35866)&&i.texParameteri(F,32882,33071),(N.wrapS!==or||N.wrapT!==or)&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),i.texParameteri(F,10240,D(N.magFilter)),i.texParameteri(F,10241,D(N.minFilter)),N.minFilter!==Pi&&N.minFilter!==zi&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),e.has("EXT_texture_filter_anisotropic")===!0){let ke=e.get("EXT_texture_filter_anisotropic");if(N.type===ra&&e.has("OES_texture_float_linear")===!1||a===!1&&N.type===Zd&&e.has("OES_texture_half_float_linear")===!1)return;(N.anisotropy>1||n.get(N).__currentAnisotropy)&&(i.texParameterf(F,ke.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(N.anisotropy,r.getMaxAnisotropy())),n.get(N).__currentAnisotropy=N.anisotropy)}}function Te(F,N){F.__webglInit===void 0&&(F.__webglInit=!0,N.addEventListener("dispose",E),F.__webglTexture=i.createTexture(),s.memory.textures++)}function He(F,N,ge){let ke=3553;N.isDataTexture2DArray&&(ke=35866),N.isDataTexture3D&&(ke=32879),Te(F,N),t.activeTexture(33984+ge),t.bindTexture(ke,F.__webglTexture),i.pixelStorei(37440,N.flipY),i.pixelStorei(37441,N.premultiplyAlpha),i.pixelStorei(3317,N.unpackAlignment),i.pixelStorei(37443,0);let Le=_(N)&&g(N.image)===!1,nt=y(N.image,Le,!1,d),At=g(nt)||a,bt=o.convert(N.format),Vt=o.convert(N.type),gt=T(N.internalFormat,bt,Vt,N.encoding);De(ke,N,At);let Q,$e=N.mipmaps;if(N.isDepthTexture)gt=6402,a?N.type===ra?gt=36012:N.type===Ag?gt=33190:N.type===Ip?gt=35056:gt=33189:N.type===ra&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),N.format===Kd&>===6402&&N.type!==Hg&&N.type!==Ag&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),N.type=Hg,Vt=o.convert(N.type)),N.format===Dp&>===6402&&(gt=34041,N.type!==Ip&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),N.type=Ip,Vt=o.convert(N.type))),t.texImage2D(3553,0,gt,nt.width,nt.height,0,bt,Vt,null);else if(N.isDataTexture)if($e.length>0&&At){for(let Me=0,_t=$e.length;Me<_t;Me++)Q=$e[Me],t.texImage2D(3553,Me,gt,Q.width,Q.height,0,bt,Vt,Q.data);N.generateMipmaps=!1,F.__maxMipLevel=$e.length-1}else t.texImage2D(3553,0,gt,nt.width,nt.height,0,bt,Vt,nt.data),F.__maxMipLevel=0;else if(N.isCompressedTexture){for(let Me=0,_t=$e.length;Me<_t;Me++)Q=$e[Me],N.format!==sr&&N.format!==Qd?bt!==null?t.compressedTexImage2D(3553,Me,gt,Q.width,Q.height,0,Q.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):t.texImage2D(3553,Me,gt,Q.width,Q.height,0,bt,Vt,Q.data);F.__maxMipLevel=$e.length-1}else if(N.isDataTexture2DArray)t.texImage3D(35866,0,gt,nt.width,nt.height,nt.depth,0,bt,Vt,nt.data),F.__maxMipLevel=0;else if(N.isDataTexture3D)t.texImage3D(32879,0,gt,nt.width,nt.height,nt.depth,0,bt,Vt,nt.data),F.__maxMipLevel=0;else if($e.length>0&&At){for(let Me=0,_t=$e.length;Me<_t;Me++)Q=$e[Me],t.texImage2D(3553,Me,gt,bt,Vt,Q);N.generateMipmaps=!1,F.__maxMipLevel=$e.length-1}else t.texImage2D(3553,0,gt,bt,Vt,nt),F.__maxMipLevel=0;x(N,At)&&C(ke,N,nt.width,nt.height),F.__version=N.version,N.onUpdate&&N.onUpdate(N)}function he(F,N,ge){if(N.image.length!==6)return;Te(F,N),t.activeTexture(33984+ge),t.bindTexture(34067,F.__webglTexture),i.pixelStorei(37440,N.flipY),i.pixelStorei(37441,N.premultiplyAlpha),i.pixelStorei(3317,N.unpackAlignment),i.pixelStorei(37443,0);let ke=N&&(N.isCompressedTexture||N.image[0].isCompressedTexture),Le=N.image[0]&&N.image[0].isDataTexture,nt=[];for(let Me=0;Me<6;Me++)!ke&&!Le?nt[Me]=y(N.image[Me],!1,!0,l):nt[Me]=Le?N.image[Me].image:N.image[Me];let At=nt[0],bt=g(At)||a,Vt=o.convert(N.format),gt=o.convert(N.type),Q=T(N.internalFormat,Vt,gt,N.encoding);De(34067,N,bt);let $e;if(ke){for(let Me=0;Me<6;Me++){$e=nt[Me].mipmaps;for(let _t=0;_t<$e.length;_t++){let ut=$e[_t];N.format!==sr&&N.format!==Qd?Vt!==null?t.compressedTexImage2D(34069+Me,_t,Q,ut.width,ut.height,0,ut.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()"):t.texImage2D(34069+Me,_t,Q,ut.width,ut.height,0,Vt,gt,ut.data)}}F.__maxMipLevel=$e.length-1}else{$e=N.mipmaps;for(let Me=0;Me<6;Me++)if(Le){t.texImage2D(34069+Me,0,Q,nt[Me].width,nt[Me].height,0,Vt,gt,nt[Me].data);for(let _t=0;_t<$e.length;_t++){let pn=$e[_t].image[Me].image;t.texImage2D(34069+Me,_t+1,Q,pn.width,pn.height,0,Vt,gt,pn.data)}}else{t.texImage2D(34069+Me,0,Q,Vt,gt,nt[Me]);for(let _t=0;_t<$e.length;_t++){let ut=$e[_t];t.texImage2D(34069+Me,_t+1,Q,Vt,gt,ut.image[Me])}}F.__maxMipLevel=$e.length}x(N,bt)&&C(34067,N,At.width,At.height),F.__version=N.version,N.onUpdate&&N.onUpdate(N)}function se(F,N,ge,ke,Le){let nt=o.convert(ge.format),At=o.convert(ge.type),bt=T(ge.internalFormat,nt,At,ge.encoding);Le===32879||Le===35866?t.texImage3D(Le,0,bt,N.width,N.height,N.depth,0,nt,At,null):t.texImage2D(Le,0,bt,N.width,N.height,0,nt,At,null),t.bindFramebuffer(36160,F),i.framebufferTexture2D(36160,ke,Le,n.get(ge).__webglTexture,0),t.bindFramebuffer(36160,null)}function qe(F,N,ge){if(i.bindRenderbuffer(36161,F),N.depthBuffer&&!N.stencilBuffer){let ke=33189;if(ge){let Le=N.depthTexture;Le&&Le.isDepthTexture&&(Le.type===ra?ke=36012:Le.type===Ag&&(ke=33190));let nt=Ot(N);i.renderbufferStorageMultisample(36161,nt,ke,N.width,N.height)}else i.renderbufferStorage(36161,ke,N.width,N.height);i.framebufferRenderbuffer(36160,36096,36161,F)}else if(N.depthBuffer&&N.stencilBuffer){if(ge){let ke=Ot(N);i.renderbufferStorageMultisample(36161,ke,35056,N.width,N.height)}else i.renderbufferStorage(36161,34041,N.width,N.height);i.framebufferRenderbuffer(36160,33306,36161,F)}else{let ke=N.isWebGLMultipleRenderTargets===!0?N.texture[0]:N.texture,Le=o.convert(ke.format),nt=o.convert(ke.type),At=T(ke.internalFormat,Le,nt,ke.encoding);if(ge){let bt=Ot(N);i.renderbufferStorageMultisample(36161,bt,At,N.width,N.height)}else i.renderbufferStorage(36161,At,N.width,N.height)}i.bindRenderbuffer(36161,null)}function ue(F,N){if(N&&N.isWebGLCubeRenderTarget)throw new Error("Depth Texture with cube render targets is not supported");if(t.bindFramebuffer(36160,F),!(N.depthTexture&&N.depthTexture.isDepthTexture))throw new Error("renderTarget.depthTexture must be an instance of THREE.DepthTexture");(!n.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),W(N.depthTexture,0);let ke=n.get(N.depthTexture).__webglTexture;if(N.depthTexture.format===Kd)i.framebufferTexture2D(36160,36096,3553,ke,0);else if(N.depthTexture.format===Dp)i.framebufferTexture2D(36160,33306,3553,ke,0);else throw new Error("Unknown depthTexture format")}function Ge(F){let N=n.get(F),ge=F.isWebGLCubeRenderTarget===!0;if(F.depthTexture){if(ge)throw new Error("target.depthTexture not supported in Cube render targets");ue(N.__webglFramebuffer,F)}else if(ge){N.__webglDepthbuffer=[];for(let ke=0;ke<6;ke++)t.bindFramebuffer(36160,N.__webglFramebuffer[ke]),N.__webglDepthbuffer[ke]=i.createRenderbuffer(),qe(N.__webglDepthbuffer[ke],F,!1)}else t.bindFramebuffer(36160,N.__webglFramebuffer),N.__webglDepthbuffer=i.createRenderbuffer(),qe(N.__webglDepthbuffer,F,!1);t.bindFramebuffer(36160,null)}function ft(F){let N=F.texture,ge=n.get(F),ke=n.get(N);F.addEventListener("dispose",A),F.isWebGLMultipleRenderTargets!==!0&&(ke.__webglTexture=i.createTexture(),ke.__version=N.version,s.memory.textures++);let Le=F.isWebGLCubeRenderTarget===!0,nt=F.isWebGLMultipleRenderTargets===!0,At=F.isWebGLMultisampleRenderTarget===!0,bt=N.isDataTexture3D||N.isDataTexture2DArray,Vt=g(F)||a;if(a&&N.format===Qd&&(N.type===ra||N.type===Zd)&&(N.format=sr,console.warn("THREE.WebGLRenderer: Rendering to textures with RGB format is not supported. Using RGBA format instead.")),Le){ge.__webglFramebuffer=[];for(let gt=0;gt<6;gt++)ge.__webglFramebuffer[gt]=i.createFramebuffer()}else if(ge.__webglFramebuffer=i.createFramebuffer(),nt)if(r.drawBuffers){let gt=F.texture;for(let Q=0,$e=gt.length;Q<$e;Q++){let Me=n.get(gt[Q]);Me.__webglTexture===void 0&&(Me.__webglTexture=i.createTexture(),s.memory.textures++)}}else console.warn("THREE.WebGLRenderer: WebGLMultipleRenderTargets can only be used with WebGL2 or WEBGL_draw_buffers extension.");else if(At)if(a){ge.__webglMultisampledFramebuffer=i.createFramebuffer(),ge.__webglColorRenderbuffer=i.createRenderbuffer(),i.bindRenderbuffer(36161,ge.__webglColorRenderbuffer);let gt=o.convert(N.format),Q=o.convert(N.type),$e=T(N.internalFormat,gt,Q,N.encoding),Me=Ot(F);i.renderbufferStorageMultisample(36161,Me,$e,F.width,F.height),t.bindFramebuffer(36160,ge.__webglMultisampledFramebuffer),i.framebufferRenderbuffer(36160,36064,36161,ge.__webglColorRenderbuffer),i.bindRenderbuffer(36161,null),F.depthBuffer&&(ge.__webglDepthRenderbuffer=i.createRenderbuffer(),qe(ge.__webglDepthRenderbuffer,F,!0)),t.bindFramebuffer(36160,null)}else console.warn("THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.");if(Le){t.bindTexture(34067,ke.__webglTexture),De(34067,N,Vt);for(let gt=0;gt<6;gt++)se(ge.__webglFramebuffer[gt],F,N,36064,34069+gt);x(N,Vt)&&C(34067,N,F.width,F.height),t.unbindTexture()}else if(nt){let gt=F.texture;for(let Q=0,$e=gt.length;Q<$e;Q++){let Me=gt[Q],_t=n.get(Me);t.bindTexture(3553,_t.__webglTexture),De(3553,Me,Vt),se(ge.__webglFramebuffer,F,Me,36064+Q,3553),x(Me,Vt)&&C(3553,Me,F.width,F.height)}t.unbindTexture()}else{let gt=3553;bt&&(a?gt=N.isDataTexture3D?32879:35866:console.warn("THREE.DataTexture3D and THREE.DataTexture2DArray only supported with WebGL2.")),t.bindTexture(gt,ke.__webglTexture),De(gt,N,Vt),se(ge.__webglFramebuffer,F,N,36064,gt),x(N,Vt)&&C(gt,N,F.width,F.height,F.depth),t.unbindTexture()}F.depthBuffer&&Ge(F)}function ze(F){let N=g(F)||a,ge=F.isWebGLMultipleRenderTargets===!0?F.texture:[F.texture];for(let ke=0,Le=ge.length;kep+f?(l.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!l.inputState.pinching&&h<=p-f&&(l.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else c!==null&&e.gripSpace&&(o=t.getPose(e.gripSpace,n),o!==null&&(c.matrix.fromArray(o.transform.matrix),c.matrix.decompose(c.position,c.rotation,c.scale),o.linearVelocity?(c.hasLinearVelocity=!0,c.linearVelocity.copy(o.linearVelocity)):c.hasLinearVelocity=!1,o.angularVelocity?(c.hasAngularVelocity=!0,c.angularVelocity.copy(o.angularVelocity)):c.hasAngularVelocity=!1));return a!==null&&(a.visible=r!==null),c!==null&&(c.visible=o!==null),l!==null&&(l.visible=s!==null),this}},gP=class extends sa{constructor(e,t){super();let n=this,r=e.state,o=null,s=1,a=null,c="local-floor",l=null,d=null,u=null,h=null,p=null,f=!1,m=null,y=null,g=null,_=null,x=null,C=null,T=[],D=new Map,E=new Di;E.layers.enable(1),E.viewport=new Sn;let A=new Di;A.layers.enable(2),A.viewport=new Sn;let j=[E,A],q=new Zg;q.layers.enable(1),q.layers.enable(2);let z=null,P=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(he){let se=T[he];return se===void 0&&(se=new kg,T[he]=se),se.getTargetRaySpace()},this.getControllerGrip=function(he){let se=T[he];return se===void 0&&(se=new kg,T[he]=se),se.getGripSpace()},this.getHand=function(he){let se=T[he];return se===void 0&&(se=new kg,T[he]=se),se.getHandSpace()};function U(he){let se=D.get(he.inputSource);se&&se.dispatchEvent({type:he.type,data:he.inputSource})}function W(){D.forEach(function(he,se){he.disconnect(se)}),D.clear(),z=null,P=null,r.bindXRFramebuffer(null),e.setRenderTarget(e.getRenderTarget()),u&&t.deleteFramebuffer(u),m&&t.deleteFramebuffer(m),y&&t.deleteRenderbuffer(y),g&&t.deleteRenderbuffer(g),u=null,m=null,y=null,g=null,p=null,h=null,d=null,o=null,He.stop(),n.isPresenting=!1,n.dispatchEvent({type:"sessionend"})}this.setFramebufferScaleFactor=function(he){s=he,n.isPresenting===!0&&console.warn("THREE.WebXRManager: Cannot change framebuffer scale while presenting.")},this.setReferenceSpaceType=function(he){c=he,n.isPresenting===!0&&console.warn("THREE.WebXRManager: Cannot change reference space type while presenting.")},this.getReferenceSpace=function(){return a},this.getBaseLayer=function(){return h!==null?h:p},this.getBinding=function(){return d},this.getFrame=function(){return _},this.getSession=function(){return o},this.setSession=function(he){return It(this,null,function*(){if(o=he,o!==null){o.addEventListener("select",U),o.addEventListener("selectstart",U),o.addEventListener("selectend",U),o.addEventListener("squeeze",U),o.addEventListener("squeezestart",U),o.addEventListener("squeezeend",U),o.addEventListener("end",W),o.addEventListener("inputsourceschange",Y);let se=t.getContextAttributes();if(se.xrCompatible!==!0&&(yield t.makeXRCompatible()),o.renderState.layers===void 0){let qe={antialias:se.antialias,alpha:se.alpha,depth:se.depth,stencil:se.stencil,framebufferScaleFactor:s};p=new XRWebGLLayer(o,t,qe),o.updateRenderState({baseLayer:p})}else if(t instanceof WebGLRenderingContext){let qe={antialias:!0,alpha:se.alpha,depth:se.depth,stencil:se.stencil,framebufferScaleFactor:s};p=new XRWebGLLayer(o,t,qe),o.updateRenderState({layers:[p]})}else{f=se.antialias;let qe=null;se.depth&&(C=256,se.stencil&&(C|=1024),x=se.stencil?33306:36096,qe=se.stencil?35056:33190);let ue={colorFormat:se.alpha?32856:32849,depthFormat:qe,scaleFactor:s};d=new XRWebGLBinding(o,t),h=d.createProjectionLayer(ue),u=t.createFramebuffer(),o.updateRenderState({layers:[h]}),f&&(m=t.createFramebuffer(),y=t.createRenderbuffer(),t.bindRenderbuffer(36161,y),t.renderbufferStorageMultisample(36161,4,32856,h.textureWidth,h.textureHeight),r.bindFramebuffer(36160,m),t.framebufferRenderbuffer(36160,36064,36161,y),t.bindRenderbuffer(36161,null),qe!==null&&(g=t.createRenderbuffer(),t.bindRenderbuffer(36161,g),t.renderbufferStorageMultisample(36161,4,qe,h.textureWidth,h.textureHeight),t.framebufferRenderbuffer(36160,x,36161,g),t.bindRenderbuffer(36161,null)),r.bindFramebuffer(36160,null))}a=yield o.requestReferenceSpace(c),He.setContext(o),He.start(),n.isPresenting=!0,n.dispatchEvent({type:"sessionstart"})}})};function Y(he){let se=o.inputSources;for(let qe=0;qe0&&(g.alphaTest.value=_.alphaTest);let x=i.get(_).envMap;if(x){g.envMap.value=x,g.flipEnvMap.value=x.isCubeTexture&&x.isRenderTargetTexture===!1?-1:1,g.reflectivity.value=_.reflectivity,g.ior.value=_.ior,g.refractionRatio.value=_.refractionRatio;let D=i.get(x).__maxMipLevel;D!==void 0&&(g.maxMipLevel.value=D)}_.lightMap&&(g.lightMap.value=_.lightMap,g.lightMapIntensity.value=_.lightMapIntensity),_.aoMap&&(g.aoMap.value=_.aoMap,g.aoMapIntensity.value=_.aoMapIntensity);let C;_.map?C=_.map:_.specularMap?C=_.specularMap:_.displacementMap?C=_.displacementMap:_.normalMap?C=_.normalMap:_.bumpMap?C=_.bumpMap:_.roughnessMap?C=_.roughnessMap:_.metalnessMap?C=_.metalnessMap:_.alphaMap?C=_.alphaMap:_.emissiveMap?C=_.emissiveMap:_.clearcoatMap?C=_.clearcoatMap:_.clearcoatNormalMap?C=_.clearcoatNormalMap:_.clearcoatRoughnessMap?C=_.clearcoatRoughnessMap:_.specularIntensityMap?C=_.specularIntensityMap:_.specularColorMap?C=_.specularColorMap:_.transmissionMap?C=_.transmissionMap:_.thicknessMap?C=_.thicknessMap:_.sheenColorMap?C=_.sheenColorMap:_.sheenRoughnessMap&&(C=_.sheenRoughnessMap),C!==void 0&&(C.isWebGLRenderTarget&&(C=C.texture),C.matrixAutoUpdate===!0&&C.updateMatrix(),g.uvTransform.value.copy(C.matrix));let T;_.aoMap?T=_.aoMap:_.lightMap&&(T=_.lightMap),T!==void 0&&(T.isWebGLRenderTarget&&(T=T.texture),T.matrixAutoUpdate===!0&&T.updateMatrix(),g.uv2Transform.value.copy(T.matrix))}function r(g,_){g.diffuse.value.copy(_.color),g.opacity.value=_.opacity}function o(g,_){g.dashSize.value=_.dashSize,g.totalSize.value=_.dashSize+_.gapSize,g.scale.value=_.scale}function s(g,_,x,C){g.diffuse.value.copy(_.color),g.opacity.value=_.opacity,g.size.value=_.size*x,g.scale.value=C*.5,_.map&&(g.map.value=_.map),_.alphaMap&&(g.alphaMap.value=_.alphaMap),_.alphaTest>0&&(g.alphaTest.value=_.alphaTest);let T;_.map?T=_.map:_.alphaMap&&(T=_.alphaMap),T!==void 0&&(T.matrixAutoUpdate===!0&&T.updateMatrix(),g.uvTransform.value.copy(T.matrix))}function a(g,_){g.diffuse.value.copy(_.color),g.opacity.value=_.opacity,g.rotation.value=_.rotation,_.map&&(g.map.value=_.map),_.alphaMap&&(g.alphaMap.value=_.alphaMap),_.alphaTest>0&&(g.alphaTest.value=_.alphaTest);let x;_.map?x=_.map:_.alphaMap&&(x=_.alphaMap),x!==void 0&&(x.matrixAutoUpdate===!0&&x.updateMatrix(),g.uvTransform.value.copy(x.matrix))}function c(g,_){_.emissiveMap&&(g.emissiveMap.value=_.emissiveMap)}function l(g,_){g.specular.value.copy(_.specular),g.shininess.value=Math.max(_.shininess,1e-4),_.emissiveMap&&(g.emissiveMap.value=_.emissiveMap),_.bumpMap&&(g.bumpMap.value=_.bumpMap,g.bumpScale.value=_.bumpScale,_.side===Ci&&(g.bumpScale.value*=-1)),_.normalMap&&(g.normalMap.value=_.normalMap,g.normalScale.value.copy(_.normalScale),_.side===Ci&&g.normalScale.value.negate()),_.displacementMap&&(g.displacementMap.value=_.displacementMap,g.displacementScale.value=_.displacementScale,g.displacementBias.value=_.displacementBias)}function d(g,_){_.gradientMap&&(g.gradientMap.value=_.gradientMap),_.emissiveMap&&(g.emissiveMap.value=_.emissiveMap),_.bumpMap&&(g.bumpMap.value=_.bumpMap,g.bumpScale.value=_.bumpScale,_.side===Ci&&(g.bumpScale.value*=-1)),_.normalMap&&(g.normalMap.value=_.normalMap,g.normalScale.value.copy(_.normalScale),_.side===Ci&&g.normalScale.value.negate()),_.displacementMap&&(g.displacementMap.value=_.displacementMap,g.displacementScale.value=_.displacementScale,g.displacementBias.value=_.displacementBias)}function u(g,_){g.roughness.value=_.roughness,g.metalness.value=_.metalness,_.roughnessMap&&(g.roughnessMap.value=_.roughnessMap),_.metalnessMap&&(g.metalnessMap.value=_.metalnessMap),_.emissiveMap&&(g.emissiveMap.value=_.emissiveMap),_.bumpMap&&(g.bumpMap.value=_.bumpMap,g.bumpScale.value=_.bumpScale,_.side===Ci&&(g.bumpScale.value*=-1)),_.normalMap&&(g.normalMap.value=_.normalMap,g.normalScale.value.copy(_.normalScale),_.side===Ci&&g.normalScale.value.negate()),_.displacementMap&&(g.displacementMap.value=_.displacementMap,g.displacementScale.value=_.displacementScale,g.displacementBias.value=_.displacementBias),i.get(_).envMap&&(g.envMapIntensity.value=_.envMapIntensity)}function h(g,_,x){u(g,_),g.ior.value=_.ior,_.sheen>0&&(g.sheenColor.value.copy(_.sheenColor).multiplyScalar(_.sheen),g.sheenRoughness.value=_.sheenRoughness,_.sheenColorMap&&(g.sheenColorMap.value=_.sheenColorMap),_.sheenRoughnessMap&&(g.sheenRoughnessMap.value=_.sheenRoughnessMap)),_.clearcoat>0&&(g.clearcoat.value=_.clearcoat,g.clearcoatRoughness.value=_.clearcoatRoughness,_.clearcoatMap&&(g.clearcoatMap.value=_.clearcoatMap),_.clearcoatRoughnessMap&&(g.clearcoatRoughnessMap.value=_.clearcoatRoughnessMap),_.clearcoatNormalMap&&(g.clearcoatNormalScale.value.copy(_.clearcoatNormalScale),g.clearcoatNormalMap.value=_.clearcoatNormalMap,_.side===Ci&&g.clearcoatNormalScale.value.negate())),_.transmission>0&&(g.transmission.value=_.transmission,g.transmissionSamplerMap.value=x.texture,g.transmissionSamplerSize.value.set(x.width,x.height),_.transmissionMap&&(g.transmissionMap.value=_.transmissionMap),g.thickness.value=_.thickness,_.thicknessMap&&(g.thicknessMap.value=_.thicknessMap),g.attenuationDistance.value=_.attenuationDistance,g.attenuationColor.value.copy(_.attenuationColor)),g.specularIntensity.value=_.specularIntensity,g.specularColor.value.copy(_.specularColor),_.specularIntensityMap&&(g.specularIntensityMap.value=_.specularIntensityMap),_.specularColorMap&&(g.specularColorMap.value=_.specularColorMap)}function p(g,_){_.matcap&&(g.matcap.value=_.matcap),_.bumpMap&&(g.bumpMap.value=_.bumpMap,g.bumpScale.value=_.bumpScale,_.side===Ci&&(g.bumpScale.value*=-1)),_.normalMap&&(g.normalMap.value=_.normalMap,g.normalScale.value.copy(_.normalScale),_.side===Ci&&g.normalScale.value.negate()),_.displacementMap&&(g.displacementMap.value=_.displacementMap,g.displacementScale.value=_.displacementScale,g.displacementBias.value=_.displacementBias)}function f(g,_){_.displacementMap&&(g.displacementMap.value=_.displacementMap,g.displacementScale.value=_.displacementScale,g.displacementBias.value=_.displacementBias)}function m(g,_){_.displacementMap&&(g.displacementMap.value=_.displacementMap,g.displacementScale.value=_.displacementScale,g.displacementBias.value=_.displacementBias),g.referencePosition.value.copy(_.referencePosition),g.nearDistance.value=_.nearDistance,g.farDistance.value=_.farDistance}function y(g,_){_.bumpMap&&(g.bumpMap.value=_.bumpMap,g.bumpScale.value=_.bumpScale,_.side===Ci&&(g.bumpScale.value*=-1)),_.normalMap&&(g.normalMap.value=_.normalMap,g.normalScale.value.copy(_.normalScale),_.side===Ci&&g.normalScale.value.negate()),_.displacementMap&&(g.displacementMap.value=_.displacementMap,g.displacementScale.value=_.displacementScale,g.displacementBias.value=_.displacementBias)}return{refreshFogUniforms:e,refreshMaterialUniforms:t}}function Oae(){let i=nC("canvas");return i.style.display="block",i}function kn(i={}){let e=i.canvas!==void 0?i.canvas:Oae(),t=i.context!==void 0?i.context:null,n=i.alpha!==void 0?i.alpha:!1,r=i.depth!==void 0?i.depth:!0,o=i.stencil!==void 0?i.stencil:!0,s=i.antialias!==void 0?i.antialias:!1,a=i.premultipliedAlpha!==void 0?i.premultipliedAlpha:!0,c=i.preserveDrawingBuffer!==void 0?i.preserveDrawingBuffer:!1,l=i.powerPreference!==void 0?i.powerPreference:"default",d=i.failIfMajorPerformanceCaveat!==void 0?i.failIfMajorPerformanceCaveat:!1,u=null,h=null,p=[],f=[];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=cr,this.physicallyCorrectLights=!1,this.toneMapping=cl,this.toneMappingExposure=1;let m=this,y=!1,g=0,_=0,x=null,C=-1,T=null,D=new Sn,E=new Sn,A=null,j=e.width,q=e.height,z=1,P=null,U=null,W=new Sn(0,0,j,q),Y=new Sn(0,0,j,q),k=!1,G=[],K=new ru,de=!1,De=!1,Te=null,He=new dt,he=new O,se={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function qe(){return x===null?z:1}let ue=t;function Ge(L,ie){for(let fe=0;fe0?h=f[f.length-1]:h=null,p.pop(),p.length>0?u=p[p.length-1]:u=null};function bR(L,ie,fe,ae){if(L.visible===!1)return;if(L.layers.test(ie.layers)){if(L.isGroup)fe=L.renderOrder;else if(L.isLOD)L.autoUpdate===!0&&L.update(ie);else if(L.isLight)h.pushLight(L),L.castShadow&&h.pushShadow(L);else if(L.isSprite){if(!L.frustumCulled||K.intersectsSprite(L)){ae&&he.setFromMatrixPosition(L.matrixWorld).applyMatrix4(He);let Nt=N.update(L),Pt=L.material;Pt.visible&&u.push(L,Nt,Pt,fe,he.z,null)}}else if((L.isMesh||L.isLine||L.isPoints)&&(L.isSkinnedMesh&&L.skeleton.frame!==Ot.render.frame&&(L.skeleton.update(),L.skeleton.frame=Ot.render.frame),!L.frustumCulled||K.intersectsObject(L))){ae&&he.setFromMatrixPosition(L.matrixWorld).applyMatrix4(He);let Nt=N.update(L),Pt=L.material;if(Array.isArray(Pt)){let cn=Nt.groups;for(let Pn=0,fn=cn.length;Pn0&&Y5(Ce,ie,fe),ae&&Qe.viewport(D.copy(ae)),Ce.length>0&&lv(Ce,ie,fe),Ht.length>0&&lv(Ht,ie,fe),Nt.length>0&&lv(Nt,ie,fe)}function Y5(L,ie,fe){if(Te===null){let Nt=s===!0&&ze.isWebGL2===!0?qg:So;Te=new Nt(1024,1024,{generateMipmaps:!0,type:Me.convert(Zd)!==null?Zd:Ja,minFilter:bu,magFilter:Pi,wrapS:or,wrapT:or})}let ae=m.getRenderTarget();m.setRenderTarget(Te),m.clear();let Ce=m.toneMapping;m.toneMapping=cl,lv(L,ie,fe),m.toneMapping=Ce,Pe.updateMultisampleRenderTarget(Te),Pe.updateRenderTargetMipmap(Te),m.setRenderTarget(ae)}function lv(L,ie,fe){let ae=ie.isScene===!0?ie.overrideMaterial:null;for(let Ce=0,Ht=L.length;Ce=0&&ie<=L.width-ae&&fe>=0&&fe<=L.height-Ce&&ue.readPixels(ie,fe,ae,Ce,Me.convert(Pn),Me.convert(fn),Ht):console.error("THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.")}finally{let cn=x!==null?_e.get(x).__webglFramebuffer:null;Qe.bindFramebuffer(36160,cn)}}},this.copyFramebufferToTexture=function(L,ie,fe=0){let ae=Math.pow(2,-fe),Ce=Math.floor(ie.image.width*ae),Ht=Math.floor(ie.image.height*ae),Nt=Me.convert(ie.format);ze.isWebGL2&&(Nt===6407&&(Nt=32849),Nt===6408&&(Nt=32856)),Pe.setTexture2D(ie,0),ue.copyTexImage2D(3553,fe,Nt,L.x,L.y,Ce,Ht,0),Qe.unbindTexture()},this.copyTextureToTexture=function(L,ie,fe,ae=0){let Ce=ie.image.width,Ht=ie.image.height,Nt=Me.convert(fe.format),Pt=Me.convert(fe.type);Pe.setTexture2D(fe,0),ue.pixelStorei(37440,fe.flipY),ue.pixelStorei(37441,fe.premultiplyAlpha),ue.pixelStorei(3317,fe.unpackAlignment),ie.isDataTexture?ue.texSubImage2D(3553,ae,L.x,L.y,Ce,Ht,Nt,Pt,ie.image.data):ie.isCompressedTexture?ue.compressedTexSubImage2D(3553,ae,L.x,L.y,ie.mipmaps[0].width,ie.mipmaps[0].height,Nt,ie.mipmaps[0].data):ue.texSubImage2D(3553,ae,L.x,L.y,Nt,Pt,ie.image),ae===0&&fe.generateMipmaps&&ue.generateMipmap(3553),Qe.unbindTexture()},this.copyTextureToTexture3D=function(L,ie,fe,ae,Ce=0){if(m.isWebGL1Renderer){console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");return}let Ht=L.max.x-L.min.x+1,Nt=L.max.y-L.min.y+1,Pt=L.max.z-L.min.z+1,cn=Me.convert(ae.format),Pn=Me.convert(ae.type),fn;if(ae.isDataTexture3D)Pe.setTexture3D(ae,0),fn=32879;else if(ae.isDataTexture2DArray)Pe.setTexture2DArray(ae,0),fn=35866;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}ue.pixelStorei(37440,ae.flipY),ue.pixelStorei(37441,ae.premultiplyAlpha),ue.pixelStorei(3317,ae.unpackAlignment);let bn=ue.getParameter(3314),oi=ue.getParameter(32878),Tl=ue.getParameter(3316),wn=ue.getParameter(3315),yf=ue.getParameter(32877),Xn=fe.isCompressedTexture?fe.mipmaps[0]:fe.image;ue.pixelStorei(3314,Xn.width),ue.pixelStorei(32878,Xn.height),ue.pixelStorei(3316,L.min.x),ue.pixelStorei(3315,L.min.y),ue.pixelStorei(32877,L.min.z),fe.isDataTexture||fe.isDataTexture3D?ue.texSubImage3D(fn,Ce,ie.x,ie.y,ie.z,Ht,Nt,Pt,cn,Pn,Xn.data):fe.isCompressedTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),ue.compressedTexSubImage3D(fn,Ce,ie.x,ie.y,ie.z,Ht,Nt,Pt,cn,Xn.data)):ue.texSubImage3D(fn,Ce,ie.x,ie.y,ie.z,Ht,Nt,Pt,cn,Pn,Xn),ue.pixelStorei(3314,bn),ue.pixelStorei(32878,oi),ue.pixelStorei(3316,Tl),ue.pixelStorei(3315,wn),ue.pixelStorei(32877,yf),Ce===0&&ae.generateMipmaps&&ue.generateMipmap(fn),Qe.unbindTexture()},this.initTexture=function(L){Pe.setTexture2D(L,0),Qe.unbindTexture()},this.resetState=function(){g=0,_=0,x=null,Qe.reset(),_t.reset()},typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}kn.prototype.isWebGLRenderer=!0;var gw=class extends kn{};gw.prototype.isWebGL1Renderer=!0;var Qg=class i{constructor(e,t=25e-5){this.name="",this.color=new je(e),this.density=t}clone(){return new i(this.color,this.density)}toJSON(){return{type:"FogExp2",color:this.color.getHex(),density:this.density}}};Qg.prototype.isFogExp2=!0;var Kg=class i{constructor(e,t=1,n=1e3){this.name="",this.color=new je(e),this.near=t,this.far=n}clone(){return new i(this.color,this.near,this.far)}toJSON(){return{type:"Fog",color:this.color.getHex(),near:this.near,far:this.far}}};Kg.prototype.isFog=!0;var Up=class extends hn{constructor(){super(),this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.overrideMaterial=null,this.autoUpdate=!0,typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(e,t){return super.copy(e,t),e.background!==null&&(this.background=e.background.clone()),e.environment!==null&&(this.environment=e.environment.clone()),e.fog!==null&&(this.fog=e.fog.clone()),e.overrideMaterial!==null&&(this.overrideMaterial=e.overrideMaterial.clone()),this.autoUpdate=e.autoUpdate,this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){let t=super.toJSON(e);return this.fog!==null&&(t.object.fog=this.fog.toJSON()),t}};Up.prototype.isScene=!0;var tc=class{constructor(e,t){this.array=e,this.stride=t,this.count=e!==void 0?e.length/t:0,this.usage=Pp,this.updateRange={offset:0,count:-1},this.version=0,this.uuid=Co()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}copy(e){return this.array=new e.array.constructor(e.array),this.count=e.count,this.stride=e.stride,this.usage=e.usage,this}copyAt(e,t,n){e*=this.stride,n*=t.stride;for(let r=0,o=this.stride;re.far||t.push({distance:c,point:Ig.clone(),uv:ar.getUV(Ig,kx,Dg,Lx,nU,HD,iU,new we),face:null,object:this})}copy(e){return super.copy(e),e.center!==void 0&&this.center.copy(e.center),this.material=e.material,this}};Gp.prototype.isSprite=!0;function Fx(i,e,t,n,r,o){wp.subVectors(i,t).addScalar(.5).multiply(n),r!==void 0?(Tg.x=o*wp.x-r*wp.y,Tg.y=r*wp.x+o*wp.y):Tg.copy(wp),i.copy(e),i.x+=Tg.x,i.y+=Tg.y,i.applyMatrix4(FH)}var Bx=new O,rU=new O,_w=class extends hn{constructor(){super(),this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]},isLOD:{value:!0}}),this.autoUpdate=!0}copy(e){super.copy(e,!1);let t=e.levels;for(let n=0,r=t.length;n0){let n,r;for(n=1,r=t.length;n0){Bx.setFromMatrixPosition(this.matrixWorld);let r=e.ray.origin.distanceTo(Bx);this.getObjectForDistance(r).raycast(e,t)}}update(e){let t=this.levels;if(t.length>1){Bx.setFromMatrixPosition(e.matrixWorld),rU.setFromMatrixPosition(this.matrixWorld);let n=Bx.distanceTo(rU)/e.zoom;t[0].object.visible=!0;let r,o;for(r=1,o=t.length;r=t[r].distance;r++)t[r-1].object.visible=!1,t[r].object.visible=!0;for(this._currentLevel=r-1;rc)continue;h.applyMatrix4(this.matrixWorld);let A=e.ray.origin.distanceTo(h);Ae.far||t.push({distance:A,point:u.clone().applyMatrix4(this.matrixWorld),index:x,face:null,faceIndex:null,object:this})}}else{let g=Math.max(0,s.start),_=Math.min(y.count,s.start+s.count);for(let x=g,C=_-1;xc)continue;h.applyMatrix4(this.matrixWorld);let D=e.ray.origin.distanceTo(h);De.far||t.push({distance:D,point:u.clone().applyMatrix4(this.matrixWorld),index:x,face:null,faceIndex:null,object:this})}}}else n.isGeometry&&console.error("THREE.Line.raycast() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.")}updateMorphTargets(){let e=this.geometry;if(e.isBufferGeometry){let t=e.morphAttributes,n=Object.keys(t);if(n.length>0){let r=t[n[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let o=0,s=r.length;o0&&console.error("THREE.Line.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.")}}};Ss.prototype.isLine=!0;var mU=new O,gU=new O,Cr=class extends Ss{constructor(e,t){super(e,t),this.type="LineSegments"}computeLineDistances(){let e=this.geometry;if(e.isBufferGeometry)if(e.index===null){let t=e.attributes.position,n=[];for(let r=0,o=t.count;r0){let r=t[n[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let o=0,s=r.length;o0&&console.error("THREE.Points.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.")}}};su.prototype.isPoints=!0;function vU(i,e,t,n,r,o,s){let a=_P.distanceSqToPoint(i);if(ar.far)return;o.push({distance:l,distanceToRay:Math.sqrt(a),point:c,index:e,face:null,object:s})}}var bw=class extends Wi{constructor(e,t,n,r,o,s,a,c,l){super(e,t,n,r,o,s,a,c,l),this.format=a!==void 0?a:Qd,this.minFilter=s!==void 0?s:zi,this.magFilter=o!==void 0?o:zi,this.generateMipmaps=!1;let d=this;function u(){d.needsUpdate=!0,e.requestVideoFrameCallback(u)}"requestVideoFrameCallback"in e&&e.requestVideoFrameCallback(u)}clone(){return new this.constructor(this.image).copy(this)}update(){let e=this.image;"requestVideoFrameCallback"in e===!1&&e.readyState>=e.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}};bw.prototype.isVideoTexture=!0;var t_=class extends Wi{constructor(e,t,n,r,o,s,a,c,l,d,u,h){super(null,s,a,c,l,d,r,o,u,h),this.image={width:t,height:n},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}};t_.prototype.isCompressedTexture=!0;var yw=class extends Wi{constructor(e,t,n,r,o,s,a,c,l){super(e,t,n,r,o,s,a,c,l),this.needsUpdate=!0}};yw.prototype.isCanvasTexture=!0;var xw=class extends Wi{constructor(e,t,n,r,o,s,a,c,l,d){if(d=d!==void 0?d:Kd,d!==Kd&&d!==Dp)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");n===void 0&&d===Kd&&(n=Hg),n===void 0&&d===Dp&&(n=Ip),super(null,r,o,s,a,c,d,n,l),this.image={width:e,height:t},this.magFilter=a!==void 0?a:Pi,this.minFilter=c!==void 0?c:Pi,this.flipY=!1,this.generateMipmaps=!1}};xw.prototype.isDepthTexture=!0;var n_=class i extends Dt{constructor(e=1,t=8,n=0,r=Math.PI*2){super(),this.type="CircleGeometry",this.parameters={radius:e,segments:t,thetaStart:n,thetaLength:r},t=Math.max(3,t);let o=[],s=[],a=[],c=[],l=new O,d=new we;s.push(0,0,0),a.push(0,0,1),c.push(.5,.5);for(let u=0,h=3;u<=t;u++,h+=3){let p=n+u/t*r;l.x=e*Math.cos(p),l.y=e*Math.sin(p),s.push(l.x,l.y,l.z),a.push(0,0,1),d.x=(s[h]/e+1)/2,d.y=(s[h+1]/e+1)/2,c.push(d.x,d.y)}for(let u=1;u<=t;u++)o.push(u,u+1,0);this.setIndex(o),this.setAttribute("position",new ot(s,3)),this.setAttribute("normal",new ot(a,3)),this.setAttribute("uv",new ot(c,2))}static fromJSON(e){return new i(e.radius,e.segments,e.thetaStart,e.thetaLength)}},au=class i extends Dt{constructor(e=1,t=1,n=1,r=8,o=1,s=!1,a=0,c=Math.PI*2){super(),this.type="CylinderGeometry",this.parameters={radiusTop:e,radiusBottom:t,height:n,radialSegments:r,heightSegments:o,openEnded:s,thetaStart:a,thetaLength:c};let l=this;r=Math.floor(r),o=Math.floor(o);let d=[],u=[],h=[],p=[],f=0,m=[],y=n/2,g=0;_(),s===!1&&(e>0&&x(!0),t>0&&x(!1)),this.setIndex(d),this.setAttribute("position",new ot(u,3)),this.setAttribute("normal",new ot(h,3)),this.setAttribute("uv",new ot(p,2));function _(){let C=new O,T=new O,D=0,E=(t-e)/n;for(let A=0;A<=o;A++){let j=[],q=A/o,z=q*(t-e)+e;for(let P=0;P<=r;P++){let U=P/r,W=U*c+a,Y=Math.sin(W),k=Math.cos(W);T.x=z*Y,T.y=-q*n+y,T.z=z*k,u.push(T.x,T.y,T.z),C.set(Y,E,k).normalize(),h.push(C.x,C.y,C.z),p.push(U,1-q),j.push(f++)}m.push(j)}for(let A=0;A.9&&E<.1&&(x<.2&&(s[_+0]+=1),C<.2&&(s[_+2]+=1),T<.2&&(s[_+4]+=1))}}function h(_){o.push(_.x,_.y,_.z)}function p(_,x){let C=_*3;x.x=e[C+0],x.y=e[C+1],x.z=e[C+2]}function f(){let _=new O,x=new O,C=new O,T=new O,D=new we,E=new we,A=new we;for(let j=0,q=0;j0)c=r-1;else{c=r;break}if(r=c,n[r]===s)return r/(o-1);let d=n[r],h=n[r+1]-d,p=(s-d)/h;return(r+p)/(o-1)}getTangent(e,t){let r=e-1e-4,o=e+1e-4;r<0&&(r=0),o>1&&(o=1);let s=this.getPoint(r),a=this.getPoint(o),c=t||(s.isVector2?new we:new O);return c.copy(a).sub(s).normalize(),c}getTangentAt(e,t){let n=this.getUtoTmapping(e);return this.getTangent(n,t)}computeFrenetFrames(e,t){let n=new O,r=[],o=[],s=[],a=new O,c=new dt;for(let p=0;p<=e;p++){let f=p/e;r[p]=this.getTangentAt(f,new O)}o[0]=new O,s[0]=new O;let l=Number.MAX_VALUE,d=Math.abs(r[0].x),u=Math.abs(r[0].y),h=Math.abs(r[0].z);d<=l&&(l=d,n.set(1,0,0)),u<=l&&(l=u,n.set(0,1,0)),h<=l&&n.set(0,0,1),a.crossVectors(r[0],n).normalize(),o[0].crossVectors(r[0],a),s[0].crossVectors(r[0],o[0]);for(let p=1;p<=e;p++){if(o[p]=o[p-1].clone(),s[p]=s[p-1].clone(),a.crossVectors(r[p-1],r[p]),a.length()>Number.EPSILON){a.normalize();let f=Math.acos(rr(r[p-1].dot(r[p]),-1,1));o[p].applyMatrix4(c.makeRotationAxis(a,f))}s[p].crossVectors(r[p],o[p])}if(t===!0){let p=Math.acos(rr(o[0].dot(o[e]),-1,1));p/=e,r[0].dot(a.crossVectors(o[0],o[e]))>0&&(p=-p);for(let f=1;f<=e;f++)o[f].applyMatrix4(c.makeRotationAxis(r[f],p*f)),s[f].crossVectors(r[f],o[f])}return{tangents:r,normals:o,binormals:s}}clone(){return new this.constructor().copy(this)}copy(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}toJSON(){let e={metadata:{version:4.5,type:"Curve",generator:"Curve.toJSON"}};return e.arcLengthDivisions=this.arcLengthDivisions,e.type=this.type,e}fromJSON(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}},cu=class extends Xr{constructor(e=0,t=0,n=1,r=1,o=0,s=Math.PI*2,a=!1,c=0){super(),this.type="EllipseCurve",this.aX=e,this.aY=t,this.xRadius=n,this.yRadius=r,this.aStartAngle=o,this.aEndAngle=s,this.aClockwise=a,this.aRotation=c}getPoint(e,t){let n=t||new we,r=Math.PI*2,o=this.aEndAngle-this.aStartAngle,s=Math.abs(o)r;)o-=r;o0?0:(Math.floor(Math.abs(a)/o)+1)*o:c===0&&a===o-1&&(a=o-2,c=1);let l,d;this.closed||a>0?l=r[(a-1)%o]:($x.subVectors(r[0],r[1]).add(r[0]),l=$x);let u=r[a%o],h=r[(a+1)%o];if(this.closed||a+2r.length-2?r.length-1:s+1],u=r[s>r.length-3?r.length-1:s+2];return n.set(bU(a,c.x,l.x,d.x,u.x),bU(a,c.y,l.y,d.y,u.y)),n}copy(e){super.copy(e),this.points=[];for(let t=0,n=e.points.length;t=n){let s=r[o]-n,a=this.curves[o],c=a.getLength(),l=c===0?0:1-s/c;return a.getPointAt(l,t)}o++}return null}getLength(){let e=this.getCurveLengths();return e[e.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;let e=[],t=0;for(let n=0,r=this.curves.length;n1&&!t[t.length-1].equals(t[0])&&t.push(t[0]),t}copy(e){super.copy(e),this.curves=[];for(let t=0,n=e.curves.length;t0){let u=l.getPoint(0);u.equals(this.currentPoint)||this.lineTo(u.x,u.y)}this.curves.push(l);let d=l.getPoint(1);return this.currentPoint.copy(d),this}copy(e){return super.copy(e),this.currentPoint.copy(e.currentPoint),this}toJSON(){let e=super.toJSON();return e.currentPoint=this.currentPoint.toArray(),e}fromJSON(e){return super.fromJSON(e),this.currentPoint.fromArray(e.currentPoint),this}},Zo=class extends du{constructor(e){super(e),this.uuid=Co(),this.type="Shape",this.holes=[]}getPointsHoles(e){let t=[];for(let n=0,r=this.holes.length;n80*t){a=l=i[0],c=d=i[1];for(let f=t;fl&&(l=u),h>d&&(d=h);p=Math.max(l-a,d-c),p=p!==0?1/p:0}return l_(o,s,t,a,c,p),s}};function BH(i,e,t,n,r){let o,s;if(r===ice(i,e,t,n)>0)for(o=e;o=e;o-=n)s=yU(o,i[o],i[o+1],s);return s&&iC(s,s.next)&&(u_(s),s=s.next),s}function gl(i,e){if(!i)return i;e||(e=i);let t=i,n;do if(n=!1,!t.steiner&&(iC(t,t.next)||ii(t.prev,t,t.next)===0)){if(u_(t),t=e=t.prev,t===t.next)break;n=!0}else t=t.next;while(n||t!==e);return e}function l_(i,e,t,n,r,o,s){if(!i)return;!s&&o&&Qae(i,n,r,o);let a=i,c,l;for(;i.prev!==i.next;){if(c=i.prev,l=i.next,o?Gae(i,n,r,o):Hae(i)){e.push(c.i/t),e.push(i.i/t),e.push(l.i/t),u_(i),i=l.next,a=l.next;continue}if(i=l,i===a){s?s===1?(i=jae(gl(i),e,t),l_(i,e,t,n,r,o,2)):s===2&&Wae(i,e,t,n,r,o):l_(gl(i),e,t,n,r,o,1);break}}}function Hae(i){let e=i.prev,t=i,n=i.next;if(ii(e,t,n)>=0)return!1;let r=i.next.next;for(;r!==i.prev;){if(Mp(e.x,e.y,t.x,t.y,n.x,n.y,r.x,r.y)&&ii(r.prev,r,r.next)>=0)return!1;r=r.next}return!0}function Gae(i,e,t,n){let r=i.prev,o=i,s=i.next;if(ii(r,o,s)>=0)return!1;let a=r.xo.x?r.x>s.x?r.x:s.x:o.x>s.x?o.x:s.x,d=r.y>o.y?r.y>s.y?r.y:s.y:o.y>s.y?o.y:s.y,u=vP(a,c,e,t,n),h=vP(l,d,e,t,n),p=i.prevZ,f=i.nextZ;for(;p&&p.z>=u&&f&&f.z<=h;){if(p!==i.prev&&p!==i.next&&Mp(r.x,r.y,o.x,o.y,s.x,s.y,p.x,p.y)&&ii(p.prev,p,p.next)>=0||(p=p.prevZ,f!==i.prev&&f!==i.next&&Mp(r.x,r.y,o.x,o.y,s.x,s.y,f.x,f.y)&&ii(f.prev,f,f.next)>=0))return!1;f=f.nextZ}for(;p&&p.z>=u;){if(p!==i.prev&&p!==i.next&&Mp(r.x,r.y,o.x,o.y,s.x,s.y,p.x,p.y)&&ii(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;f&&f.z<=h;){if(f!==i.prev&&f!==i.next&&Mp(r.x,r.y,o.x,o.y,s.x,s.y,f.x,f.y)&&ii(f.prev,f,f.next)>=0)return!1;f=f.nextZ}return!0}function jae(i,e,t){let n=i;do{let r=n.prev,o=n.next.next;!iC(r,o)&&VH(r,n,n.next,o)&&d_(r,o)&&d_(o,r)&&(e.push(r.i/t),e.push(n.i/t),e.push(o.i/t),u_(n),u_(n.next),n=i=o),n=n.next}while(n!==i);return gl(n)}function Wae(i,e,t,n,r,o){let s=i;do{let a=s.next.next;for(;a!==s.prev;){if(s.i!==a.i&&ece(s,a)){let c=zH(s,a);s=gl(s,s.next),c=gl(c,c.next),l_(s,e,t,n,r,o),l_(c,e,t,n,r,o);return}a=a.next}s=s.next}while(s!==i)}function $ae(i,e,t,n){let r=[],o,s,a,c,l;for(o=0,s=e.length;o=t.next.y&&t.next.y!==t.y){let h=t.x+(r-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(h<=n&&h>o){if(o=h,h===n){if(r===t.y)return t;if(r===t.next.y)return t.next}s=t.x=t.x&&t.x>=c&&n!==t.x&&Mp(rs.x||t.x===s.x&&Zae(s,t)))&&(s=t,d=u)),t=t.next;while(t!==a);return s}function Zae(i,e){return ii(i.prev,i,e.prev)<0&&ii(e.next,i,i.next)<0}function Qae(i,e,t,n){let r=i;do r.z===null&&(r.z=vP(r.x,r.y,e,t,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next;while(r!==i);r.prevZ.nextZ=null,r.prevZ=null,Kae(r)}function Kae(i){let e,t,n,r,o,s,a,c,l=1;do{for(t=i,i=null,o=null,s=0;t;){for(s++,n=t,a=0,e=0;e0||c>0&&n;)a!==0&&(c===0||!n||t.z<=n.z)?(r=t,t=t.nextZ,a--):(r=n,n=n.nextZ,c--),o?o.nextZ=r:i=r,r.prevZ=o,o=r;t=n}o.nextZ=null,l*=2}while(s>1);return i}function vP(i,e,t,n,r){return i=32767*(i-t)*r,e=32767*(e-n)*r,i=(i|i<<8)&16711935,i=(i|i<<4)&252645135,i=(i|i<<2)&858993459,i=(i|i<<1)&1431655765,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,i|e<<1}function Jae(i){let e=i,t=i;do(e.x=0&&(i-s)*(n-a)-(t-s)*(e-a)>=0&&(t-s)*(o-a)-(r-s)*(n-a)>=0}function ece(i,e){return i.next.i!==e.i&&i.prev.i!==e.i&&!tce(i,e)&&(d_(i,e)&&d_(e,i)&&nce(i,e)&&(ii(i.prev,i,e.prev)||ii(i,e.prev,e))||iC(i,e)&&ii(i.prev,i,i.next)>0&&ii(e.prev,e,e.next)>0)}function ii(i,e,t){return(e.y-i.y)*(t.x-e.x)-(e.x-i.x)*(t.y-e.y)}function iC(i,e){return i.x===e.x&&i.y===e.y}function VH(i,e,t,n){let r=Yx(ii(i,e,t)),o=Yx(ii(i,e,n)),s=Yx(ii(t,n,i)),a=Yx(ii(t,n,e));return!!(r!==o&&s!==a||r===0&&qx(i,t,e)||o===0&&qx(i,n,e)||s===0&&qx(t,i,n)||a===0&&qx(t,e,n))}function qx(i,e,t){return e.x<=Math.max(i.x,t.x)&&e.x>=Math.min(i.x,t.x)&&e.y<=Math.max(i.y,t.y)&&e.y>=Math.min(i.y,t.y)}function Yx(i){return i>0?1:i<0?-1:0}function tce(i,e){let t=i;do{if(t.i!==i.i&&t.next.i!==i.i&&t.i!==e.i&&t.next.i!==e.i&&VH(t,t.next,i,e))return!0;t=t.next}while(t!==i);return!1}function d_(i,e){return ii(i.prev,i,i.next)<0?ii(i,e,i.next)>=0&&ii(i,i.prev,e)>=0:ii(i,e,i.prev)<0||ii(i,i.next,e)<0}function nce(i,e){let t=i,n=!1,r=(i.x+e.x)/2,o=(i.y+e.y)/2;do t.y>o!=t.next.y>o&&t.next.y!==t.y&&r<(t.next.x-t.x)*(o-t.y)/(t.next.y-t.y)+t.x&&(n=!n),t=t.next;while(t!==i);return n}function zH(i,e){let t=new bP(i.i,i.x,i.y),n=new bP(e.i,e.x,e.y),r=i.next,o=e.prev;return i.next=e,e.prev=i,t.next=r,r.prev=t,n.next=t,t.prev=n,o.next=n,n.prev=o,n}function yU(i,e,t,n){let r=new bP(i,e,t);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r}function u_(i){i.next.prev=i.prev,i.prev.next=i.next,i.prevZ&&(i.prevZ.nextZ=i.nextZ),i.nextZ&&(i.nextZ.prevZ=i.prevZ)}function bP(i,e,t){this.i=i,this.x=e,this.y=t,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function ice(i,e,t,n){let r=0;for(let o=e,s=t-n;o2&&i[e-1].equals(i[0])&&i.pop()}function wU(i,e){for(let t=0;tNumber.EPSILON){let bt=Math.sqrt(nt),Vt=Math.sqrt(ke*ke+Le*Le),gt=Pe.x-ge/bt,Q=Pe.y+N/bt,$e=Be.x-Le/Vt,Me=Be.y+ke/Vt,_t=(($e-gt)*Le-(Me-Q)*ke)/(N*Le-ge*ke);mt=gt+N*_t-_e.x,We=Q+ge*_t-_e.y;let ut=mt*mt+We*We;if(ut<=2)return new we(mt,We);F=Math.sqrt(ut/2)}else{let bt=!1;N>Number.EPSILON?ke>Number.EPSILON&&(bt=!0):N<-Number.EPSILON?ke<-Number.EPSILON&&(bt=!0):Math.sign(ge)===Math.sign(Le)&&(bt=!0),bt?(mt=-ge,We=N,F=Math.sqrt(nt)):(mt=N,We=ge,F=Math.sqrt(nt/2))}return new we(mt/F,We/F)}let de=[];for(let _e=0,Pe=W.length,Be=Pe-1,mt=_e+1;_e=0;_e--){let Pe=_e/y,Be=p*Math.cos(Pe*Math.PI/2),mt=f*Math.sin(Pe*Math.PI/2)+m;for(let We=0,F=W.length;We=0;){let mt=Be,We=Be-1;We<0&&(We=_e.length-1);for(let F=0,N=d+y*2;F0)&&p.push(x,C,D),(g!==n-1||c0!=e>0&&this.version++,this._sheen=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.ior=e.ior,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}};x_.prototype.isMeshPhysicalMaterial=!0;var w_=class extends Oi{constructor(e){super(),this.type="MeshPhongMaterial",this.color=new je(16777215),this.specular=new je(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new je(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=yu,this.normalScale=new we(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=U_,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.specular.copy(e.specular),this.shininess=e.shininess,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this}};w_.prototype.isMeshPhongMaterial=!0;var C_=class extends Oi{constructor(e){super(),this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new je(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new je(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=yu,this.normalScale=new we(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.gradientMap=e.gradientMap,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this}};C_.prototype.isMeshToonMaterial=!0;var S_=class extends Oi{constructor(e){super(),this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=yu,this.normalScale=new we(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.flatShading=!1,this.setValues(e)}copy(e){return super.copy(e),this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.flatShading=e.flatShading,this}};S_.prototype.isMeshNormalMaterial=!0;var M_=class extends Oi{constructor(e){super(),this.type="MeshLambertMaterial",this.color=new je(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new je(0),this.emissiveIntensity=1,this.emissiveMap=null,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=U_,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this}};M_.prototype.isMeshLambertMaterial=!0;var E_=class extends Oi{constructor(e){super(),this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new je(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=yu,this.normalScale=new we(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.flatShading=!1,this.setValues(e)}copy(e){return super.copy(e),this.defines={MATCAP:""},this.color.copy(e.color),this.matcap=e.matcap,this.map=e.map,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.flatShading=e.flatShading,this}};E_.prototype.isMeshMatcapMaterial=!0;var I_=class extends Ri{constructor(e){super(),this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(e)}copy(e){return super.copy(e),this.scale=e.scale,this.dashSize=e.dashSize,this.gapSize=e.gapSize,this}};I_.prototype.isLineDashedMaterial=!0;var ace=Object.freeze({__proto__:null,ShadowMaterial:y_,SpriteMaterial:Hp,RawShaderMaterial:pl,ShaderMaterial:Cs,PointsMaterial:ic,MeshPhysicalMaterial:x_,MeshStandardMaterial:Jp,MeshPhongMaterial:w_,MeshToonMaterial:C_,MeshNormalMaterial:S_,MeshLambertMaterial:M_,MeshDepthMaterial:Vp,MeshDistanceMaterial:zp,MeshBasicMaterial:ws,MeshMatcapMaterial:E_,LineDashedMaterial:I_,LineBasicMaterial:Ri,Material:Oi}),Kn={arraySlice:function(i,e,t){return Kn.isTypedArray(i)?new i.constructor(i.subarray(e,t!==void 0?t:i.length)):i.slice(e,t)},convertArray:function(i,e,t){return!i||!t&&i.constructor===e?i:typeof e.BYTES_PER_ELEMENT=="number"?new e(i):Array.prototype.slice.call(i)},isTypedArray:function(i){return ArrayBuffer.isView(i)&&!(i instanceof DataView)},getKeyframeOrder:function(i){function e(r,o){return i[r]-i[o]}let t=i.length,n=new Array(t);for(let r=0;r!==t;++r)n[r]=r;return n.sort(e),n},sortedArray:function(i,e,t){let n=i.length,r=new i.constructor(n);for(let o=0,s=0;s!==n;++o){let a=t[o]*e;for(let c=0;c!==e;++c)r[s++]=i[a+c]}return r},flattenJSON:function(i,e,t,n){let r=1,o=i[0];for(;o!==void 0&&o[n]===void 0;)o=i[r++];if(o===void 0)return;let s=o[n];if(s!==void 0)if(Array.isArray(s))do s=o[n],s!==void 0&&(e.push(o.time),t.push.apply(t,s)),o=i[r++];while(o!==void 0);else if(s.toArray!==void 0)do s=o[n],s!==void 0&&(e.push(o.time),s.toArray(t,t.length)),o=i[r++];while(o!==void 0);else do s=o[n],s!==void 0&&(e.push(o.time),t.push(s)),o=i[r++];while(o!==void 0)},subclip:function(i,e,t,n,r=30){let o=i.clone();o.name=e;let s=[];for(let c=0;c=n)){u.push(l.times[p]);for(let m=0;mo.tracks[c].times[0]&&(a=o.tracks[c].times[0]);for(let c=0;c=a.times[f]){let g=f*u+d,_=g+u-d;m=Kn.arraySlice(a.values,g,_)}else{let g=a.createInterpolant(),_=d,x=u-d;g.evaluate(o),m=Kn.arraySlice(g.resultBuffer,_,x)}c==="quaternion"&&new Ui().fromArray(m).normalize().conjugate().toArray(m);let y=l.times.length;for(let g=0;g=o)){let a=t[1];e=o)break t}s=n,n=0;break n}break e}for(;n>>1;et;)--s;if(++s,o!==0||s!==r){o>=s&&(s=Math.max(s,1),o=s-1);let a=this.getValueSize();this.times=Kn.arraySlice(n,o,s),this.values=Kn.arraySlice(this.values,o*a,s*a)}return this}validate(){let e=!0,t=this.getValueSize();t-Math.floor(t)!==0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),e=!1);let n=this.times,r=this.values,o=n.length;o===0&&(console.error("THREE.KeyframeTrack: Track is empty.",this),e=!1);let s=null;for(let a=0;a!==o;a++){let c=n[a];if(typeof c=="number"&&isNaN(c)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,a,c),e=!1;break}if(s!==null&&s>c){console.error("THREE.KeyframeTrack: Out of order keys.",this,a,c,s),e=!1;break}s=c}if(r!==void 0&&Kn.isTypedArray(r))for(let a=0,c=r.length;a!==c;++a){let l=r[a];if(isNaN(l)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,a,l),e=!1;break}}return e}optimize(){let e=Kn.arraySlice(this.times),t=Kn.arraySlice(this.values),n=this.getValueSize(),r=this.getInterpolation()===nw,o=e.length-1,s=1;for(let a=1;a0){e[s]=e[o];for(let a=o*n,c=s*n,l=0;l!==n;++l)t[c+l]=t[a+l];++s}return s!==e.length?(this.times=Kn.arraySlice(e,0,s),this.values=Kn.arraySlice(t,0,s*n)):(this.times=e,this.values=t),this}clone(){let e=Kn.arraySlice(this.times,0),t=Kn.arraySlice(this.values,0),n=this.constructor,r=new n(this.name,e,t);return r.createInterpolant=this.createInterpolant,r}};Mo.prototype.TimeBufferType=Float32Array;Mo.prototype.ValueBufferType=Float32Array;Mo.prototype.DefaultInterpolation=jg;var sc=class extends Mo{};sc.prototype.ValueTypeName="bool";sc.prototype.ValueBufferType=Array;sc.prototype.DefaultInterpolation=Gg;sc.prototype.InterpolantFactoryMethodLinear=void 0;sc.prototype.InterpolantFactoryMethodSmooth=void 0;var D_=class extends Mo{};D_.prototype.ValueTypeName="color";var uu=class extends Mo{};uu.prototype.ValueTypeName="number";var Ew=class extends Ms{constructor(e,t,n,r){super(e,t,n,r)}interpolate_(e,t,n,r){let o=this.resultBuffer,s=this.sampleValues,a=this.valueSize,c=(n-t)/(r-t),l=e*a;for(let d=l+a;l!==d;l+=4)Ui.slerpFlat(o,0,s,l-a,s,l,c);return o}},_l=class extends Mo{InterpolantFactoryMethodLinear(e){return new Ew(this.times,this.values,this.getValueSize(),e)}};_l.prototype.ValueTypeName="quaternion";_l.prototype.DefaultInterpolation=jg;_l.prototype.InterpolantFactoryMethodSmooth=void 0;var ac=class extends Mo{};ac.prototype.ValueTypeName="string";ac.prototype.ValueBufferType=Array;ac.prototype.DefaultInterpolation=Gg;ac.prototype.InterpolantFactoryMethodLinear=void 0;ac.prototype.InterpolantFactoryMethodSmooth=void 0;var hu=class extends Mo{};hu.prototype.ValueTypeName="vector";var pu=class{constructor(e,t=-1,n,r=Jw){this.name=e,this.tracks=n,this.duration=t,this.blendMode=r,this.uuid=Co(),this.duration<0&&this.resetDuration()}static parse(e){let t=[],n=e.tracks,r=1/(e.fps||1);for(let s=0,a=n.length;s!==a;++s)t.push(lce(n[s]).scale(r));let o=new this(e.name,e.duration,t,e.blendMode);return o.uuid=e.uuid,o}static toJSON(e){let t=[],n=e.tracks,r={name:e.name,duration:e.duration,tracks:t,uuid:e.uuid,blendMode:e.blendMode};for(let o=0,s=n.length;o!==s;++o)t.push(Mo.toJSON(n[o]));return r}static CreateFromMorphTargetSequence(e,t,n,r){let o=t.length,s=[];for(let a=0;a1){let u=d[1],h=r[u];h||(r[u]=h=[]),h.push(l)}}let s=[];for(let a in r)s.push(this.CreateFromMorphTargetSequence(a,r[a],t,n));return s}static parseAnimation(e,t){if(!e)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;let n=function(u,h,p,f,m){if(p.length!==0){let y=[],g=[];Kn.flattenJSON(p,y,g,f),y.length!==0&&m.push(new u(h,y,g))}},r=[],o=e.name||"default",s=e.fps||30,a=e.blendMode,c=e.length||-1,l=e.hierarchy||[];for(let u=0;u{t&&t(o),this.manager.itemEnd(e)},0),o;if(Xa[e]!==void 0){Xa[e].push({onLoad:t,onProgress:n,onError:r});return}Xa[e]=[],Xa[e].push({onLoad:t,onProgress:n,onError:r});let s=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"});fetch(s).then(a=>{if(a.status===200||a.status===0){a.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received.");let c=Xa[e],l=a.body.getReader(),d=a.headers.get("Content-Length"),u=d?parseInt(d):0,h=u!==0,p=0;return new ReadableStream({start(f){m();function m(){l.read().then(({done:y,value:g})=>{if(y)f.close();else{p+=g.byteLength;let _=new ProgressEvent("progress",{lengthComputable:h,loaded:p,total:u});for(let x=0,C=c.length;x{let c=new Response(a);switch(this.responseType){case"arraybuffer":return c.arrayBuffer();case"blob":return c.blob();case"document":return c.text().then(l=>new DOMParser().parseFromString(l,this.mimeType));case"json":return c.json();default:return c.text()}}).then(a=>{fu.add(e,a);let c=Xa[e];delete Xa[e];for(let l=0,d=c.length;l{let c=Xa[e];delete Xa[e];for(let l=0,d=c.length;l0:r.vertexColors=e.vertexColors),e.uniforms!==void 0)for(let o in e.uniforms){let s=e.uniforms[o];switch(r.uniforms[o]={},s.type){case"t":r.uniforms[o].value=n(s.value);break;case"c":r.uniforms[o].value=new je().setHex(s.value);break;case"v2":r.uniforms[o].value=new we().fromArray(s.value);break;case"v3":r.uniforms[o].value=new O().fromArray(s.value);break;case"v4":r.uniforms[o].value=new Sn().fromArray(s.value);break;case"m3":r.uniforms[o].value=new Si().fromArray(s.value);break;case"m4":r.uniforms[o].value=new dt().fromArray(s.value);break;default:r.uniforms[o].value=s.value}}if(e.defines!==void 0&&(r.defines=e.defines),e.vertexShader!==void 0&&(r.vertexShader=e.vertexShader),e.fragmentShader!==void 0&&(r.fragmentShader=e.fragmentShader),e.extensions!==void 0)for(let o in e.extensions)r.extensions[o]=e.extensions[o];if(e.shading!==void 0&&(r.flatShading=e.shading===1),e.size!==void 0&&(r.size=e.size),e.sizeAttenuation!==void 0&&(r.sizeAttenuation=e.sizeAttenuation),e.map!==void 0&&(r.map=n(e.map)),e.matcap!==void 0&&(r.matcap=n(e.matcap)),e.alphaMap!==void 0&&(r.alphaMap=n(e.alphaMap)),e.bumpMap!==void 0&&(r.bumpMap=n(e.bumpMap)),e.bumpScale!==void 0&&(r.bumpScale=e.bumpScale),e.normalMap!==void 0&&(r.normalMap=n(e.normalMap)),e.normalMapType!==void 0&&(r.normalMapType=e.normalMapType),e.normalScale!==void 0){let o=e.normalScale;Array.isArray(o)===!1&&(o=[o,o]),r.normalScale=new we().fromArray(o)}return e.displacementMap!==void 0&&(r.displacementMap=n(e.displacementMap)),e.displacementScale!==void 0&&(r.displacementScale=e.displacementScale),e.displacementBias!==void 0&&(r.displacementBias=e.displacementBias),e.roughnessMap!==void 0&&(r.roughnessMap=n(e.roughnessMap)),e.metalnessMap!==void 0&&(r.metalnessMap=n(e.metalnessMap)),e.emissiveMap!==void 0&&(r.emissiveMap=n(e.emissiveMap)),e.emissiveIntensity!==void 0&&(r.emissiveIntensity=e.emissiveIntensity),e.specularMap!==void 0&&(r.specularMap=n(e.specularMap)),e.specularIntensityMap!==void 0&&(r.specularIntensityMap=n(e.specularIntensityMap)),e.specularColorMap!==void 0&&(r.specularColorMap=n(e.specularColorMap)),e.envMap!==void 0&&(r.envMap=n(e.envMap)),e.envMapIntensity!==void 0&&(r.envMapIntensity=e.envMapIntensity),e.reflectivity!==void 0&&(r.reflectivity=e.reflectivity),e.refractionRatio!==void 0&&(r.refractionRatio=e.refractionRatio),e.lightMap!==void 0&&(r.lightMap=n(e.lightMap)),e.lightMapIntensity!==void 0&&(r.lightMapIntensity=e.lightMapIntensity),e.aoMap!==void 0&&(r.aoMap=n(e.aoMap)),e.aoMapIntensity!==void 0&&(r.aoMapIntensity=e.aoMapIntensity),e.gradientMap!==void 0&&(r.gradientMap=n(e.gradientMap)),e.clearcoatMap!==void 0&&(r.clearcoatMap=n(e.clearcoatMap)),e.clearcoatRoughnessMap!==void 0&&(r.clearcoatRoughnessMap=n(e.clearcoatRoughnessMap)),e.clearcoatNormalMap!==void 0&&(r.clearcoatNormalMap=n(e.clearcoatNormalMap)),e.clearcoatNormalScale!==void 0&&(r.clearcoatNormalScale=new we().fromArray(e.clearcoatNormalScale)),e.transmissionMap!==void 0&&(r.transmissionMap=n(e.transmissionMap)),e.thicknessMap!==void 0&&(r.thicknessMap=n(e.thicknessMap)),e.sheenColorMap!==void 0&&(r.sheenColorMap=n(e.sheenColorMap)),e.sheenRoughnessMap!==void 0&&(r.sheenRoughnessMap=n(e.sheenRoughnessMap)),r}setTextures(e){return this.textures=e,this}},ef=class{static decodeText(e){if(typeof TextDecoder<"u")return new TextDecoder().decode(e);let t="";for(let n=0,r=e.length;n0){let c=new P_(t);o=new mu(c),o.setCrossOrigin(this.crossOrigin);for(let l=0,d=e.length;l0){r=new mu(this.manager),r.setCrossOrigin(this.crossOrigin);for(let s=0,a=e.length;s"u"&&console.warn("THREE.ImageBitmapLoader: createImageBitmap() not supported."),typeof fetch>"u"&&console.warn("THREE.ImageBitmapLoader: fetch() not supported."),this.options={premultiplyAlpha:"none"}}setOptions(e){return this.options=e,this}load(e,t,n,r){e===void 0&&(e=""),this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);let o=this,s=fu.get(e);if(s!==void 0)return o.manager.itemStart(e),setTimeout(function(){t&&t(s),o.manager.itemEnd(e)},0),s;let a={};a.credentials=this.crossOrigin==="anonymous"?"same-origin":"include",a.headers=this.requestHeader,fetch(e,a).then(function(c){return c.blob()}).then(function(c){return createImageBitmap(c,Object.assign(o.options,{colorSpaceConversion:"none"}))}).then(function(c){fu.add(e,c),t&&t(c),o.manager.itemEnd(e)}).catch(function(c){r&&r(c),o.manager.itemError(e),o.manager.itemEnd(e)}),o.manager.itemStart(e)}};kw.prototype.isImageBitmapLoader=!0;var Xx,rO={getContext:function(){return Xx===void 0&&(Xx=new(window.AudioContext||window.webkitAudioContext)),Xx},setContext:function(i){Xx=i}},Lw=class extends lr{constructor(e){super(e)}load(e,t,n,r){let o=this,s=new Qo(this.manager);s.setResponseType("arraybuffer"),s.setPath(this.path),s.setRequestHeader(this.requestHeader),s.setWithCredentials(this.withCredentials),s.load(e,function(a){try{let c=a.slice(0);rO.getContext().decodeAudioData(c,function(d){t(d)})}catch(c){r?r(c):console.error(c),o.manager.itemError(e)}},n,r)}},Fw=class extends gu{constructor(e,t,n=1){super(void 0,n);let r=new je().set(e),o=new je().set(t),s=new O(r.r,r.g,r.b),a=new O(o.r,o.g,o.b),c=Math.sqrt(Math.PI),l=c*Math.sqrt(.75);this.sh.coefficients[0].copy(s).add(a).multiplyScalar(c),this.sh.coefficients[1].copy(s).sub(a).multiplyScalar(l)}};Fw.prototype.isHemisphereLightProbe=!0;var Bw=class extends gu{constructor(e,t=1){super(void 0,t);let n=new je().set(e);this.sh.coefficients[0].set(n.r,n.g,n.b).multiplyScalar(2*Math.sqrt(Math.PI))}};Bw.prototype.isAmbientLightProbe=!0;var OU=new dt,RU=new dt,CP=class{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new Di,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new Di,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}}update(e){let t=this._cache;if(t.focus!==e.focus||t.fov!==e.fov||t.aspect!==e.aspect*this.aspect||t.near!==e.near||t.far!==e.far||t.zoom!==e.zoom||t.eyeSep!==this.eyeSep){t.focus=e.focus,t.fov=e.fov,t.aspect=e.aspect*this.aspect,t.near=e.near,t.far=e.far,t.zoom=e.zoom,t.eyeSep=this.eyeSep;let r=e.projectionMatrix.clone(),o=t.eyeSep/2,s=o*t.near/t.focus,a=t.near*Math.tan(Jd*t.fov*.5)/t.zoom,c,l;RU.elements[12]=-o,OU.elements[12]=o,c=-a*t.aspect+s,l=a*t.aspect+s,r.elements[0]=2*t.near/(l-c),r.elements[8]=(l+c)/(l-c),this.cameraL.projectionMatrix.copy(r),c=-a*t.aspect-s,l=a*t.aspect-s,r.elements[0]=2*t.near/(l-c),r.elements[8]=(l+c)/(l-c),this.cameraR.projectionMatrix.copy(r)}this.cameraL.matrixWorld.copy(e.matrixWorld).multiply(RU),this.cameraR.matrixWorld.copy(e.matrixWorld).multiply(OU)}},Vw=class{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=AU(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}stop(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}getElapsedTime(){return this.getDelta(),this.elapsedTime}getDelta(){let e=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){let t=AU();e=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=e}return e}};function AU(){return(typeof performance>"u"?Date:performance).now()}var Hd=new O,NU=new Ui,uce=new O,Gd=new O,SP=class extends hn{constructor(){super(),this.type="AudioListener",this.context=rO.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new Vw}getInput(){return this.gain}removeFilter(){return this.filter!==null&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null),this}getFilter(){return this.filter}setFilter(e){return this.filter!==null?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=e,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this}getMasterVolume(){return this.gain.gain.value}setMasterVolume(e){return this.gain.gain.setTargetAtTime(e,this.context.currentTime,.01),this}updateMatrixWorld(e){super.updateMatrixWorld(e);let t=this.context.listener,n=this.up;if(this.timeDelta=this._clock.getDelta(),this.matrixWorld.decompose(Hd,NU,uce),Gd.set(0,0,-1).applyQuaternion(NU),t.positionX){let r=this.context.currentTime+this.timeDelta;t.positionX.linearRampToValueAtTime(Hd.x,r),t.positionY.linearRampToValueAtTime(Hd.y,r),t.positionZ.linearRampToValueAtTime(Hd.z,r),t.forwardX.linearRampToValueAtTime(Gd.x,r),t.forwardY.linearRampToValueAtTime(Gd.y,r),t.forwardZ.linearRampToValueAtTime(Gd.z,r),t.upX.linearRampToValueAtTime(n.x,r),t.upY.linearRampToValueAtTime(n.y,r),t.upZ.linearRampToValueAtTime(n.z,r)}else t.setPosition(Hd.x,Hd.y,Hd.z),t.setOrientation(Gd.x,Gd.y,Gd.z,n.x,n.y,n.z)}},z_=class extends hn{constructor(e){super(),this.type="Audio",this.listener=e,this.context=e.context,this.gain=this.context.createGain(),this.gain.connect(e.getInput()),this.autoplay=!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.source=null,this.sourceType="empty",this._startedAt=0,this._progress=0,this._connected=!1,this.filters=[]}getOutput(){return this.gain}setNodeSource(e){return this.hasPlaybackControl=!1,this.sourceType="audioNode",this.source=e,this.connect(),this}setMediaElementSource(e){return this.hasPlaybackControl=!1,this.sourceType="mediaNode",this.source=this.context.createMediaElementSource(e),this.connect(),this}setMediaStreamSource(e){return this.hasPlaybackControl=!1,this.sourceType="mediaStreamNode",this.source=this.context.createMediaStreamSource(e),this.connect(),this}setBuffer(e){return this.buffer=e,this.sourceType="buffer",this.autoplay&&this.play(),this}play(e=0){if(this.isPlaying===!0){console.warn("THREE.Audio: Audio is already playing.");return}if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}this._startedAt=this.context.currentTime+e;let t=this.context.createBufferSource();return t.buffer=this.buffer,t.loop=this.loop,t.loopStart=this.loopStart,t.loopEnd=this.loopEnd,t.onended=this.onEnded.bind(this),t.start(this._startedAt,this._progress+this.offset,this.duration),this.isPlaying=!0,this.source=t,this.setDetune(this.detune),this.setPlaybackRate(this.playbackRate),this.connect()}pause(){if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}return this.isPlaying===!0&&(this._progress+=Math.max(this.context.currentTime-this._startedAt,0)*this.playbackRate,this.loop===!0&&(this._progress=this._progress%(this.duration||this.buffer.duration)),this.source.stop(),this.source.onended=null,this.isPlaying=!1),this}stop(){if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}return this._progress=0,this.source.stop(),this.source.onended=null,this.isPlaying=!1,this}connect(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(let e=1,t=this.filters.length;e0){this.source.disconnect(this.filters[0]);for(let e=1,t=this.filters.length;e0&&this._mixBufferRegionAdditive(n,r,this._addIndex*t,1,t);for(let c=t,l=t+t;c!==l;++c)if(n[c]!==n[c+t]){a.setValue(n,r);break}}saveOriginalState(){let e=this.binding,t=this.buffer,n=this.valueSize,r=n*this._origIndex;e.getValue(t,r);for(let o=n,s=r;o!==s;++o)t[o]=t[r+o%n];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){let e=this.valueSize*3;this.binding.setValue(this.buffer,e)}_setAdditiveIdentityNumeric(){let e=this._addIndex*this.valueSize,t=e+this.valueSize;for(let n=e;n=.5)for(let s=0;s!==o;++s)e[t+s]=e[n+s]}_slerp(e,t,n,r){Ui.slerpFlat(e,t,e,t,e,n,r)}_slerpAdditive(e,t,n,r,o){let s=this._workIndex*o;Ui.multiplyQuaternionsFlat(e,s,e,t,e,n),Ui.slerpFlat(e,t,e,t,e,s,r)}_lerp(e,t,n,r,o){let s=1-r;for(let a=0;a!==o;++a){let c=t+a;e[c]=e[c]*s+e[n+a]*r}}_lerpAdditive(e,t,n,r,o){for(let s=0;s!==o;++s){let a=t+s;e[a]=e[a]+e[n+s]*r}}},oO="\\[\\]\\.:\\/",pce=new RegExp("["+oO+"]","g"),sO="[^"+oO+"]",fce="[^"+oO.replace("\\.","")+"]",mce=/((?:WC+[\/:])*)/.source.replace("WC",sO),gce=/(WCOD+)?/.source.replace("WCOD",fce),_ce=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",sO),vce=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",sO),bce=new RegExp("^"+mce+gce+_ce+vce+"$"),yce=["material","materials","bones"],EP=class{constructor(e,t,n){let r=n||qn.parseTrackName(t);this._targetGroup=e,this._bindings=e.subscribe_(t,r)}getValue(e,t){this.bind();let n=this._targetGroup.nCachedObjects_,r=this._bindings[n];r!==void 0&&r.getValue(e,t)}setValue(e,t){let n=this._bindings;for(let r=this._targetGroup.nCachedObjects_,o=n.length;r!==o;++r)n[r].setValue(e,t)}bind(){let e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].bind()}unbind(){let e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].unbind()}},qn=(()=>{class i{constructor(t,n,r){this.path=n,this.parsedPath=r||i.parseTrackName(n),this.node=i.findNode(t,this.parsedPath.nodeName)||t,this.rootNode=t,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(t,n,r){return t&&t.isAnimationObjectGroup?new i.Composite(t,n,r):new i(t,n,r)}static sanitizeNodeName(t){return t.replace(/\s/g,"_").replace(pce,"")}static parseTrackName(t){let n=bce.exec(t);if(!n)throw new Error("PropertyBinding: Cannot parse trackName: "+t);let r={nodeName:n[2],objectName:n[3],objectIndex:n[4],propertyName:n[5],propertyIndex:n[6]},o=r.nodeName&&r.nodeName.lastIndexOf(".");if(o!==void 0&&o!==-1){let s=r.nodeName.substring(o+1);yce.indexOf(s)!==-1&&(r.nodeName=r.nodeName.substring(0,o),r.objectName=s)}if(r.propertyName===null||r.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+t);return r}static findNode(t,n){if(!n||n===""||n==="."||n===-1||n===t.name||n===t.uuid)return t;if(t.skeleton){let r=t.skeleton.getBoneByName(n);if(r!==void 0)return r}if(t.children){let r=function(s){for(let a=0;a=o){let u=o++,h=e[u];t[h.uuid]=d,e[d]=h,t[l]=u,e[u]=c;for(let p=0,f=r;p!==f;++p){let m=n[p],y=m[u],g=m[d];m[d]=y,m[u]=g}}}this.nCachedObjects_=o}uncache(){let e=this._objects,t=this._indicesByUUID,n=this._bindings,r=n.length,o=this.nCachedObjects_,s=e.length;for(let a=0,c=arguments.length;a!==c;++a){let l=arguments[a],d=l.uuid,u=t[d];if(u!==void 0)if(delete t[d],u0&&(t[p.uuid]=u),e[u]=p,e.pop();for(let f=0,m=r;f!==m;++f){let y=n[f];y[u]=y[h],y.pop()}}}this.nCachedObjects_=o}subscribe_(e,t){let n=this._bindingsIndicesByPath,r=n[e],o=this._bindings;if(r!==void 0)return o[r];let s=this._paths,a=this._parsedPaths,c=this._objects,l=c.length,d=this.nCachedObjects_,u=new Array(l);r=o.length,n[e]=r,s.push(e),a.push(t),o.push(u);for(let h=d,p=c.length;h!==p;++h){let f=c[h];u[h]=new qn(f,e,t)}return u}unsubscribe_(e){let t=this._bindingsIndicesByPath,n=t[e];if(n!==void 0){let r=this._paths,o=this._parsedPaths,s=this._bindings,a=s.length-1,c=s[a],l=e[a];t[l]=n,s[n]=c,s.pop(),o[n]=o[a],o.pop(),r[n]=r[a],r.pop()}}};Hw.prototype.isAnimationObjectGroup=!0;var IP=class{constructor(e,t,n=null,r=t.blendMode){this._mixer=e,this._clip=t,this._localRoot=n,this.blendMode=r;let o=t.tracks,s=o.length,a=new Array(s),c={endingStart:Yd,endingEnd:Yd};for(let l=0;l!==s;++l){let d=o[l].createInterpolant(null);a[l]=d,d.settings=c}this._interpolantSettings=c,this._interpolants=a,this._propertyBindings=new Array(s),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=pH,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}play(){return this._mixer._activateAction(this),this}stop(){return this._mixer._deactivateAction(this),this.reset()}reset(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()}isRunning(){return this.enabled&&!this.paused&&this.timeScale!==0&&this._startTime===null&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(e){return this._startTime=e,this}setLoop(e,t){return this.loop=e,this.repetitions=t,this}setEffectiveWeight(e){return this.weight=e,this._effectiveWeight=this.enabled?e:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(e){return this._scheduleFading(e,0,1)}fadeOut(e){return this._scheduleFading(e,1,0)}crossFadeFrom(e,t,n){if(e.fadeOut(t),this.fadeIn(t),n){let r=this._clip.duration,o=e._clip.duration,s=o/r,a=r/o;e.warp(1,s,t),this.warp(a,1,t)}return this}crossFadeTo(e,t,n){return e.crossFadeFrom(this,t,n)}stopFading(){let e=this._weightInterpolant;return e!==null&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}setEffectiveTimeScale(e){return this.timeScale=e,this._effectiveTimeScale=this.paused?0:e,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(e){return this.timeScale=this._clip.duration/e,this.stopWarping()}syncWith(e){return this.time=e.time,this.timeScale=e.timeScale,this.stopWarping()}halt(e){return this.warp(this._effectiveTimeScale,0,e)}warp(e,t,n){let r=this._mixer,o=r.time,s=this.timeScale,a=this._timeScaleInterpolant;a===null&&(a=r._lendControlInterpolant(),this._timeScaleInterpolant=a);let c=a.parameterPositions,l=a.sampleValues;return c[0]=o,c[1]=o+n,l[0]=e/s,l[1]=t/s,this}stopWarping(){let e=this._timeScaleInterpolant;return e!==null&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(e,t,n,r){if(!this.enabled){this._updateWeight(e);return}let o=this._startTime;if(o!==null){let c=(e-o)*n;if(c<0||n===0)return;this._startTime=null,t=n*c}t*=this._updateTimeScale(e);let s=this._updateTime(t),a=this._updateWeight(e);if(a>0){let c=this._interpolants,l=this._propertyBindings;switch(this.blendMode){case XP:for(let d=0,u=c.length;d!==u;++d)c[d].evaluate(s),l[d].accumulateAdditive(a);break;case Jw:default:for(let d=0,u=c.length;d!==u;++d)c[d].evaluate(s),l[d].accumulate(r,a)}}}_updateWeight(e){let t=0;if(this.enabled){t=this.weight;let n=this._weightInterpolant;if(n!==null){let r=n.evaluate(e)[0];t*=r,e>n.parameterPositions[1]&&(this.stopFading(),r===0&&(this.enabled=!1))}}return this._effectiveWeight=t,t}_updateTimeScale(e){let t=0;if(!this.paused){t=this.timeScale;let n=this._timeScaleInterpolant;if(n!==null){let r=n.evaluate(e)[0];t*=r,e>n.parameterPositions[1]&&(this.stopWarping(),t===0?this.paused=!0:this.timeScale=t)}}return this._effectiveTimeScale=t,t}_updateTime(e){let t=this._clip.duration,n=this.loop,r=this.time+e,o=this._loopCount,s=n===fH;if(e===0)return o===-1?r:s&&(o&1)===1?t-r:r;if(n===hH){o===-1&&(this._loopCount=0,this._setEndings(!0,!0,!1));e:{if(r>=t)r=t;else if(r<0)r=0;else{this.time=r;break e}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=r,this._mixer.dispatchEvent({type:"finished",action:this,direction:e<0?-1:1})}}else{if(o===-1&&(e>=0?(o=0,this._setEndings(!0,this.repetitions===0,s)):this._setEndings(this.repetitions===0,!0,s)),r>=t||r<0){let a=Math.floor(r/t);r-=t*a,o+=Math.abs(a);let c=this.repetitions-o;if(c<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,r=e>0?t:0,this.time=r,this._mixer.dispatchEvent({type:"finished",action:this,direction:e>0?1:-1});else{if(c===1){let l=e<0;this._setEndings(l,!l,s)}else this._setEndings(!1,!1,s);this._loopCount=o,this.time=r,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:a})}}else this.time=r;if(s&&(o&1)===1)return t-r}return r}_setEndings(e,t,n){let r=this._interpolantSettings;n?(r.endingStart=Xd,r.endingEnd=Xd):(e?r.endingStart=this.zeroSlopeAtStart?Xd:Yd:r.endingStart=Wg,t?r.endingEnd=this.zeroSlopeAtEnd?Xd:Yd:r.endingEnd=Wg)}_scheduleFading(e,t,n){let r=this._mixer,o=r.time,s=this._weightInterpolant;s===null&&(s=r._lendControlInterpolant(),this._weightInterpolant=s);let a=s.parameterPositions,c=s.sampleValues;return a[0]=o,c[0]=t,a[1]=o+e,c[1]=n,this}},Gw=class extends sa{constructor(e){super(),this._root=e,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(e,t){let n=e._localRoot||this._root,r=e._clip.tracks,o=r.length,s=e._propertyBindings,a=e._interpolants,c=n.uuid,l=this._bindingsByRootAndName,d=l[c];d===void 0&&(d={},l[c]=d);for(let u=0;u!==o;++u){let h=r[u],p=h.name,f=d[p];if(f!==void 0)s[u]=f;else{if(f=s[u],f!==void 0){f._cacheIndex===null&&(++f.referenceCount,this._addInactiveBinding(f,c,p));continue}let m=t&&t._propertyBindings[u].binding.parsedPath;f=new Uw(qn.create(n,p,m),h.ValueTypeName,h.getValueSize()),++f.referenceCount,this._addInactiveBinding(f,c,p),s[u]=f}a[u].resultBuffer=f.buffer}}_activateAction(e){if(!this._isActiveAction(e)){if(e._cacheIndex===null){let n=(e._localRoot||this._root).uuid,r=e._clip.uuid,o=this._actionsByClip[r];this._bindAction(e,o&&o.knownActions[0]),this._addInactiveAction(e,r,n)}let t=e._propertyBindings;for(let n=0,r=t.length;n!==r;++n){let o=t[n];o.useCount++===0&&(this._lendBinding(o),o.saveOriginalState())}this._lendAction(e)}}_deactivateAction(e){if(this._isActiveAction(e)){let t=e._propertyBindings;for(let n=0,r=t.length;n!==r;++n){let o=t[n];--o.useCount===0&&(o.restoreOriginalState(),this._takeBackBinding(o))}this._takeBackAction(e)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;let e=this;this.stats={actions:{get total(){return e._actions.length},get inUse(){return e._nActiveActions}},bindings:{get total(){return e._bindings.length},get inUse(){return e._nActiveBindings}},controlInterpolants:{get total(){return e._controlInterpolants.length},get inUse(){return e._nActiveControlInterpolants}}}}_isActiveAction(e){let t=e._cacheIndex;return t!==null&&t=0;--n)e[n].stop();return this}update(e){e*=this.timeScale;let t=this._actions,n=this._nActiveActions,r=this.time+=e,o=Math.sign(e),s=this._accuIndex^=1;for(let l=0;l!==n;++l)t[l]._update(r,e,o,s);let a=this._bindings,c=this._nActiveBindings;for(let l=0;l!==c;++l)a[l].apply(s);return this}setTime(e){this.time=0;for(let t=0;tthis.max.x||e.ythis.max.y)}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(e){return!(e.max.xthis.max.x||e.max.ythis.max.y)}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return FU.copy(e).clamp(this.min,this.max).sub(e).length()}intersect(e){return this.min.max(e.min),this.max.min(e.max),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}};vl.prototype.isBox2=!0;var BU=new O,Zx=new O,qw=class{constructor(e=new O,t=new O){this.start=e,this.end=t}set(e,t){return this.start.copy(e),this.end.copy(t),this}copy(e){return this.start.copy(e.start),this.end.copy(e.end),this}getCenter(e){return e.addVectors(this.start,this.end).multiplyScalar(.5)}delta(e){return e.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(e,t){return this.delta(t).multiplyScalar(e).add(this.start)}closestPointToPointParameter(e,t){BU.subVectors(e,this.start),Zx.subVectors(this.end,this.start);let n=Zx.dot(Zx),o=Zx.dot(BU)/n;return t&&(o=rr(o,0,1)),o}closestPointToPoint(e,t,n){let r=this.closestPointToPointParameter(e,t);return this.delta(n).multiplyScalar(r).add(this.start)}applyMatrix4(e){return this.start.applyMatrix4(e),this.end.applyMatrix4(e),this}equals(e){return e.start.equals(this.start)&&e.end.equals(this.end)}clone(){return new this.constructor().copy(this)}},VU=new O,RP=class extends hn{constructor(e,t){super(),this.light=e,this.light.updateMatrixWorld(),this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=t;let n=new Dt,r=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let s=0,a=1,c=32;s.99999)this.quaternion.set(0,0,0,1);else if(e.y<-.99999)this.quaternion.set(1,0,0,0);else{jU.set(e.z,0,-e.x).normalize();let t=Math.acos(e.y);this.quaternion.setFromAxisAngle(jU,t)}}setLength(e,t=e*.2,n=t*.2){this.line.scale.set(1,Math.max(1e-4,e-t),1),this.line.updateMatrix(),this.cone.scale.set(n,t,n),this.cone.position.y=e,this.cone.updateMatrix()}setColor(e){this.line.material.color.set(e),this.cone.material.color.set(e)}copy(e){return super.copy(e,!1),this.line.copy(e.line),this.cone.copy(e.cone),this}},Qw=class extends Cr{constructor(e=1){let t=[0,0,0,e,0,0,0,0,0,0,e,0,0,0,0,0,0,e],n=[1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],r=new Dt;r.setAttribute("position",new ot(t,3)),r.setAttribute("color",new ot(n,3));let o=new Ri({vertexColors:!0,toneMapped:!1});super(r,o),this.type="AxesHelper"}setColors(e,t,n){let r=new je,o=this.geometry.attributes.color.array;return r.set(e),r.toArray(o,0),r.toArray(o,3),r.set(t),r.toArray(o,6),r.toArray(o,9),r.set(n),r.toArray(o,12),r.toArray(o,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}},UP=class{constructor(){this.type="ShapePath",this.color=new je,this.subPaths=[],this.currentPath=null}moveTo(e,t){return this.currentPath=new du,this.subPaths.push(this.currentPath),this.currentPath.moveTo(e,t),this}lineTo(e,t){return this.currentPath.lineTo(e,t),this}quadraticCurveTo(e,t,n,r){return this.currentPath.quadraticCurveTo(e,t,n,r),this}bezierCurveTo(e,t,n,r,o,s){return this.currentPath.bezierCurveTo(e,t,n,r,o,s),this}splineThru(e){return this.currentPath.splineThru(e),this}toShapes(e,t){function n(_){let x=[];for(let C=0,T=_.length;CNumber.EPSILON){if(z<0&&(A=x[E],q=-q,j=x[D],z=-z),_.yj.y)continue;if(_.y===A.y){if(_.x===A.x)return!0}else{let P=z*(_.x-A.x)-q*(_.y-A.y);if(P===0)return!0;if(P<0)continue;T=!T}}else{if(_.y!==A.y)continue;if(j.x<=_.x&&_.x<=A.x||A.x<=_.x&&_.x<=j.x)return!0}}return T}let o=oa.isClockWise,s=this.subPaths;if(s.length===0)return[];if(t===!0)return n(s);let a,c,l,d=[];if(s.length===1)return c=s[0],l=new Zo,l.curves=c.curves,d.push(l),d;let u=!o(s[0].getPoints());u=e?!u:u;let h=[],p=[],f=[],m=0,y;p[m]=void 0,f[m]=[];for(let _=0,x=s.length;_1){let _=!1,x=[];for(let C=0,T=p.length;C0&&(_||(f=h))}let g;for(let _=0,x=p.length;_65504&&(console.warn("THREE.DataUtils.toHalfFloat(): value exceeds 65504."),e=65504),GH[0]=e;let t=wce[0],n=t>>16&32768,r=t>>12&2047,o=t>>23&255;return o<103?n:o>142?(n|=31744,n|=(o==255?0:1)&&t&8388607,n):o<113?(r|=2048,n|=(r>>114-o)+(r>>113-o&1),n):(n|=o-112<<10|r>>1,n+=r&1,n)}},Cce=0,Sce=1,Mce=0,Ece=1,Ice=2;function Tce(i){return console.warn("THREE.MeshFaceMaterial has been removed. Use an Array instead."),i}function Dce(i=[]){return console.warn("THREE.MultiMaterial has been removed. Use an Array instead."),i.isMultiMaterial=!0,i.materials=i,i.clone=function(){return i.slice()},i}function Pce(i,e){return console.warn("THREE.PointCloud has been renamed to THREE.Points."),new su(i,e)}function Oce(i){return console.warn("THREE.Particle has been renamed to THREE.Sprite."),new Gp(i)}function Rce(i,e){return console.warn("THREE.ParticleSystem has been renamed to THREE.Points."),new su(i,e)}function Ace(i){return console.warn("THREE.PointCloudMaterial has been renamed to THREE.PointsMaterial."),new ic(i)}function Nce(i){return console.warn("THREE.ParticleBasicMaterial has been renamed to THREE.PointsMaterial."),new ic(i)}function kce(i){return console.warn("THREE.ParticleSystemMaterial has been renamed to THREE.PointsMaterial."),new ic(i)}function Lce(i,e,t){return console.warn("THREE.Vertex has been removed. Use THREE.Vector3 instead."),new O(i,e,t)}function Fce(i,e){return console.warn("THREE.DynamicBufferAttribute has been removed. Use new THREE.BufferAttribute().setUsage( THREE.DynamicDrawUsage ) instead."),new un(i,e).setUsage(Op)}function Bce(i,e){return console.warn("THREE.Int8Attribute has been removed. Use new THREE.Int8BufferAttribute() instead."),new cw(i,e)}function Vce(i,e){return console.warn("THREE.Uint8Attribute has been removed. Use new THREE.Uint8BufferAttribute() instead."),new lw(i,e)}function zce(i,e){return console.warn("THREE.Uint8ClampedAttribute has been removed. Use new THREE.Uint8ClampedBufferAttribute() instead."),new dw(i,e)}function Uce(i,e){return console.warn("THREE.Int16Attribute has been removed. Use new THREE.Int16BufferAttribute() instead."),new uw(i,e)}function Hce(i,e){return console.warn("THREE.Uint16Attribute has been removed. Use new THREE.Uint16BufferAttribute() instead."),new Rp(i,e)}function Gce(i,e){return console.warn("THREE.Int32Attribute has been removed. Use new THREE.Int32BufferAttribute() instead."),new hw(i,e)}function jce(i,e){return console.warn("THREE.Uint32Attribute has been removed. Use new THREE.Uint32BufferAttribute() instead."),new Ap(i,e)}function Wce(i,e){return console.warn("THREE.Float32Attribute has been removed. Use new THREE.Float32BufferAttribute() instead."),new ot(i,e)}function $ce(i,e){return console.warn("THREE.Float64Attribute has been removed. Use new THREE.Float64BufferAttribute() instead."),new fw(i,e)}Xr.create=function(i,e){return console.log("THREE.Curve.create() has been deprecated"),i.prototype=Object.create(Xr.prototype),i.prototype.constructor=i,i.prototype.getPoint=e,i};du.prototype.fromPoints=function(i){return console.warn("THREE.Path: .fromPoints() has been renamed to .setFromPoints()."),this.setFromPoints(i)};function qce(i){return console.warn("THREE.AxisHelper has been renamed to THREE.AxesHelper."),new Qw(i)}function Yce(i,e){return console.warn("THREE.BoundingBoxHelper has been deprecated. Creating a THREE.BoxHelper instead."),new Zw(i,e)}function Xce(i,e){return console.warn("THREE.EdgesHelper has been removed. Use THREE.EdgesGeometry instead."),new Cr(new o_(i.geometry),new Ri({color:e!==void 0?e:16777215}))}Xw.prototype.setColors=function(){console.error("THREE.GridHelper: setColors() has been deprecated, pass them in the constructor instead.")};Yw.prototype.update=function(){console.error("THREE.SkeletonHelper: update() no longer needs to be called.")};function Zce(i,e){return console.warn("THREE.WireframeHelper has been removed. Use THREE.WireframeGeometry instead."),new Cr(new b_(i.geometry),new Ri({color:e!==void 0?e:16777215}))}lr.prototype.extractUrlBase=function(i){return console.warn("THREE.Loader: .extractUrlBase() has been deprecated. Use THREE.LoaderUtils.extractUrlBase() instead."),ef.extractUrlBase(i)};lr.Handlers={add:function(){console.error("THREE.Loader: Handlers.add() has been removed. Use LoadingManager.addHandler() instead.")},get:function(){console.error("THREE.Loader: Handlers.get() has been removed. Use LoadingManager.getHandler() instead.")}};function Qce(i){return console.warn("THREE.XHRLoader has been renamed to THREE.FileLoader."),new Qo(i)}function Kce(i){return console.warn("THREE.BinaryTextureLoader has been renamed to THREE.DataTextureLoader."),new Tw(i)}vl.prototype.center=function(i){return console.warn("THREE.Box2: .center() has been renamed to .getCenter()."),this.getCenter(i)};vl.prototype.empty=function(){return console.warn("THREE.Box2: .empty() has been renamed to .isEmpty()."),this.isEmpty()};vl.prototype.isIntersectionBox=function(i){return console.warn("THREE.Box2: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(i)};vl.prototype.size=function(i){return console.warn("THREE.Box2: .size() has been renamed to .getSize()."),this.getSize(i)};qr.prototype.center=function(i){return console.warn("THREE.Box3: .center() has been renamed to .getCenter()."),this.getCenter(i)};qr.prototype.empty=function(){return console.warn("THREE.Box3: .empty() has been renamed to .isEmpty()."),this.isEmpty()};qr.prototype.isIntersectionBox=function(i){return console.warn("THREE.Box3: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(i)};qr.prototype.isIntersectionSphere=function(i){return console.warn("THREE.Box3: .isIntersectionSphere() has been renamed to .intersectsSphere()."),this.intersectsSphere(i)};qr.prototype.size=function(i){return console.warn("THREE.Box3: .size() has been renamed to .getSize()."),this.getSize(i)};aa.prototype.empty=function(){return console.warn("THREE.Sphere: .empty() has been renamed to .isEmpty()."),this.isEmpty()};ru.prototype.setFromMatrix=function(i){return console.warn("THREE.Frustum: .setFromMatrix() has been renamed to .setFromProjectionMatrix()."),this.setFromProjectionMatrix(i)};qw.prototype.center=function(i){return console.warn("THREE.Line3: .center() has been renamed to .getCenter()."),this.getCenter(i)};Si.prototype.flattenToArrayOffset=function(i,e){return console.warn("THREE.Matrix3: .flattenToArrayOffset() has been deprecated. Use .toArray() instead."),this.toArray(i,e)};Si.prototype.multiplyVector3=function(i){return console.warn("THREE.Matrix3: .multiplyVector3() has been removed. Use vector.applyMatrix3( matrix ) instead."),i.applyMatrix3(this)};Si.prototype.multiplyVector3Array=function(){console.error("THREE.Matrix3: .multiplyVector3Array() has been removed.")};Si.prototype.applyToBufferAttribute=function(i){return console.warn("THREE.Matrix3: .applyToBufferAttribute() has been removed. Use attribute.applyMatrix3( matrix ) instead."),i.applyMatrix3(this)};Si.prototype.applyToVector3Array=function(){console.error("THREE.Matrix3: .applyToVector3Array() has been removed.")};Si.prototype.getInverse=function(i){return console.warn("THREE.Matrix3: .getInverse() has been removed. Use matrixInv.copy( matrix ).invert(); instead."),this.copy(i).invert()};dt.prototype.extractPosition=function(i){return console.warn("THREE.Matrix4: .extractPosition() has been renamed to .copyPosition()."),this.copyPosition(i)};dt.prototype.flattenToArrayOffset=function(i,e){return console.warn("THREE.Matrix4: .flattenToArrayOffset() has been deprecated. Use .toArray() instead."),this.toArray(i,e)};dt.prototype.getPosition=function(){return console.warn("THREE.Matrix4: .getPosition() has been removed. Use Vector3.setFromMatrixPosition( matrix ) instead."),new O().setFromMatrixColumn(this,3)};dt.prototype.setRotationFromQuaternion=function(i){return console.warn("THREE.Matrix4: .setRotationFromQuaternion() has been renamed to .makeRotationFromQuaternion()."),this.makeRotationFromQuaternion(i)};dt.prototype.multiplyToArray=function(){console.warn("THREE.Matrix4: .multiplyToArray() has been removed.")};dt.prototype.multiplyVector3=function(i){return console.warn("THREE.Matrix4: .multiplyVector3() has been removed. Use vector.applyMatrix4( matrix ) instead."),i.applyMatrix4(this)};dt.prototype.multiplyVector4=function(i){return console.warn("THREE.Matrix4: .multiplyVector4() has been removed. Use vector.applyMatrix4( matrix ) instead."),i.applyMatrix4(this)};dt.prototype.multiplyVector3Array=function(){console.error("THREE.Matrix4: .multiplyVector3Array() has been removed.")};dt.prototype.rotateAxis=function(i){console.warn("THREE.Matrix4: .rotateAxis() has been removed. Use Vector3.transformDirection( matrix ) instead."),i.transformDirection(this)};dt.prototype.crossVector=function(i){return console.warn("THREE.Matrix4: .crossVector() has been removed. Use vector.applyMatrix4( matrix ) instead."),i.applyMatrix4(this)};dt.prototype.translate=function(){console.error("THREE.Matrix4: .translate() has been removed.")};dt.prototype.rotateX=function(){console.error("THREE.Matrix4: .rotateX() has been removed.")};dt.prototype.rotateY=function(){console.error("THREE.Matrix4: .rotateY() has been removed.")};dt.prototype.rotateZ=function(){console.error("THREE.Matrix4: .rotateZ() has been removed.")};dt.prototype.rotateByAxis=function(){console.error("THREE.Matrix4: .rotateByAxis() has been removed.")};dt.prototype.applyToBufferAttribute=function(i){return console.warn("THREE.Matrix4: .applyToBufferAttribute() has been removed. Use attribute.applyMatrix4( matrix ) instead."),i.applyMatrix4(this)};dt.prototype.applyToVector3Array=function(){console.error("THREE.Matrix4: .applyToVector3Array() has been removed.")};dt.prototype.makeFrustum=function(i,e,t,n,r,o){return console.warn("THREE.Matrix4: .makeFrustum() has been removed. Use .makePerspective( left, right, top, bottom, near, far ) instead."),this.makePerspective(i,e,n,t,r,o)};dt.prototype.getInverse=function(i){return console.warn("THREE.Matrix4: .getInverse() has been removed. Use matrixInv.copy( matrix ).invert(); instead."),this.copy(i).invert()};Xo.prototype.isIntersectionLine=function(i){return console.warn("THREE.Plane: .isIntersectionLine() has been renamed to .intersectsLine()."),this.intersectsLine(i)};Ui.prototype.multiplyVector3=function(i){return console.warn("THREE.Quaternion: .multiplyVector3() has been removed. Use is now vector.applyQuaternion( quaternion ) instead."),i.applyQuaternion(this)};Ui.prototype.inverse=function(){return console.warn("THREE.Quaternion: .inverse() has been renamed to invert()."),this.invert()};ca.prototype.isIntersectionBox=function(i){return console.warn("THREE.Ray: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(i)};ca.prototype.isIntersectionPlane=function(i){return console.warn("THREE.Ray: .isIntersectionPlane() has been renamed to .intersectsPlane()."),this.intersectsPlane(i)};ca.prototype.isIntersectionSphere=function(i){return console.warn("THREE.Ray: .isIntersectionSphere() has been renamed to .intersectsSphere()."),this.intersectsSphere(i)};ar.prototype.area=function(){return console.warn("THREE.Triangle: .area() has been renamed to .getArea()."),this.getArea()};ar.prototype.barycoordFromPoint=function(i,e){return console.warn("THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord()."),this.getBarycoord(i,e)};ar.prototype.midpoint=function(i){return console.warn("THREE.Triangle: .midpoint() has been renamed to .getMidpoint()."),this.getMidpoint(i)};ar.prototypenormal=function(i){return console.warn("THREE.Triangle: .normal() has been renamed to .getNormal()."),this.getNormal(i)};ar.prototype.plane=function(i){return console.warn("THREE.Triangle: .plane() has been renamed to .getPlane()."),this.getPlane(i)};ar.barycoordFromPoint=function(i,e,t,n,r){return console.warn("THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord()."),ar.getBarycoord(i,e,t,n,r)};ar.normal=function(i,e,t,n){return console.warn("THREE.Triangle: .normal() has been renamed to .getNormal()."),ar.getNormal(i,e,t,n)};Zo.prototype.extractAllPoints=function(i){return console.warn("THREE.Shape: .extractAllPoints() has been removed. Use .extractPoints() instead."),this.extractPoints(i)};Zo.prototype.extrude=function(i){return console.warn("THREE.Shape: .extrude() has been removed. Use ExtrudeGeometry() instead."),new oc(this,i)};Zo.prototype.makeGeometry=function(i){return console.warn("THREE.Shape: .makeGeometry() has been removed. Use ShapeGeometry() instead."),new Qp(this,i)};we.prototype.fromAttribute=function(i,e,t){return console.warn("THREE.Vector2: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(i,e,t)};we.prototype.distanceToManhattan=function(i){return console.warn("THREE.Vector2: .distanceToManhattan() has been renamed to .manhattanDistanceTo()."),this.manhattanDistanceTo(i)};we.prototype.lengthManhattan=function(){return console.warn("THREE.Vector2: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()};O.prototype.setEulerFromRotationMatrix=function(){console.error("THREE.Vector3: .setEulerFromRotationMatrix() has been removed. Use Euler.setFromRotationMatrix() instead.")};O.prototype.setEulerFromQuaternion=function(){console.error("THREE.Vector3: .setEulerFromQuaternion() has been removed. Use Euler.setFromQuaternion() instead.")};O.prototype.getPositionFromMatrix=function(i){return console.warn("THREE.Vector3: .getPositionFromMatrix() has been renamed to .setFromMatrixPosition()."),this.setFromMatrixPosition(i)};O.prototype.getScaleFromMatrix=function(i){return console.warn("THREE.Vector3: .getScaleFromMatrix() has been renamed to .setFromMatrixScale()."),this.setFromMatrixScale(i)};O.prototype.getColumnFromMatrix=function(i,e){return console.warn("THREE.Vector3: .getColumnFromMatrix() has been renamed to .setFromMatrixColumn()."),this.setFromMatrixColumn(e,i)};O.prototype.applyProjection=function(i){return console.warn("THREE.Vector3: .applyProjection() has been removed. Use .applyMatrix4( m ) instead."),this.applyMatrix4(i)};O.prototype.fromAttribute=function(i,e,t){return console.warn("THREE.Vector3: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(i,e,t)};O.prototype.distanceToManhattan=function(i){return console.warn("THREE.Vector3: .distanceToManhattan() has been renamed to .manhattanDistanceTo()."),this.manhattanDistanceTo(i)};O.prototype.lengthManhattan=function(){return console.warn("THREE.Vector3: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()};Sn.prototype.fromAttribute=function(i,e,t){return console.warn("THREE.Vector4: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(i,e,t)};Sn.prototype.lengthManhattan=function(){return console.warn("THREE.Vector4: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()};hn.prototype.getChildByName=function(i){return console.warn("THREE.Object3D: .getChildByName() has been renamed to .getObjectByName()."),this.getObjectByName(i)};hn.prototype.renderDepth=function(){console.warn("THREE.Object3D: .renderDepth has been removed. Use .renderOrder, instead.")};hn.prototype.translate=function(i,e){return console.warn("THREE.Object3D: .translate() has been removed. Use .translateOnAxis( axis, distance ) instead."),this.translateOnAxis(e,i)};hn.prototype.getWorldRotation=function(){console.error("THREE.Object3D: .getWorldRotation() has been removed. Use THREE.Object3D.getWorldQuaternion( target ) instead.")};hn.prototype.applyMatrix=function(i){return console.warn("THREE.Object3D: .applyMatrix() has been renamed to .applyMatrix4()."),this.applyMatrix4(i)};Object.defineProperties(hn.prototype,{eulerOrder:{get:function(){return console.warn("THREE.Object3D: .eulerOrder is now .rotation.order."),this.rotation.order},set:function(i){console.warn("THREE.Object3D: .eulerOrder is now .rotation.order."),this.rotation.order=i}},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.")}}});pi.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(pi.prototype,{drawMode:{get:function(){return console.error("THREE.Mesh: .drawMode has been removed. The renderer now always assumes THREE.TrianglesDrawMode."),mH},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.")}}});jp.prototype.initBones=function(){console.error("THREE.SkinnedMesh: initBones() has been removed.")};Di.prototype.setLens=function(i,e){console.warn("THREE.PerspectiveCamera.setLens is deprecated. Use .setFocalLength and .filmGauge for a photographic setup."),e!==void 0&&(this.filmGauge=e),this.setFocalLength(i)};Object.defineProperties(Eo.prototype,{onlyShadow:{set:function(){console.warn("THREE.Light: .onlyShadow has been removed.")}},shadowCameraFov:{set:function(i){console.warn("THREE.Light: .shadowCameraFov is now .shadow.camera.fov."),this.shadow.camera.fov=i}},shadowCameraLeft:{set:function(i){console.warn("THREE.Light: .shadowCameraLeft is now .shadow.camera.left."),this.shadow.camera.left=i}},shadowCameraRight:{set:function(i){console.warn("THREE.Light: .shadowCameraRight is now .shadow.camera.right."),this.shadow.camera.right=i}},shadowCameraTop:{set:function(i){console.warn("THREE.Light: .shadowCameraTop is now .shadow.camera.top."),this.shadow.camera.top=i}},shadowCameraBottom:{set:function(i){console.warn("THREE.Light: .shadowCameraBottom is now .shadow.camera.bottom."),this.shadow.camera.bottom=i}},shadowCameraNear:{set:function(i){console.warn("THREE.Light: .shadowCameraNear is now .shadow.camera.near."),this.shadow.camera.near=i}},shadowCameraFar:{set:function(i){console.warn("THREE.Light: .shadowCameraFar is now .shadow.camera.far."),this.shadow.camera.far=i}},shadowCameraVisible:{set:function(){console.warn("THREE.Light: .shadowCameraVisible has been removed. Use new THREE.CameraHelper( light.shadow.camera ) instead.")}},shadowBias:{set:function(i){console.warn("THREE.Light: .shadowBias is now .shadow.bias."),this.shadow.bias=i}},shadowDarkness:{set:function(){console.warn("THREE.Light: .shadowDarkness has been removed.")}},shadowMapWidth:{set:function(i){console.warn("THREE.Light: .shadowMapWidth is now .shadow.mapSize.width."),this.shadow.mapSize.width=i}},shadowMapHeight:{set:function(i){console.warn("THREE.Light: .shadowMapHeight is now .shadow.mapSize.height."),this.shadow.mapSize.height=i}}});Object.defineProperties(un.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===Op},set:function(){console.warn("THREE.BufferAttribute: .dynamic has been deprecated. Use .usage instead."),this.setUsage(Op)}}});un.prototype.setDynamic=function(i){return console.warn("THREE.BufferAttribute: .setDynamic() has been deprecated. Use .setUsage() instead."),this.setUsage(i===!0?Op:Pp),this};un.prototype.copyIndicesArray=function(){console.error("THREE.BufferAttribute: .copyIndicesArray() has been removed.")},un.prototype.setArray=function(){console.error("THREE.BufferAttribute: .setArray has been removed. Use BufferGeometry .setAttribute to replace/resize attribute buffers")};Dt.prototype.addIndex=function(i){console.warn("THREE.BufferGeometry: .addIndex() has been renamed to .setIndex()."),this.setIndex(i)};Dt.prototype.addAttribute=function(i,e){return console.warn("THREE.BufferGeometry: .addAttribute() has been renamed to .setAttribute()."),!(e&&e.isBufferAttribute)&&!(e&&e.isInterleavedBufferAttribute)?(console.warn("THREE.BufferGeometry: .addAttribute() now expects ( name, attribute )."),this.setAttribute(i,new un(arguments[1],arguments[2]))):i==="index"?(console.warn("THREE.BufferGeometry.addAttribute: Use .setIndex() for index attribute."),this.setIndex(e),this):this.setAttribute(i,e)};Dt.prototype.addDrawCall=function(i,e,t){t!==void 0&&console.warn("THREE.BufferGeometry: .addDrawCall() no longer supports indexOffset."),console.warn("THREE.BufferGeometry: .addDrawCall() is now .addGroup()."),this.addGroup(i,e)};Dt.prototype.clearDrawCalls=function(){console.warn("THREE.BufferGeometry: .clearDrawCalls() is now .clearGroups()."),this.clearGroups()};Dt.prototype.computeOffsets=function(){console.warn("THREE.BufferGeometry: .computeOffsets() has been removed.")};Dt.prototype.removeAttribute=function(i){return console.warn("THREE.BufferGeometry: .removeAttribute() has been renamed to .deleteAttribute()."),this.deleteAttribute(i)};Dt.prototype.applyMatrix=function(i){return console.warn("THREE.BufferGeometry: .applyMatrix() has been renamed to .applyMatrix4()."),this.applyMatrix4(i)};Object.defineProperties(Dt.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}}});tc.prototype.setDynamic=function(i){return console.warn("THREE.InterleavedBuffer: .setDynamic() has been deprecated. Use .setUsage() instead."),this.setUsage(i===!0?Op:Pp),this};tc.prototype.setArray=function(){console.error("THREE.InterleavedBuffer: .setArray has been removed. Use BufferGeometry .setAttribute to replace/resize attribute buffers")};oc.prototype.getArrays=function(){console.error("THREE.ExtrudeGeometry: .getArrays() has been removed.")};oc.prototype.addShapeList=function(){console.error("THREE.ExtrudeGeometry: .addShapeList() has been removed.")};oc.prototype.addShape=function(){console.error("THREE.ExtrudeGeometry: .addShape() has been removed.")};Up.prototype.dispose=function(){console.error("THREE.Scene: .dispose() has been removed.")};jw.prototype.onUpdate=function(){return console.warn("THREE.Uniform: .onUpdate() has been removed. Use object.onBeforeRender() instead."),this};Object.defineProperties(Oi.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 je}},shading:{get:function(){console.error("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead.")},set:function(i){console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead."),this.flatShading=i===WP}},stencilMask:{get:function(){return console.warn("THREE."+this.type+": .stencilMask has been removed. Use .stencilFuncMask instead."),this.stencilFuncMask},set:function(i){console.warn("THREE."+this.type+": .stencilMask has been removed. Use .stencilFuncMask instead."),this.stencilFuncMask=i}},vertexTangents:{get:function(){console.warn("THREE."+this.type+": .vertexTangents has been removed.")},set:function(){console.warn("THREE."+this.type+": .vertexTangents has been removed.")}}});Object.defineProperties(Cs.prototype,{derivatives:{get:function(){return console.warn("THREE.ShaderMaterial: .derivatives has been moved to .extensions.derivatives."),this.extensions.derivatives},set:function(i){console.warn("THREE. ShaderMaterial: .derivatives has been moved to .extensions.derivatives."),this.extensions.derivatives=i}}});kn.prototype.clearTarget=function(i,e,t,n){console.warn("THREE.WebGLRenderer: .clearTarget() has been deprecated. Use .setRenderTarget() and .clear() instead."),this.setRenderTarget(i),this.clear(e,t,n)};kn.prototype.animate=function(i){console.warn("THREE.WebGLRenderer: .animate() is now .setAnimationLoop()."),this.setAnimationLoop(i)};kn.prototype.getCurrentRenderTarget=function(){return console.warn("THREE.WebGLRenderer: .getCurrentRenderTarget() is now .getRenderTarget()."),this.getRenderTarget()};kn.prototype.getMaxAnisotropy=function(){return console.warn("THREE.WebGLRenderer: .getMaxAnisotropy() is now .capabilities.getMaxAnisotropy()."),this.capabilities.getMaxAnisotropy()};kn.prototype.getPrecision=function(){return console.warn("THREE.WebGLRenderer: .getPrecision() is now .capabilities.precision."),this.capabilities.precision};kn.prototype.resetGLState=function(){return console.warn("THREE.WebGLRenderer: .resetGLState() is now .state.reset()."),this.state.reset()};kn.prototype.supportsFloatTextures=function(){return console.warn("THREE.WebGLRenderer: .supportsFloatTextures() is now .extensions.get( 'OES_texture_float' )."),this.extensions.get("OES_texture_float")};kn.prototype.supportsHalfFloatTextures=function(){return console.warn("THREE.WebGLRenderer: .supportsHalfFloatTextures() is now .extensions.get( 'OES_texture_half_float' )."),this.extensions.get("OES_texture_half_float")};kn.prototype.supportsStandardDerivatives=function(){return console.warn("THREE.WebGLRenderer: .supportsStandardDerivatives() is now .extensions.get( 'OES_standard_derivatives' )."),this.extensions.get("OES_standard_derivatives")};kn.prototype.supportsCompressedTextureS3TC=function(){return console.warn("THREE.WebGLRenderer: .supportsCompressedTextureS3TC() is now .extensions.get( 'WEBGL_compressed_texture_s3tc' )."),this.extensions.get("WEBGL_compressed_texture_s3tc")};kn.prototype.supportsCompressedTexturePVRTC=function(){return console.warn("THREE.WebGLRenderer: .supportsCompressedTexturePVRTC() is now .extensions.get( 'WEBGL_compressed_texture_pvrtc' )."),this.extensions.get("WEBGL_compressed_texture_pvrtc")};kn.prototype.supportsBlendMinMax=function(){return console.warn("THREE.WebGLRenderer: .supportsBlendMinMax() is now .extensions.get( 'EXT_blend_minmax' )."),this.extensions.get("EXT_blend_minmax")};kn.prototype.supportsVertexTextures=function(){return console.warn("THREE.WebGLRenderer: .supportsVertexTextures() is now .capabilities.vertexTextures."),this.capabilities.vertexTextures};kn.prototype.supportsInstancedArrays=function(){return console.warn("THREE.WebGLRenderer: .supportsInstancedArrays() is now .extensions.get( 'ANGLE_instanced_arrays' )."),this.extensions.get("ANGLE_instanced_arrays")};kn.prototype.enableScissorTest=function(i){console.warn("THREE.WebGLRenderer: .enableScissorTest() is now .setScissorTest()."),this.setScissorTest(i)};kn.prototype.initMaterial=function(){console.warn("THREE.WebGLRenderer: .initMaterial() has been removed.")};kn.prototype.addPrePlugin=function(){console.warn("THREE.WebGLRenderer: .addPrePlugin() has been removed.")};kn.prototype.addPostPlugin=function(){console.warn("THREE.WebGLRenderer: .addPostPlugin() has been removed.")};kn.prototype.updateShadowMap=function(){console.warn("THREE.WebGLRenderer: .updateShadowMap() has been removed.")};kn.prototype.setFaceCulling=function(){console.warn("THREE.WebGLRenderer: .setFaceCulling() has been removed.")};kn.prototype.allocTextureUnit=function(){console.warn("THREE.WebGLRenderer: .allocTextureUnit() has been removed.")};kn.prototype.setTexture=function(){console.warn("THREE.WebGLRenderer: .setTexture() has been removed.")};kn.prototype.setTexture2D=function(){console.warn("THREE.WebGLRenderer: .setTexture2D() has been removed.")};kn.prototype.setTextureCube=function(){console.warn("THREE.WebGLRenderer: .setTextureCube() has been removed.")};kn.prototype.getActiveMipMapLevel=function(){return console.warn("THREE.WebGLRenderer: .getActiveMipMapLevel() is now .getActiveMipmapLevel()."),this.getActiveMipmapLevel()};Object.defineProperties(kn.prototype,{shadowMapEnabled:{get:function(){return this.shadowMap.enabled},set:function(i){console.warn("THREE.WebGLRenderer: .shadowMapEnabled is now .shadowMap.enabled."),this.shadowMap.enabled=i}},shadowMapType:{get:function(){return this.shadowMap.type},set:function(i){console.warn("THREE.WebGLRenderer: .shadowMapType is now .shadowMap.type."),this.shadowMap.type=i}},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(i){console.warn("THREE.WebGLRenderer: .gammaOutput has been removed. Set WebGLRenderer.outputEncoding instead."),this.outputEncoding=i===!0?bl:cr}},toneMappingWhitePoint:{get:function(){return console.warn("THREE.WebGLRenderer: .toneMappingWhitePoint has been removed."),1},set:function(){console.warn("THREE.WebGLRenderer: .toneMappingWhitePoint has been removed.")}}});Object.defineProperties(kH.prototype,{cullFace:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.")}},renderReverseSided:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.")}},renderSingleSided:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.")}}});function Jce(i,e,t){return console.warn("THREE.WebGLRenderTargetCube( width, height, options ) is now WebGLCubeRenderTarget( size, options )."),new Lp(i,t)}Object.defineProperties(So.prototype,{wrapS:{get:function(){return console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS."),this.texture.wrapS},set:function(i){console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS."),this.texture.wrapS=i}},wrapT:{get:function(){return console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT."),this.texture.wrapT},set:function(i){console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT."),this.texture.wrapT=i}},magFilter:{get:function(){return console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter."),this.texture.magFilter},set:function(i){console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter."),this.texture.magFilter=i}},minFilter:{get:function(){return console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter."),this.texture.minFilter},set:function(i){console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter."),this.texture.minFilter=i}},anisotropy:{get:function(){return console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy."),this.texture.anisotropy},set:function(i){console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy."),this.texture.anisotropy=i}},offset:{get:function(){return console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset."),this.texture.offset},set:function(i){console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset."),this.texture.offset=i}},repeat:{get:function(){return console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat."),this.texture.repeat},set:function(i){console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat."),this.texture.repeat=i}},format:{get:function(){return console.warn("THREE.WebGLRenderTarget: .format is now .texture.format."),this.texture.format},set:function(i){console.warn("THREE.WebGLRenderTarget: .format is now .texture.format."),this.texture.format=i}},type:{get:function(){return console.warn("THREE.WebGLRenderTarget: .type is now .texture.type."),this.texture.type},set:function(i){console.warn("THREE.WebGLRenderTarget: .type is now .texture.type."),this.texture.type=i}},generateMipmaps:{get:function(){return console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps."),this.texture.generateMipmaps},set:function(i){console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps."),this.texture.generateMipmaps=i}}});z_.prototype.load=function(i){console.warn("THREE.Audio: .load has been deprecated. Use THREE.AudioLoader instead.");let e=this;return new Lw().load(i,function(n){e.setBuffer(n)}),this};zw.prototype.getData=function(){return console.warn("THREE.AudioAnalyser: .getData() is now .getFrequencyData()."),this.getFrequencyData()};kp.prototype.updateCubeMap=function(i,e){return console.warn("THREE.CubeCamera: .updateCubeMap() is now .update()."),this.update(i,e)};kp.prototype.clear=function(i,e,t,n){return console.warn("THREE.CubeCamera: .clear() is now .renderTarget.clear()."),this.renderTarget.clear(i,e,t,n)};ec.crossOrigin=void 0;ec.loadTexture=function(i,e,t,n){console.warn("THREE.ImageUtils.loadTexture has been deprecated. Use THREE.TextureLoader() instead.");let r=new Dw;r.setCrossOrigin(this.crossOrigin);let o=r.load(i,t,void 0,n);return e&&(o.mapping=e),o};ec.loadTextureCube=function(i,e,t,n){console.warn("THREE.ImageUtils.loadTextureCube has been deprecated. Use THREE.CubeTextureLoader() instead.");let r=new Iw;r.setCrossOrigin(this.crossOrigin);let o=r.load(i,t,void 0,n);return e&&(o.mapping=e),o};ec.loadCompressedTexture=function(){console.error("THREE.ImageUtils.loadCompressedTexture has been removed. Use THREE.DDSLoader instead.")};ec.loadCompressedTextureCube=function(){console.error("THREE.ImageUtils.loadCompressedTextureCube has been removed. Use THREE.DDSLoader instead.")};function ele(){console.error("THREE.CanvasRenderer has been removed")}function tle(){console.error("THREE.JSONLoader has been removed.")}var nle={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 ile(){console.error("THREE.LensFlare has been moved to /examples/jsm/objects/Lensflare.js")}function rle(){return console.error("THREE.ParametricGeometry has been moved to /examples/jsm/geometries/ParametricGeometry.js"),new Dt}function ole(){return console.error("THREE.TextGeometry has been moved to /examples/jsm/geometries/TextGeometry.js"),new Dt}function sle(){console.error("THREE.FontLoader has been moved to /examples/jsm/loaders/FontLoader.js")}function ale(){console.error("THREE.Font has been moved to /examples/jsm/loaders/FontLoader.js")}function cle(){console.error("THREE.ImmediateRenderObject has been removed.")}typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:GP}}));typeof window<"u"&&(window.__THREE__?console.warn("WARNING: Multiple instances of Three.js being imported."):window.__THREE__=GP);var rf=(()=>{class i{linearGradientId=Math.random().toString(36).slice(-6);fillUrl=`url(#${this.linearGradientId})`;static \u0275fac=function(n){return new(n||i)};static \u0275cmp=ce({type:i,selectors:[["me-logo"]],standalone:!0,features:[le],decls:19,vars:2,consts:[["width","24","height","24","viewBox","0 0 256 256","fill","none","xmlns","http://www.w3.org/2000/svg"],["width","256","height","256","fill","none"],["d","M229 64.5V192.5L128 248.5L127.5 115.5L229 64.5Z"],["d","M208 76V99L128 141.5V116L208 76Z","fill","white"],["d","M208 122.5V141.5L128 182.5V161.5L208 122.5Z","fill","white"],["d","M208 164.5V183L128 225.5V206L208 164.5Z","fill","white"],["d","M149 106V214.5L127 226V117.5L149 106Z","fill","white"],["d","M26 61L47.5 72.5V200L26 187V61Z","fill","#FBBC04"],["d","M125.5 10.5L145.5 21V60.5L125.5 56.5V10.5Z","fill","#DCA810"],["d","M164 31L184 41.5V81L164 78V31Z","fill","#309C4D"],["d","M164 31L184 41.5L87 94L65 82L164 31Z","fill","#11792D"],["d","M208 54.5L229 64.5L128 116L107 105L208 54.5Z","fill","#2C5CAC"],["d","M125.5 10.5L145.5 21L47.5 72.5L26 61L125.5 10.5Z","fill","#C78B15"],["d","M65 82L87 94V224L65 210.5V82Z","fill","#34A853"],["d","M107 105L128 116V248.5L107 236V105Z","fill","#4285F4"],["x1","144.5","y1","232","x2","219","y2","69.5","gradientUnits","userSpaceOnUse"],["stop-color","#4285F4"],["offset","1","stop-color","#2C5CAC"]],template:function(n,r){n&1&&(uo(),v(0,"svg",0),ee(1,"rect",1)(2,"path",2)(3,"path",3)(4,"path",4)(5,"path",5)(6,"path",6)(7,"path",7)(8,"path",8)(9,"path",9)(10,"path",10)(11,"path",11)(12,"path",12)(13,"path",13)(14,"path",14),v(15,"defs")(16,"linearGradient",15),ee(17,"stop",16)(18,"stop",17),b()()()),n&2&&(w(2),Ye("fill",r.fillUrl),w(14),Ye("id",r.linearGradientId))},styles:["[_nghost-%COMP%]{display:flex;align-items:center;justify-content:center}"]})}return i})();var yl=(()=>{class i{hiddenInputOpNodeIds=ct({});hiddenOutputIds=ct({});toggleInputOpNodeVisibility(t){this.hiddenInputOpNodeIds.update(n=>(n[t]===!0?delete n[t]:n[t]=!0,Z({},n)))}setInputOpNodeVisible(t,n){let r=this.hiddenInputOpNodeIds()[t]!==!0;for(let o of n)o!==t&&(this.hiddenInputOpNodeIds()[o]||(r=!1));if(r)this.hiddenInputOpNodeIds.set({});else{let o={};for(let s of n)s!==t&&(o[s]=!0);this.hiddenInputOpNodeIds.set(o)}}toggleOutputVisibility(t){this.hiddenOutputIds.update(n=>(n[t]===!0?delete n[t]:n[t]=!0,Z({},n)))}setOutputVisible(t,n){let r=this.hiddenOutputIds()[t]!==!0;for(let o of n)o!==t&&(this.hiddenOutputIds()[o]||(r=!1));if(r)this.hiddenOutputIds.set({});else{let o={};for(let s of n)s!==t&&(o[s]=!0);this.hiddenOutputIds.set(o)}}getInputOpNodeVisible(t){return!this.hiddenInputOpNodeIds()[t]}getOutputVisible(t){return!this.hiddenOutputIds()[t]}resetInputOutputHiddenIds(){this.hiddenInputOpNodeIds.set({}),this.hiddenOutputIds.set({})}static \u0275fac=function(n){return new(n||i)};static \u0275prov=J({token:i,factory:i.\u0275fac})}return i})();var Ko=(()=>{class i{appService;selectedNodeIds=ct({});hasSelectedNodes=Bt(()=>Object.keys(this.selectedNodeIds()).length>0);selectedNodeCount=Bt(()=>Object.keys(this.selectedNodeIds()).length);paneId="";constructor(t){this.appService=t}toggleNode(t){this.selectedNodeIds.update(n=>{if(!this.modelGraph)return n;let r=this.modelGraph.nodesById[t];if(wt(r)){let o=r.descendantsOpNodeIds||[],s=o.some(a=>n[a]);for(let a of o)St(this.modelGraph.nodesById[a])&&(s?delete n[a]:n[a]=!0)}else n[t]?delete n[t]:n[t]=!0;return Z({},n)})}toggleNodes(t){if(t.length===0||!this.modelGraph)return;let n=Z({},this.selectedNodeIds());for(let r of t){let o=this.modelGraph.nodesById[r];if(St(o))n[r]?delete n[r]:n[r]=!0;else if(wt(o)&&!o.expanded)for(let s of o.descendantsOpNodeIds||[])n[s]?delete n[s]:n[s]=!0}this.selectedNodeIds.set(n)}clearSelection(){this.selectedNodeIds.set({})}isHiddenFromSelection(t){return t.label==="pseudo_const"}getSelectedSubgraph(){if(!this.modelGraph)return;let t=this.appService.getGraphById(this.modelGraph.id);if(!t)return;t=JSON.parse(JSON.stringify(t));let n={};for(let h of t.nodes)n[h.id]=h;let r=this.selectedNodeIds(),o=t.nodes.filter(h=>r[h.id]===!0),s=o.find(h=>h.label==="GraphInputs");if(!s){let h=t.nodes.find(p=>p.label==="GraphInputs");if(!h)throw new Error("GraphInputs node not found in the original graph.");s=structuredClone(h),s.outputsMetadata=[],o.push(s)}s.outputsMetadata=s.outputsMetadata||[];let a=new Map,c=s.outputsMetadata.length;for(let h of o){let p=(h.incomingEdges||[]).filter(f=>!r[f.sourceNodeId]);for(let f of p){let m=n[f.sourceNodeId];if(this.isHiddenFromSelection(m)){o.push(m);continue}let y=(m.outputsMetadata||[]).find(_=>_.id===f.sourceNodeOutputId);if(!y)continue;let g=(y.attrs||[]).find(_=>_.key==="tensor_index")?.value;g&&(a.has(g)||(a.set(g,c.toString()),s.outputsMetadata.push({id:c.toString(),attrs:y.attrs}),c++),f.sourceNodeId=s.id,f.sourceNodeOutputId=a.get(g))}}let l=o.find(h=>h.label==="GraphOutputs");if(!l){let h=t.nodes.find(p=>p.label==="GraphOutputs");if(!h)throw new Error("GraphOutputs node not found in the original graph.");l=structuredClone(h),l.incomingEdges=[],o.push(l)}l.incomingEdges=l.incomingEdges||[];let d=new Set,u=l.incomingEdges.length;for(let h of t.nodes){if(r[h.id])continue;let p=(h.incomingEdges||[]).filter(f=>r[f.sourceNodeId]);for(let f of p){let y=(n[f.sourceNodeId].outputsMetadata||[]).find(_=>_.id===f.sourceNodeOutputId);if(!y)continue;let g=(y.attrs||[]).find(_=>_.key==="tensor_index")?.value;if(g&&!d.has(g)){d.add(g);let _=structuredClone(f);_.targetNodeInputId=u.toString(),l.incomingEdges.push(_),u++}}}return{id:`${t.id}_subgraph`,collectionLabel:t.collectionLabel,nodes:o}}get modelGraph(){return this.appService.getCurrentModelGraphFromPane(this.paneId)}static \u0275fac=function(n){return new(n||i)(X(at))};static \u0275prov=J({token:i,factory:i.\u0275fac})}return i})();var oC=class{};function WH(i){return i&&typeof i.connect=="function"&&!(i instanceof mc)}var of=class{get selected(){return this._selected||(this._selected=Array.from(this._selection.values())),this._selected}constructor(e=!1,t,n=!0,r){this._multiple=e,this._emitChanges=n,this.compareWith=r,this._selection=new Set,this._deselectedToEmit=[],this._selectedToEmit=[],this.changed=new pe,t&&t.length&&(e?t.forEach(o=>this._markSelected(o)):this._markSelected(t[0]),this._selectedToEmit.length=0)}select(...e){this._verifyValueAssignment(e),e.forEach(n=>this._markSelected(n));let t=this._hasQueuedChanges();return this._emitChangeEvent(),t}deselect(...e){this._verifyValueAssignment(e),e.forEach(n=>this._unmarkSelected(n));let t=this._hasQueuedChanges();return this._emitChangeEvent(),t}setSelection(...e){this._verifyValueAssignment(e);let t=this.selected,n=new Set(e);e.forEach(o=>this._markSelected(o)),t.filter(o=>!n.has(this._getConcreteValue(o,n))).forEach(o=>this._unmarkSelected(o));let r=this._hasQueuedChanges();return this._emitChangeEvent(),r}toggle(e){return this.isSelected(e)?this.deselect(e):this.select(e)}clear(e=!0){this._unmarkAll();let t=this._hasQueuedChanges();return e&&this._emitChangeEvent(),t}isSelected(e){return this._selection.has(this._getConcreteValue(e))}isEmpty(){return this._selection.size===0}hasValue(){return!this.isEmpty()}sort(e){this._multiple&&this.selected&&this._selected.sort(e)}isMultipleSelection(){return this._multiple}_emitChangeEvent(){this._selected=null,(this._selectedToEmit.length||this._deselectedToEmit.length)&&(this.changed.next({source:this,added:this._selectedToEmit,removed:this._deselectedToEmit}),this._deselectedToEmit=[],this._selectedToEmit=[])}_markSelected(e){e=this._getConcreteValue(e),this.isSelected(e)||(this._multiple||this._unmarkAll(),this.isSelected(e)||this._selection.add(e),this._emitChanges&&this._selectedToEmit.push(e))}_unmarkSelected(e){e=this._getConcreteValue(e),this.isSelected(e)&&(this._selection.delete(e),this._emitChanges&&this._deselectedToEmit.push(e))}_unmarkAll(){this.isEmpty()||this._selection.forEach(e=>this._unmarkSelected(e))}_verifyValueAssignment(e){e.length>1&&this._multiple}_hasQueuedChanges(){return!!(this._deselectedToEmit.length||this._selectedToEmit.length)}_getConcreteValue(e,t){if(this.compareWith){t=t??this._selection;for(let n of t)if(this.compareWith(e,n))return n;return e}else return e}};var $H=(()=>{let e=class e{constructor(){this._listeners=[]}notify(n,r){for(let o of this._listeners)o(n,r)}listen(n){return this._listeners.push(n),()=>{this._listeners=this._listeners.filter(r=>n!==r)}}ngOnDestroy(){this._listeners=[]}};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();var dle=20,xu=(()=>{let e=class e{constructor(n,r,o){this._ngZone=n,this._platform=r,this._scrolled=new pe,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=o}register(n){this.scrollContainers.has(n)||this.scrollContainers.set(n,n.elementScrolled().subscribe(()=>this._scrolled.next(n)))}deregister(n){let r=this.scrollContainers.get(n);r&&(r.unsubscribe(),this.scrollContainers.delete(n))}scrolled(n=dle){return this._platform.isBrowser?new Et(r=>{this._globalSubscription||this._addGlobalListener();let o=n>0?this._scrolled.pipe(jv(n)).subscribe(r):this._scrolled.subscribe(r);return this._scrolledCount++,()=>{o.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):Ke()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((n,r)=>this.deregister(r)),this._scrolled.complete()}ancestorScrolled(n,r){let o=this.getAncestorScrollContainers(n);return this.scrolled(r).pipe(qt(s=>!s||o.indexOf(s)>-1))}getAncestorScrollContainers(n){let r=[];return this.scrollContainers.forEach((o,s)=>{this._scrollableContainsElement(s,n)&&r.push(s)}),r}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(n,r){let o=nr(r),s=n.getElementRef().nativeElement;do if(o==s)return!0;while(o=o.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>{let n=this._getWindow();return yn(n.document,"scroll").subscribe(()=>this._scrolled.next())})}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}};e.\u0275fac=function(r){return new(r||e)(X(Fe),X(gn),X(Xe,8))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})(),aO=(()=>{let e=class e{constructor(n,r,o,s){this.elementRef=n,this.scrollDispatcher=r,this.ngZone=o,this.dir=s,this._destroyed=new pe,this._elementScrolled=new Et(a=>this.ngZone.runOutsideAngular(()=>yn(this.elementRef.nativeElement,"scroll").pipe(Ze(this._destroyed)).subscribe(a)))}ngOnInit(){this.scrollDispatcher.register(this)}ngOnDestroy(){this.scrollDispatcher.deregister(this),this._destroyed.next(),this._destroyed.complete()}elementScrolled(){return this._elementScrolled}getElementRef(){return this.elementRef}scrollTo(n){let r=this.elementRef.nativeElement,o=this.dir&&this.dir.value=="rtl";n.left==null&&(n.left=o?n.end:n.start),n.right==null&&(n.right=o?n.start:n.end),n.bottom!=null&&(n.top=r.scrollHeight-r.clientHeight-n.bottom),o&&Th()!=ms.NORMAL?(n.left!=null&&(n.right=r.scrollWidth-r.clientWidth-n.left),Th()==ms.INVERTED?n.left=n.right:Th()==ms.NEGATED&&(n.left=n.right?-n.right:n.right)):n.right!=null&&(n.left=r.scrollWidth-r.clientWidth-n.right),this._applyScrollToOptions(n)}_applyScrollToOptions(n){let r=this.elementRef.nativeElement;vy()?r.scrollTo(n):(n.top!=null&&(r.scrollTop=n.top),n.left!=null&&(r.scrollLeft=n.left))}measureScrollOffset(n){let r="left",o="right",s=this.elementRef.nativeElement;if(n=="top")return s.scrollTop;if(n=="bottom")return s.scrollHeight-s.clientHeight-s.scrollTop;let a=this.dir&&this.dir.value=="rtl";return n=="start"?n=a?o:r:n=="end"&&(n=a?r:o),a&&Th()==ms.INVERTED?n==r?s.scrollWidth-s.clientWidth-s.scrollLeft:s.scrollLeft:a&&Th()==ms.NEGATED?n==r?s.scrollLeft+s.scrollWidth-s.clientWidth:-s.scrollLeft:n==r?s.scrollLeft:s.scrollWidth-s.clientWidth-s.scrollLeft}};e.\u0275fac=function(r){return new(r||e)(M(Re),M(xu),M(Fe),M(di,8))},e.\u0275dir=Ve({type:e,selectors:[["","cdk-scrollable",""],["","cdkScrollable",""]],standalone:!0});let i=e;return i})(),ule=20,la=(()=>{let e=class e{constructor(n,r,o){this._platform=n,this._change=new pe,this._changeListener=s=>{this._change.next(s)},this._document=o,r.runOutsideAngular(()=>{if(n.isBrowser){let s=this._getWindow();s.addEventListener("resize",this._changeListener),s.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){if(this._platform.isBrowser){let n=this._getWindow();n.removeEventListener("resize",this._changeListener),n.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();let n={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),n}getViewportRect(){let n=this.getViewportScrollPosition(),{width:r,height:o}=this.getViewportSize();return{top:n.top,left:n.left,bottom:n.top+o,right:n.left+r,height:o,width:r}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};let n=this._document,r=this._getWindow(),o=n.documentElement,s=o.getBoundingClientRect(),a=-s.top||n.body.scrollTop||r.scrollY||o.scrollTop||0,c=-s.left||n.body.scrollLeft||r.scrollX||o.scrollLeft||0;return{top:a,left:c}}change(n=ule){return n>0?this._change.pipe(jv(n)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){let n=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:n.innerWidth,height:n.innerHeight}:{width:0,height:0}}};e.\u0275fac=function(r){return new(r||e)(X(gn),X(Fe),X(Xe,8))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();var Jo=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=rt({type:e}),e.\u0275inj=it({});let i=e;return i})(),cO=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=rt({type:e}),e.\u0275inj=it({imports:[Xc,Jo,Xc,Jo]});let i=e;return i})();var j_=class{attach(e){return this._attachedHost=e,e.attach(this)}detach(){let e=this._attachedHost;e!=null&&(this._attachedHost=null,e.detach())}get isAttached(){return this._attachedHost!=null}setAttachedHost(e){this._attachedHost=e}},Ai=class extends j_{constructor(e,t,n,r,o){super(),this.component=e,this.viewContainerRef=t,this.injector=n,this.componentFactoryResolver=r,this.projectableNodes=o}},Zr=class extends j_{constructor(e,t,n,r){super(),this.templateRef=e,this.viewContainerRef=t,this.context=n,this.injector=r}get origin(){return this.templateRef.elementRef}attach(e,t=this.context){return this.context=t,super.attach(e)}detach(){return this.context=void 0,super.detach()}},lO=class extends j_{constructor(e){super(),this.element=e instanceof Re?e.nativeElement:e}},da=class{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(e){if(e instanceof Ai)return this._attachedPortal=e,this.attachComponentPortal(e);if(e instanceof Zr)return this._attachedPortal=e,this.attachTemplatePortal(e);if(this.attachDomPortal&&e instanceof lO)return this._attachedPortal=e,this.attachDomPortal(e)}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(e){this._disposeFn=e}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}};var W_=class extends da{constructor(e,t,n,r,o){super(),this.outletElement=e,this._componentFactoryResolver=t,this._appRef=n,this._defaultInjector=r,this.attachDomPortal=s=>{this._document;let a=s.element;a.parentNode;let c=this._document.createComment("dom-portal");a.parentNode.insertBefore(c,a),this.outletElement.appendChild(a),this._attachedPortal=s,super.setDisposeFn(()=>{c.parentNode&&c.parentNode.replaceChild(a,c)})},this._document=o}attachComponentPortal(e){let n=(e.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(e.component),r;return e.viewContainerRef?(r=e.viewContainerRef.createComponent(n,e.viewContainerRef.length,e.injector||e.viewContainerRef.injector,e.projectableNodes||void 0),this.setDisposeFn(()=>r.destroy())):(r=n.create(e.injector||this._defaultInjector||vt.NULL),this._appRef.attachView(r.hostView),this.setDisposeFn(()=>{this._appRef.viewCount>0&&this._appRef.detachView(r.hostView),r.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(r)),this._attachedPortal=e,r}attachTemplatePortal(e){let t=e.viewContainerRef,n=t.createEmbeddedView(e.templateRef,e.context,{injector:e.injector});return n.rootNodes.forEach(r=>this.outletElement.appendChild(r)),n.detectChanges(),this.setDisposeFn(()=>{let r=t.indexOf(n);r!==-1&&t.remove(r)}),this._attachedPortal=e,n}dispose(){super.dispose(),this.outletElement.remove()}_getComponentRootNode(e){return e.hostView.rootNodes[0]}};var es=(()=>{let e=class e extends da{constructor(n,r,o){super(),this._componentFactoryResolver=n,this._viewContainerRef=r,this._isInitialized=!1,this.attached=new Ie,this.attachDomPortal=s=>{this._document;let a=s.element;a.parentNode;let c=this._document.createComment("dom-portal");s.setAttachedHost(this),a.parentNode.insertBefore(c,a),this._getRootNode().appendChild(a),this._attachedPortal=s,super.setDisposeFn(()=>{c.parentNode&&c.parentNode.replaceChild(a,c)})},this._document=o}get portal(){return this._attachedPortal}set portal(n){this.hasAttached()&&!n&&!this._isInitialized||(this.hasAttached()&&super.detach(),n&&super.attach(n),this._attachedPortal=n||null)}get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedRef=this._attachedPortal=null}attachComponentPortal(n){n.setAttachedHost(this);let r=n.viewContainerRef!=null?n.viewContainerRef:this._viewContainerRef,s=(n.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(n.component),a=r.createComponent(s,r.length,n.injector||r.injector,n.projectableNodes||void 0);return r!==this._viewContainerRef&&this._getRootNode().appendChild(a.hostView.rootNodes[0]),super.setDisposeFn(()=>a.destroy()),this._attachedPortal=n,this._attachedRef=a,this.attached.emit(a),a}attachTemplatePortal(n){n.setAttachedHost(this);let r=this._viewContainerRef.createEmbeddedView(n.templateRef,n.context,{injector:n.injector});return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=n,this._attachedRef=r,this.attached.emit(r),r}_getRootNode(){let n=this._viewContainerRef.element.nativeElement;return n.nodeType===n.ELEMENT_NODE?n:n.parentNode}};e.\u0275fac=function(r){return new(r||e)(M(us),M(Zt),M(Xe))},e.\u0275dir=Ve({type:e,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:[0,"cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],standalone:!0,features:[sn]});let i=e;return i})();var Es=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=rt({type:e}),e.\u0275inj=it({});let i=e;return i})();var qH=vy(),dO=class{constructor(e,t){this._viewportRuler=e,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=t}attach(){}enable(){if(this._canBeEnabled()){let e=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=e.style.left||"",this._previousHTMLStyles.top=e.style.top||"",e.style.left=yi(-this._previousScrollPosition.left),e.style.top=yi(-this._previousScrollPosition.top),e.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){let e=this._document.documentElement,t=this._document.body,n=e.style,r=t.style,o=n.scrollBehavior||"",s=r.scrollBehavior||"";this._isEnabled=!1,n.left=this._previousHTMLStyles.left,n.top=this._previousHTMLStyles.top,e.classList.remove("cdk-global-scrollblock"),qH&&(n.scrollBehavior=r.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),qH&&(n.scrollBehavior=o,r.scrollBehavior=s)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;let t=this._document.body,n=this._viewportRuler.getViewportSize();return t.scrollHeight>n.height||t.scrollWidth>n.width}};var uO=class{constructor(e,t,n,r){this._scrollDispatcher=e,this._ngZone=t,this._viewportRuler=n,this._config=r,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach(e){this._overlayRef,this._overlayRef=e}enable(){if(this._scrollSubscription)return;let e=this._scrollDispatcher.scrolled(0).pipe(qt(t=>!t||!this._overlayRef.overlayElement.contains(t.getElementRef().nativeElement)));this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=e.subscribe(()=>{let t=this._viewportRuler.getViewportScrollPosition().top;Math.abs(t-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=e.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}},sC=class{enable(){}disable(){}attach(){}};function hO(i,e){return e.some(t=>{let n=i.bottomt.bottom,o=i.rightt.right;return n||r||o||s})}function YH(i,e){return e.some(t=>{let n=i.topt.bottom,o=i.leftt.right;return n||r||o||s})}var pO=class{constructor(e,t,n,r){this._scrollDispatcher=e,this._viewportRuler=t,this._ngZone=n,this._config=r,this._scrollSubscription=null}attach(e){this._overlayRef,this._overlayRef=e}enable(){if(!this._scrollSubscription){let e=this._config?this._config.scrollThrottle:0;this._scrollSubscription=this._scrollDispatcher.scrolled(e).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){let t=this._overlayRef.overlayElement.getBoundingClientRect(),{width:n,height:r}=this._viewportRuler.getViewportSize();hO(t,[{width:n,height:r,bottom:r,right:n,top:0,left:0}])&&(this.disable(),this._ngZone.run(()=>this._overlayRef.detach()))}})}}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}},ple=(()=>{let e=class e{constructor(n,r,o,s){this._scrollDispatcher=n,this._viewportRuler=r,this._ngZone=o,this.noop=()=>new sC,this.close=a=>new uO(this._scrollDispatcher,this._ngZone,this._viewportRuler,a),this.block=()=>new dO(this._viewportRuler,this._document),this.reposition=a=>new pO(this._scrollDispatcher,this._viewportRuler,this._ngZone,a),this._document=s}};e.\u0275fac=function(r){return new(r||e)(X(xu),X(la),X(Fe),X(Xe))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})(),fi=class{constructor(e){if(this.scrollStrategy=new sC,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,e){let t=Object.keys(e);for(let n of t)e[n]!==void 0&&(this[n]=e[n])}}};var fO=class{constructor(e,t){this.connectionPair=e,this.scrollableViewProperties=t}};var eG=(()=>{let e=class e{constructor(n){this._attachedOverlays=[],this._document=n}ngOnDestroy(){this.detach()}add(n){this.remove(n),this._attachedOverlays.push(n)}remove(n){let r=this._attachedOverlays.indexOf(n);r>-1&&this._attachedOverlays.splice(r,1),this._attachedOverlays.length===0&&this.detach()}};e.\u0275fac=function(r){return new(r||e)(X(Xe))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})(),fle=(()=>{let e=class e extends eG{constructor(n,r){super(n),this._ngZone=r,this._keydownListener=o=>{let s=this._attachedOverlays;for(let a=s.length-1;a>-1;a--)if(s[a]._keydownEvents.observers.length>0){let c=s[a]._keydownEvents;this._ngZone?this._ngZone.run(()=>c.next(o)):c.next(o);break}}}add(n){super.add(n),this._isAttached||(this._ngZone?this._ngZone.runOutsideAngular(()=>this._document.body.addEventListener("keydown",this._keydownListener)):this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}};e.\u0275fac=function(r){return new(r||e)(X(Xe),X(Fe,8))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})(),mle=(()=>{let e=class e extends eG{constructor(n,r,o){super(n),this._platform=r,this._ngZone=o,this._cursorStyleIsSet=!1,this._pointerDownListener=s=>{this._pointerDownEventTarget=Ii(s)},this._clickListener=s=>{let a=Ii(s),c=s.type==="click"&&this._pointerDownEventTarget?this._pointerDownEventTarget:a;this._pointerDownEventTarget=null;let l=this._attachedOverlays.slice();for(let d=l.length-1;d>-1;d--){let u=l[d];if(u._outsidePointerEvents.observers.length<1||!u.hasAttached())continue;if(XH(u.overlayElement,a)||XH(u.overlayElement,c))break;let h=u._outsidePointerEvents;this._ngZone?this._ngZone.run(()=>h.next(s)):h.next(s)}}}add(n){if(super.add(n),!this._isAttached){let r=this._document.body;this._ngZone?this._ngZone.runOutsideAngular(()=>this._addEventListeners(r)):this._addEventListeners(r),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=r.style.cursor,r.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){let n=this._document.body;n.removeEventListener("pointerdown",this._pointerDownListener,!0),n.removeEventListener("click",this._clickListener,!0),n.removeEventListener("auxclick",this._clickListener,!0),n.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(n.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}_addEventListeners(n){n.addEventListener("pointerdown",this._pointerDownListener,!0),n.addEventListener("click",this._clickListener,!0),n.addEventListener("auxclick",this._clickListener,!0),n.addEventListener("contextmenu",this._clickListener,!0)}};e.\u0275fac=function(r){return new(r||e)(X(Xe),X(gn),X(Fe,8))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();function XH(i,e){let t=typeof ShadowRoot<"u"&&ShadowRoot,n=e;for(;n;){if(n===i)return!0;n=t&&n instanceof ShadowRoot?n.host:n.parentNode}return!1}var sf=(()=>{let e=class e{constructor(n,r){this._platform=r,this._document=n}ngOnDestroy(){this._containerElement?.remove()}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){let n="cdk-overlay-container";if(this._platform.isBrowser||jm()){let o=this._document.querySelectorAll(`.${n}[platform="server"], .${n}[platform="test"]`);for(let s=0;sthis._backdropClick.next(h),this._backdropTransitionendHandler=h=>{this._disposeBackdrop(h.target)},this._keydownEvents=new pe,this._outsidePointerEvents=new pe,this._renders=new pe,r.scrollStrategy&&(this._scrollStrategy=r.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=r.positionStrategy,this._afterRenderRef=zr(()=>Kf(()=>{this._renders.next()},{injector:this._injector}))}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(e){!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host);let t=this._portalOutlet.attach(e);return this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),Hi(()=>{this.hasAttached()&&this.updatePosition()},{injector:this._injector}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&(this._locationChanges=this._location.subscribe(()=>this.dispose())),this._outsideClickDispatcher.add(this),typeof t?.onDestroy=="function"&&t.onDestroy(()=>{this.hasAttached()&&this._ngZone.runOutsideAngular(()=>Promise.resolve().then(()=>this.detach()))}),t}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();let e=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenEmpty(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),e}dispose(){let e=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this._disposeBackdrop(this._backdropElement),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._outsidePointerEvents.complete(),this._outsideClickDispatcher.remove(this),this._host?.remove(),this._previousHostParent=this._pane=this._host=null,e&&this._detachments.next(),this._detachments.complete(),this._afterRenderRef.destroy(),this._renders.complete()}hasAttached(){return this._portalOutlet.hasAttached()}backdropClick(){return this._backdropClick}attachments(){return this._attachments}detachments(){return this._detachments}keydownEvents(){return this._keydownEvents}outsidePointerEvents(){return this._outsidePointerEvents}getConfig(){return this._config}updatePosition(){this._positionStrategy&&this._positionStrategy.apply()}updatePositionStrategy(e){e!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=e,this.hasAttached()&&(e.attach(this),this.updatePosition()))}updateSize(e){this._config=Z(Z({},this._config),e),this._updateElementSize()}setDirection(e){this._config=yt(Z({},this._config),{direction:e}),this._updateElementDirection()}addPanelClass(e){this._pane&&this._toggleClasses(this._pane,e,!0)}removePanelClass(e){this._pane&&this._toggleClasses(this._pane,e,!1)}getDirection(){let e=this._config.direction;return e?typeof e=="string"?e:e.value:"ltr"}updateScrollStrategy(e){e!==this._scrollStrategy&&(this._disposeScrollStrategy(),this._scrollStrategy=e,this.hasAttached()&&(e.attach(this),e.enable()))}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){if(!this._pane)return;let e=this._pane.style;e.width=yi(this._config.width),e.height=yi(this._config.height),e.minWidth=yi(this._config.minWidth),e.minHeight=yi(this._config.minHeight),e.maxWidth=yi(this._config.maxWidth),e.maxHeight=yi(this._config.maxHeight)}_togglePointerEvents(e){this._pane.style.pointerEvents=e?"":"none"}_attachBackdrop(){let e="cdk-overlay-backdrop-showing";this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._animationsDisabled&&this._backdropElement.classList.add("cdk-overlay-backdrop-noop-animation"),this._config.backdropClass&&this._toggleClasses(this._backdropElement,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropElement,this._host),this._backdropElement.addEventListener("click",this._backdropClickHandler),!this._animationsDisabled&&typeof requestAnimationFrame<"u"?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{this._backdropElement&&this._backdropElement.classList.add(e)})}):this._backdropElement.classList.add(e)}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){let e=this._backdropElement;if(e){if(this._animationsDisabled){this._disposeBackdrop(e);return}e.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{e.addEventListener("transitionend",this._backdropTransitionendHandler)}),e.style.pointerEvents="none",this._backdropTimeout=this._ngZone.runOutsideAngular(()=>setTimeout(()=>{this._disposeBackdrop(e)},500))}}_toggleClasses(e,t,n){let r=xd(t||[]).filter(o=>!!o);r.length&&(n?e.classList.add(...r):e.classList.remove(...r))}_detachContentWhenEmpty(){this._ngZone.runOutsideAngular(()=>{let e=this._renders.pipe(Ze(Zn(this._attachments,this._detachments))).subscribe(()=>{(!this._pane||!this._host||this._pane.children.length===0)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._host.remove()),e.unsubscribe())})})}_disposeScrollStrategy(){let e=this._scrollStrategy;e&&(e.disable(),e.detach&&e.detach())}_disposeBackdrop(e){e&&(e.removeEventListener("click",this._backdropClickHandler),e.removeEventListener("transitionend",this._backdropTransitionendHandler),e.remove(),this._backdropElement===e&&(this._backdropElement=null)),this._backdropTimeout&&(clearTimeout(this._backdropTimeout),this._backdropTimeout=void 0)}},ZH="cdk-overlay-connected-position-bounding-box",gle=/([A-Za-z%]+)$/,mO=class{get positions(){return this._preferredPositions}constructor(e,t,n,r,o){this._viewportRuler=t,this._document=n,this._platform=r,this._overlayContainer=o,this._lastBoundingBoxSize={width:0,height:0},this._isPushed=!1,this._canPush=!0,this._growAfterOpen=!1,this._hasFlexibleDimensions=!0,this._positionLocked=!1,this._viewportMargin=0,this._scrollables=[],this._preferredPositions=[],this._positionChanges=new pe,this._resizeSubscription=Ct.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(e)}attach(e){this._overlayRef&&this._overlayRef,this._validatePositions(),e.hostElement.classList.add(ZH),this._overlayRef=e,this._boundingBox=e.hostElement,this._pane=e.overlayElement,this._isDisposed=!1,this._isInitialRender=!0,this._lastPosition=null,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(()=>{this._isInitialRender=!0,this.apply()})}apply(){if(this._isDisposed||!this._platform.isBrowser)return;if(!this._isInitialRender&&this._positionLocked&&this._lastPosition){this.reapplyLastPosition();return}this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._containerRect=this._overlayContainer.getContainerElement().getBoundingClientRect();let e=this._originRect,t=this._overlayRect,n=this._viewportRect,r=this._containerRect,o=[],s;for(let a of this._preferredPositions){let c=this._getOriginPoint(e,r,a),l=this._getOverlayPoint(c,t,a),d=this._getOverlayFit(l,t,n,a);if(d.isCompletelyWithinViewport){this._isPushed=!1,this._applyPosition(a,c);return}if(this._canFitWithFlexibleDimensions(d,l,n)){o.push({position:a,origin:c,overlayRect:t,boundingBoxRect:this._calculateBoundingBoxRect(c,a)});continue}(!s||s.overlayFit.visibleAreac&&(c=d,a=l)}this._isPushed=!1,this._applyPosition(a.position,a.origin);return}if(this._canPush){this._isPushed=!0,this._applyPosition(s.position,s.originPoint);return}this._applyPosition(s.position,s.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&wu(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(ZH),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(this._isDisposed||!this._platform.isBrowser)return;let e=this._lastPosition;if(e){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect(),this._containerRect=this._overlayContainer.getContainerElement().getBoundingClientRect();let t=this._getOriginPoint(this._originRect,this._containerRect,e);this._applyPosition(e,t)}else this.apply()}withScrollableContainers(e){return this._scrollables=e,this}withPositions(e){return this._preferredPositions=e,e.indexOf(this._lastPosition)===-1&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(e){return this._viewportMargin=e,this}withFlexibleDimensions(e=!0){return this._hasFlexibleDimensions=e,this}withGrowAfterOpen(e=!0){return this._growAfterOpen=e,this}withPush(e=!0){return this._canPush=e,this}withLockedPosition(e=!0){return this._positionLocked=e,this}setOrigin(e){return this._origin=e,this}withDefaultOffsetX(e){return this._offsetX=e,this}withDefaultOffsetY(e){return this._offsetY=e,this}withTransformOriginOn(e){return this._transformOriginSelector=e,this}_getOriginPoint(e,t,n){let r;if(n.originX=="center")r=e.left+e.width/2;else{let s=this._isRtl()?e.right:e.left,a=this._isRtl()?e.left:e.right;r=n.originX=="start"?s:a}t.left<0&&(r-=t.left);let o;return n.originY=="center"?o=e.top+e.height/2:o=n.originY=="top"?e.top:e.bottom,t.top<0&&(o-=t.top),{x:r,y:o}}_getOverlayPoint(e,t,n){let r;n.overlayX=="center"?r=-t.width/2:n.overlayX==="start"?r=this._isRtl()?-t.width:0:r=this._isRtl()?0:-t.width;let o;return n.overlayY=="center"?o=-t.height/2:o=n.overlayY=="top"?0:-t.height,{x:e.x+r,y:e.y+o}}_getOverlayFit(e,t,n,r){let o=KH(t),{x:s,y:a}=e,c=this._getOffset(r,"x"),l=this._getOffset(r,"y");c&&(s+=c),l&&(a+=l);let d=0-s,u=s+o.width-n.width,h=0-a,p=a+o.height-n.height,f=this._subtractOverflows(o.width,d,u),m=this._subtractOverflows(o.height,h,p),y=f*m;return{visibleArea:y,isCompletelyWithinViewport:o.width*o.height===y,fitsInViewportVertically:m===o.height,fitsInViewportHorizontally:f==o.width}}_canFitWithFlexibleDimensions(e,t,n){if(this._hasFlexibleDimensions){let r=n.bottom-t.y,o=n.right-t.x,s=QH(this._overlayRef.getConfig().minHeight),a=QH(this._overlayRef.getConfig().minWidth),c=e.fitsInViewportVertically||s!=null&&s<=r,l=e.fitsInViewportHorizontally||a!=null&&a<=o;return c&&l}return!1}_pushOverlayOnScreen(e,t,n){if(this._previousPushAmount&&this._positionLocked)return{x:e.x+this._previousPushAmount.x,y:e.y+this._previousPushAmount.y};let r=KH(t),o=this._viewportRect,s=Math.max(e.x+r.width-o.width,0),a=Math.max(e.y+r.height-o.height,0),c=Math.max(o.top-n.top-e.y,0),l=Math.max(o.left-n.left-e.x,0),d=0,u=0;return r.width<=o.width?d=l||-s:d=e.xf&&!this._isInitialRender&&!this._growAfterOpen&&(s=e.y-f/2)}let c=t.overlayX==="start"&&!r||t.overlayX==="end"&&r,l=t.overlayX==="end"&&!r||t.overlayX==="start"&&r,d,u,h;if(l)h=n.width-e.x+this._viewportMargin*2,d=e.x-this._viewportMargin;else if(c)u=e.x,d=n.right-e.x;else{let p=Math.min(n.right-e.x+n.left,e.x),f=this._lastBoundingBoxSize.width;d=p*2,u=e.x-p,d>f&&!this._isInitialRender&&!this._growAfterOpen&&(u=e.x-f/2)}return{top:s,left:u,bottom:a,right:h,width:d,height:o}}_setBoundingBoxStyles(e,t){let n=this._calculateBoundingBoxRect(e,t);!this._isInitialRender&&!this._growAfterOpen&&(n.height=Math.min(n.height,this._lastBoundingBoxSize.height),n.width=Math.min(n.width,this._lastBoundingBoxSize.width));let r={};if(this._hasExactPosition())r.top=r.left="0",r.bottom=r.right=r.maxHeight=r.maxWidth="",r.width=r.height="100%";else{let o=this._overlayRef.getConfig().maxHeight,s=this._overlayRef.getConfig().maxWidth;r.height=yi(n.height),r.top=yi(n.top),r.bottom=yi(n.bottom),r.width=yi(n.width),r.left=yi(n.left),r.right=yi(n.right),t.overlayX==="center"?r.alignItems="center":r.alignItems=t.overlayX==="end"?"flex-end":"flex-start",t.overlayY==="center"?r.justifyContent="center":r.justifyContent=t.overlayY==="bottom"?"flex-end":"flex-start",o&&(r.maxHeight=yi(o)),s&&(r.maxWidth=yi(s))}this._lastBoundingBoxSize=n,wu(this._boundingBox.style,r)}_resetBoundingBoxStyles(){wu(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){wu(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(e,t){let n={},r=this._hasExactPosition(),o=this._hasFlexibleDimensions,s=this._overlayRef.getConfig();if(r){let d=this._viewportRuler.getViewportScrollPosition();wu(n,this._getExactOverlayY(t,e,d)),wu(n,this._getExactOverlayX(t,e,d))}else n.position="static";let a="",c=this._getOffset(t,"x"),l=this._getOffset(t,"y");c&&(a+=`translateX(${c}px) `),l&&(a+=`translateY(${l}px)`),n.transform=a.trim(),s.maxHeight&&(r?n.maxHeight=yi(s.maxHeight):o&&(n.maxHeight="")),s.maxWidth&&(r?n.maxWidth=yi(s.maxWidth):o&&(n.maxWidth="")),wu(this._pane.style,n)}_getExactOverlayY(e,t,n){let r={top:"",bottom:""},o=this._getOverlayPoint(t,this._overlayRect,e);if(this._isPushed&&(o=this._pushOverlayOnScreen(o,this._overlayRect,n)),e.overlayY==="bottom"){let s=this._document.documentElement.clientHeight;r.bottom=`${s-(o.y+this._overlayRect.height)}px`}else r.top=yi(o.y);return r}_getExactOverlayX(e,t,n){let r={left:"",right:""},o=this._getOverlayPoint(t,this._overlayRect,e);this._isPushed&&(o=this._pushOverlayOnScreen(o,this._overlayRect,n));let s;if(this._isRtl()?s=e.overlayX==="end"?"left":"right":s=e.overlayX==="end"?"right":"left",s==="right"){let a=this._document.documentElement.clientWidth;r.right=`${a-(o.x+this._overlayRect.width)}px`}else r.left=yi(o.x);return r}_getScrollVisibility(){let e=this._getOriginRect(),t=this._pane.getBoundingClientRect(),n=this._scrollables.map(r=>r.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:YH(e,n),isOriginOutsideView:hO(e,n),isOverlayClipped:YH(t,n),isOverlayOutsideView:hO(t,n)}}_subtractOverflows(e,...t){return t.reduce((n,r)=>n-Math.max(r,0),e)}_getNarrowedViewportRect(){let e=this._document.documentElement.clientWidth,t=this._document.documentElement.clientHeight,n=this._viewportRuler.getViewportScrollPosition();return{top:n.top+this._viewportMargin,left:n.left+this._viewportMargin,right:n.left+e-this._viewportMargin,bottom:n.top+t-this._viewportMargin,width:e-2*this._viewportMargin,height:t-2*this._viewportMargin}}_isRtl(){return this._overlayRef.getDirection()==="rtl"}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(e,t){return t==="x"?e.offsetX==null?this._offsetX:e.offsetX:e.offsetY==null?this._offsetY:e.offsetY}_validatePositions(){}_addPanelClasses(e){this._pane&&xd(e).forEach(t=>{t!==""&&this._appliedPanelClasses.indexOf(t)===-1&&(this._appliedPanelClasses.push(t),this._pane.classList.add(t))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(e=>{this._pane.classList.remove(e)}),this._appliedPanelClasses=[])}_getOriginRect(){let e=this._origin;if(e instanceof Re)return e.nativeElement.getBoundingClientRect();if(e instanceof Element)return e.getBoundingClientRect();let t=e.width||0,n=e.height||0;return{top:e.y,bottom:e.y+n,left:e.x,right:e.x+t,height:n,width:t}}};function wu(i,e){for(let t in e)e.hasOwnProperty(t)&&(i[t]=e[t]);return i}function QH(i){if(typeof i!="number"&&i!=null){let[e,t]=i.split(gle);return!t||t==="px"?parseFloat(e):null}return i||null}function KH(i){return{top:Math.floor(i.top),right:Math.floor(i.right),bottom:Math.floor(i.bottom),left:Math.floor(i.left),width:Math.floor(i.width),height:Math.floor(i.height)}}function _le(i,e){return i===e?!0:i.isOriginClipped===e.isOriginClipped&&i.isOriginOutsideView===e.isOriginOutsideView&&i.isOverlayClipped===e.isOverlayClipped&&i.isOverlayOutsideView===e.isOverlayOutsideView}var JH="cdk-global-overlay-wrapper",gO=class{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._alignItems="",this._xPosition="",this._xOffset="",this._width="",this._height="",this._isDisposed=!1}attach(e){let t=e.getConfig();this._overlayRef=e,this._width&&!t.width&&e.updateSize({width:this._width}),this._height&&!t.height&&e.updateSize({height:this._height}),e.hostElement.classList.add(JH),this._isDisposed=!1}top(e=""){return this._bottomOffset="",this._topOffset=e,this._alignItems="flex-start",this}left(e=""){return this._xOffset=e,this._xPosition="left",this}bottom(e=""){return this._topOffset="",this._bottomOffset=e,this._alignItems="flex-end",this}right(e=""){return this._xOffset=e,this._xPosition="right",this}start(e=""){return this._xOffset=e,this._xPosition="start",this}end(e=""){return this._xOffset=e,this._xPosition="end",this}width(e=""){return this._overlayRef?this._overlayRef.updateSize({width:e}):this._width=e,this}height(e=""){return this._overlayRef?this._overlayRef.updateSize({height:e}):this._height=e,this}centerHorizontally(e=""){return this.left(e),this._xPosition="center",this}centerVertically(e=""){return this.top(e),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;let e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement.style,n=this._overlayRef.getConfig(),{width:r,height:o,maxWidth:s,maxHeight:a}=n,c=(r==="100%"||r==="100vw")&&(!s||s==="100%"||s==="100vw"),l=(o==="100%"||o==="100vh")&&(!a||a==="100%"||a==="100vh"),d=this._xPosition,u=this._xOffset,h=this._overlayRef.getConfig().direction==="rtl",p="",f="",m="";c?m="flex-start":d==="center"?(m="center",h?f=u:p=u):h?d==="left"||d==="end"?(m="flex-end",p=u):(d==="right"||d==="start")&&(m="flex-start",f=u):d==="left"||d==="start"?(m="flex-start",p=u):(d==="right"||d==="end")&&(m="flex-end",f=u),e.position=this._cssPosition,e.marginLeft=c?"0":p,e.marginTop=l?"0":this._topOffset,e.marginBottom=this._bottomOffset,e.marginRight=c?"0":f,t.justifyContent=m,t.alignItems=l?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;let e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement,n=t.style;t.classList.remove(JH),n.justifyContent=n.alignItems=e.marginTop=e.marginBottom=e.marginLeft=e.marginRight=e.position="",this._overlayRef=null,this._isDisposed=!0}},vle=(()=>{let e=class e{constructor(n,r,o,s){this._viewportRuler=n,this._document=r,this._platform=o,this._overlayContainer=s}global(){return new gO}flexibleConnectedTo(n){return new mO(n,this._viewportRuler,this._document,this._platform,this._overlayContainer)}};e.\u0275fac=function(r){return new(r||e)(X(la),X(Xe),X(gn),X(sf))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})(),ble=0,$t=(()=>{let e=class e{constructor(n,r,o,s,a,c,l,d,u,h,p,f){this.scrollStrategies=n,this._overlayContainer=r,this._componentFactoryResolver=o,this._positionBuilder=s,this._keyboardDispatcher=a,this._injector=c,this._ngZone=l,this._document=d,this._directionality=u,this._location=h,this._outsideClickDispatcher=p,this._animationsModuleType=f}create(n){let r=this._createHostElement(),o=this._createPaneElement(r),s=this._createPortalOutlet(o),a=new fi(n);return a.direction=a.direction||this._directionality.value,new cc(s,r,o,a,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher,this._animationsModuleType==="NoopAnimations",this._injector.get(Xi))}position(){return this._positionBuilder}_createPaneElement(n){let r=this._document.createElement("div");return r.id=`cdk-overlay-${ble++}`,r.classList.add("cdk-overlay-pane"),n.appendChild(r),r}_createHostElement(){let n=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(n),n}_createPortalOutlet(n){return this._appRef||(this._appRef=this._injector.get(hs)),new W_(n,this._componentFactoryResolver,this._appRef,this._injector,this._document)}};e.\u0275fac=function(r){return new(r||e)(X(ple),X(sf),X(us),X(vle),X(fle),X(vt),X(Fe),X(Xe),X(di),X(Ra),X(mle),X(jn,8))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})(),yle=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom"},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],tG=new me("cdk-connected-overlay-scroll-strategy",{providedIn:"root",factory:()=>{let i=te($t);return()=>i.scrollStrategies.reposition()}}),$_=(()=>{let e=class e{constructor(n){this.elementRef=n}};e.\u0275fac=function(r){return new(r||e)(M(Re))},e.\u0275dir=Ve({type:e,selectors:[["","cdk-overlay-origin",""],["","overlay-origin",""],["","cdkOverlayOrigin",""]],exportAs:["cdkOverlayOrigin"],standalone:!0});let i=e;return i})(),_O=(()=>{let e=class e{get offsetX(){return this._offsetX}set offsetX(n){this._offsetX=n,this._position&&this._updatePositionStrategy(this._position)}get offsetY(){return this._offsetY}set offsetY(n){this._offsetY=n,this._position&&this._updatePositionStrategy(this._position)}get disposeOnNavigation(){return this._disposeOnNavigation}set disposeOnNavigation(n){this._disposeOnNavigation=n}constructor(n,r,o,s,a){this._overlay=n,this._dir=a,this._backdropSubscription=Ct.EMPTY,this._attachSubscription=Ct.EMPTY,this._detachSubscription=Ct.EMPTY,this._positionSubscription=Ct.EMPTY,this._disposeOnNavigation=!1,this._ngZone=te(Fe),this.viewportMargin=0,this.open=!1,this.disableClose=!1,this.hasBackdrop=!1,this.lockPosition=!1,this.flexibleDimensions=!1,this.growAfterOpen=!1,this.push=!1,this.backdropClick=new Ie,this.positionChange=new Ie,this.attach=new Ie,this.detach=new Ie,this.overlayKeydown=new Ie,this.overlayOutsideClick=new Ie,this._templatePortal=new Zr(r,o),this._scrollStrategyFactory=s,this.scrollStrategy=this._scrollStrategyFactory()}get overlayRef(){return this._overlayRef}get dir(){return this._dir?this._dir.value:"ltr"}ngOnDestroy(){this._attachSubscription.unsubscribe(),this._detachSubscription.unsubscribe(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this._overlayRef&&this._overlayRef.dispose()}ngOnChanges(n){this._position&&(this._updatePositionStrategy(this._position),this._overlayRef.updateSize({width:this.width,minWidth:this.minWidth,height:this.height,minHeight:this.minHeight}),n.origin&&this.open&&this._position.apply()),n.open&&(this.open?this._attachOverlay():this._detachOverlay())}_createOverlay(){(!this.positions||!this.positions.length)&&(this.positions=yle);let n=this._overlayRef=this._overlay.create(this._buildConfig());this._attachSubscription=n.attachments().subscribe(()=>this.attach.emit()),this._detachSubscription=n.detachments().subscribe(()=>this.detach.emit()),n.keydownEvents().subscribe(r=>{this.overlayKeydown.next(r),r.keyCode===27&&!this.disableClose&&!bi(r)&&(r.preventDefault(),this._detachOverlay())}),this._overlayRef.outsidePointerEvents().subscribe(r=>{let o=this._getOriginElement(),s=Ii(r);(!o||o!==s&&!o.contains(s))&&this.overlayOutsideClick.next(r)})}_buildConfig(){let n=this._position=this.positionStrategy||this._createPositionStrategy(),r=new fi({direction:this._dir,positionStrategy:n,scrollStrategy:this.scrollStrategy,hasBackdrop:this.hasBackdrop,disposeOnNavigation:this.disposeOnNavigation});return(this.width||this.width===0)&&(r.width=this.width),(this.height||this.height===0)&&(r.height=this.height),(this.minWidth||this.minWidth===0)&&(r.minWidth=this.minWidth),(this.minHeight||this.minHeight===0)&&(r.minHeight=this.minHeight),this.backdropClass&&(r.backdropClass=this.backdropClass),this.panelClass&&(r.panelClass=this.panelClass),r}_updatePositionStrategy(n){let r=this.positions.map(o=>({originX:o.originX,originY:o.originY,overlayX:o.overlayX,overlayY:o.overlayY,offsetX:o.offsetX||this.offsetX,offsetY:o.offsetY||this.offsetY,panelClass:o.panelClass||void 0}));return n.setOrigin(this._getOrigin()).withPositions(r).withFlexibleDimensions(this.flexibleDimensions).withPush(this.push).withGrowAfterOpen(this.growAfterOpen).withViewportMargin(this.viewportMargin).withLockedPosition(this.lockPosition).withTransformOriginOn(this.transformOriginSelector)}_createPositionStrategy(){let n=this._overlay.position().flexibleConnectedTo(this._getOrigin());return this._updatePositionStrategy(n),n}_getOrigin(){return this.origin instanceof $_?this.origin.elementRef:this.origin}_getOriginElement(){return this.origin instanceof $_?this.origin.elementRef.nativeElement:this.origin instanceof Re?this.origin.nativeElement:typeof Element<"u"&&this.origin instanceof Element?this.origin:null}_attachOverlay(){this._overlayRef?this._overlayRef.getConfig().hasBackdrop=this.hasBackdrop:this._createOverlay(),this._overlayRef.hasAttached()||this._overlayRef.attach(this._templatePortal),this.hasBackdrop?this._backdropSubscription=this._overlayRef.backdropClick().subscribe(n=>{this.backdropClick.emit(n)}):this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this.positionChange.observers.length>0&&(this._positionSubscription=this._position.positionChanges.pipe(NS(()=>this.positionChange.observers.length>0)).subscribe(n=>{this._ngZone.run(()=>this.positionChange.emit(n)),this.positionChange.observers.length===0&&this._positionSubscription.unsubscribe()}))}_detachOverlay(){this._overlayRef&&this._overlayRef.detach(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe()}};e.\u0275fac=function(r){return new(r||e)(M($t),M(Wn),M(Zt),M(tG),M(di,8))},e.\u0275dir=Ve({type:e,selectors:[["","cdk-connected-overlay",""],["","connected-overlay",""],["","cdkConnectedOverlay",""]],inputs:{origin:[0,"cdkConnectedOverlayOrigin","origin"],positions:[0,"cdkConnectedOverlayPositions","positions"],positionStrategy:[0,"cdkConnectedOverlayPositionStrategy","positionStrategy"],offsetX:[0,"cdkConnectedOverlayOffsetX","offsetX"],offsetY:[0,"cdkConnectedOverlayOffsetY","offsetY"],width:[0,"cdkConnectedOverlayWidth","width"],height:[0,"cdkConnectedOverlayHeight","height"],minWidth:[0,"cdkConnectedOverlayMinWidth","minWidth"],minHeight:[0,"cdkConnectedOverlayMinHeight","minHeight"],backdropClass:[0,"cdkConnectedOverlayBackdropClass","backdropClass"],panelClass:[0,"cdkConnectedOverlayPanelClass","panelClass"],viewportMargin:[0,"cdkConnectedOverlayViewportMargin","viewportMargin"],scrollStrategy:[0,"cdkConnectedOverlayScrollStrategy","scrollStrategy"],open:[0,"cdkConnectedOverlayOpen","open"],disableClose:[0,"cdkConnectedOverlayDisableClose","disableClose"],transformOriginSelector:[0,"cdkConnectedOverlayTransformOriginOn","transformOriginSelector"],hasBackdrop:[2,"cdkConnectedOverlayHasBackdrop","hasBackdrop",et],lockPosition:[2,"cdkConnectedOverlayLockPosition","lockPosition",et],flexibleDimensions:[2,"cdkConnectedOverlayFlexibleDimensions","flexibleDimensions",et],growAfterOpen:[2,"cdkConnectedOverlayGrowAfterOpen","growAfterOpen",et],push:[2,"cdkConnectedOverlayPush","push",et],disposeOnNavigation:[2,"cdkConnectedOverlayDisposeOnNavigation","disposeOnNavigation",et]},outputs:{backdropClick:"backdropClick",positionChange:"positionChange",attach:"attach",detach:"detach",overlayKeydown:"overlayKeydown",overlayOutsideClick:"overlayOutsideClick"},exportAs:["cdkConnectedOverlay"],standalone:!0,features:[nn,dn]});let i=e;return i})();function xle(i){return()=>i.scrollStrategies.reposition()}var wle={provide:tG,deps:[$t],useFactory:xle},oo=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=rt({type:e}),e.\u0275inj=it({providers:[$t,wle],imports:[Xc,Es,cO,cO]});let i=e;return i})();var Cle=["*"],aC;function Sle(){if(aC===void 0&&(aC=null,typeof window<"u")){let i=window;i.trustedTypes!==void 0&&(aC=i.trustedTypes.createPolicy("angular#components",{createHTML:e=>e}))}return aC}function q_(i){return Sle()?.createHTML(i)||i}function nG(i){return Error(`Unable to find icon with the name "${i}"`)}function Mle(){return Error("Could not find HttpClient provider for use with Angular Material icons. Please include the HttpClientModule from @angular/common/http in your app imports.")}function iG(i){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${i}".`)}function rG(i){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${i}".`)}var lc=class{constructor(e,t,n){this.url=e,this.svgText=t,this.options=n}},Ele=(()=>{let e=class e{constructor(n,r,o,s){this._httpClient=n,this._sanitizer=r,this._errorHandler=s,this._svgIconConfigs=new Map,this._iconSetConfigs=new Map,this._cachedIconsByUrl=new Map,this._inProgressUrlFetches=new Map,this._fontCssClassesByAlias=new Map,this._resolvers=[],this._defaultFontSetClass=["material-icons","mat-ligature-font"],this._document=o}addSvgIcon(n,r,o){return this.addSvgIconInNamespace("",n,r,o)}addSvgIconLiteral(n,r,o){return this.addSvgIconLiteralInNamespace("",n,r,o)}addSvgIconInNamespace(n,r,o,s){return this._addSvgIconConfig(n,r,new lc(o,null,s))}addSvgIconResolver(n){return this._resolvers.push(n),this}addSvgIconLiteralInNamespace(n,r,o,s){let a=this._sanitizer.sanitize(Fr.HTML,o);if(!a)throw rG(o);let c=q_(a);return this._addSvgIconConfig(n,r,new lc("",c,s))}addSvgIconSet(n,r){return this.addSvgIconSetInNamespace("",n,r)}addSvgIconSetLiteral(n,r){return this.addSvgIconSetLiteralInNamespace("",n,r)}addSvgIconSetInNamespace(n,r,o){return this._addSvgIconSetConfig(n,new lc(r,null,o))}addSvgIconSetLiteralInNamespace(n,r,o){let s=this._sanitizer.sanitize(Fr.HTML,r);if(!s)throw rG(r);let a=q_(s);return this._addSvgIconSetConfig(n,new lc("",a,o))}registerFontClassAlias(n,r=n){return this._fontCssClassesByAlias.set(n,r),this}classNameForFontAlias(n){return this._fontCssClassesByAlias.get(n)||n}setDefaultFontSetClass(...n){return this._defaultFontSetClass=n,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(n){let r=this._sanitizer.sanitize(Fr.RESOURCE_URL,n);if(!r)throw iG(n);let o=this._cachedIconsByUrl.get(r);return o?Ke(cC(o)):this._loadSvgIconFromConfig(new lc(n,null)).pipe(En(s=>this._cachedIconsByUrl.set(r,s)),Je(s=>cC(s)))}getNamedSvgIcon(n,r=""){let o=oG(r,n),s=this._svgIconConfigs.get(o);if(s)return this._getSvgFromConfig(s);if(s=this._getIconConfigFromResolvers(r,n),s)return this._svgIconConfigs.set(o,s),this._getSvgFromConfig(s);let a=this._iconSetConfigs.get(r);return a?this._getSvgFromIconSetConfigs(n,a):vc(nG(o))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(n){return n.svgText?Ke(cC(this._svgElementFromConfig(n))):this._loadSvgIconFromConfig(n).pipe(Je(r=>cC(r)))}_getSvgFromIconSetConfigs(n,r){let o=this._extractIconWithNameFromAnySet(n,r);if(o)return Ke(o);let s=r.filter(a=>!a.svgText).map(a=>this._loadSvgIconSetFromConfig(a).pipe(Os(c=>{let d=`Loading icon set URL: ${this._sanitizer.sanitize(Fr.RESOURCE_URL,a.url)} failed: ${c.message}`;return this._errorHandler.handleError(new Error(d)),Ke(null)})));return Pf(s).pipe(Je(()=>{let a=this._extractIconWithNameFromAnySet(n,r);if(!a)throw nG(n);return a}))}_extractIconWithNameFromAnySet(n,r){for(let o=r.length-1;o>=0;o--){let s=r[o];if(s.svgText&&s.svgText.toString().indexOf(n)>-1){let a=this._svgElementFromConfig(s),c=this._extractSvgIconFromSet(a,n,s.options);if(c)return c}}return null}_loadSvgIconFromConfig(n){return this._fetchIcon(n).pipe(En(r=>n.svgText=r),Je(()=>this._svgElementFromConfig(n)))}_loadSvgIconSetFromConfig(n){return n.svgText?Ke(null):this._fetchIcon(n).pipe(En(r=>n.svgText=r))}_extractSvgIconFromSet(n,r,o){let s=n.querySelector(`[id="${r}"]`);if(!s)return null;let a=s.cloneNode(!0);if(a.removeAttribute("id"),a.nodeName.toLowerCase()==="svg")return this._setSvgAttributes(a,o);if(a.nodeName.toLowerCase()==="symbol")return this._setSvgAttributes(this._toSvgElement(a),o);let c=this._svgElementFromString(q_(""));return c.appendChild(a),this._setSvgAttributes(c,o)}_svgElementFromString(n){let r=this._document.createElement("DIV");r.innerHTML=n;let o=r.querySelector("svg");if(!o)throw Error(" tag not found");return o}_toSvgElement(n){let r=this._svgElementFromString(q_("")),o=n.attributes;for(let s=0;sq_(d)),wc(()=>this._inProgressUrlFetches.delete(a)),Af());return this._inProgressUrlFetches.set(a,l),l}_addSvgIconConfig(n,r,o){return this._svgIconConfigs.set(oG(n,r),o),this}_addSvgIconSetConfig(n,r){let o=this._iconSetConfigs.get(n);return o?o.push(r):this._iconSetConfigs.set(n,[r]),this}_svgElementFromConfig(n){if(!n.svgElement){let r=this._svgElementFromString(n.svgText);this._setSvgAttributes(r,n.options),n.svgElement=r}return n.svgElement}_getIconConfigFromResolvers(n,r){for(let o=0;oe?e.pathname+e.search:""}}var sG=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],Ole=sG.map(i=>`[${i}]`).join(", "),Rle=/^url\(['"]?#(.*?)['"]?\)$/,pt=(()=>{let e=class e{get color(){return this._color||this._defaultColor}set color(n){this._color=n}get svgIcon(){return this._svgIcon}set svgIcon(n){n!==this._svgIcon&&(n?this._updateSvgIcon(n):this._svgIcon&&this._clearSvgElement(),this._svgIcon=n)}get fontSet(){return this._fontSet}set fontSet(n){let r=this._cleanupFontValue(n);r!==this._fontSet&&(this._fontSet=r,this._updateFontIconClasses())}get fontIcon(){return this._fontIcon}set fontIcon(n){let r=this._cleanupFontValue(n);r!==this._fontIcon&&(this._fontIcon=r,this._updateFontIconClasses())}constructor(n,r,o,s,a,c){this._elementRef=n,this._iconRegistry=r,this._location=s,this._errorHandler=a,this.inline=!1,this._previousFontSetClass=[],this._currentIconFetch=Ct.EMPTY,c&&(c.color&&(this.color=this._defaultColor=c.color),c.fontSet&&(this.fontSet=c.fontSet)),o||n.nativeElement.setAttribute("aria-hidden","true")}_splitIconName(n){if(!n)return["",""];let r=n.split(":");switch(r.length){case 1:return["",r[0]];case 2:return r;default:throw Error(`Invalid icon name: "${n}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){let n=this._elementsWithExternalReferences;if(n&&n.size){let r=this._location.getPathname();r!==this._previousPath&&(this._previousPath=r,this._prependPathToReferences(r))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(n){this._clearSvgElement();let r=this._location.getPathname();this._previousPath=r,this._cacheChildrenWithExternalReferences(n),this._prependPathToReferences(r),this._elementRef.nativeElement.appendChild(n)}_clearSvgElement(){let n=this._elementRef.nativeElement,r=n.childNodes.length;for(this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear();r--;){let o=n.childNodes[r];(o.nodeType!==1||o.nodeName.toLowerCase()==="svg")&&o.remove()}}_updateFontIconClasses(){if(!this._usingFontIcon())return;let n=this._elementRef.nativeElement,r=(this.fontSet?this._iconRegistry.classNameForFontAlias(this.fontSet).split(/ +/):this._iconRegistry.getDefaultFontSetClass()).filter(o=>o.length>0);this._previousFontSetClass.forEach(o=>n.classList.remove(o)),r.forEach(o=>n.classList.add(o)),this._previousFontSetClass=r,this.fontIcon!==this._previousFontIconClass&&!r.includes("mat-ligature-font")&&(this._previousFontIconClass&&n.classList.remove(this._previousFontIconClass),this.fontIcon&&n.classList.add(this.fontIcon),this._previousFontIconClass=this.fontIcon)}_cleanupFontValue(n){return typeof n=="string"?n.trim().split(" ")[0]:n}_prependPathToReferences(n){let r=this._elementsWithExternalReferences;r&&r.forEach((o,s)=>{o.forEach(a=>{s.setAttribute(a.name,`url('${n}#${a.value}')`)})})}_cacheChildrenWithExternalReferences(n){let r=n.querySelectorAll(Ole),o=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let s=0;s{let c=r[s],l=c.getAttribute(a),d=l?l.match(Rle):null;if(d){let u=o.get(c);u||(u=[],o.set(c,u)),u.push({name:a,value:d[1]})}})}_updateSvgIcon(n){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),n){let[r,o]=this._splitIconName(n);r&&(this._svgNamespace=r),o&&(this._svgName=o),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(o,r).pipe(_n(1)).subscribe(s=>this._setSvgElement(s),s=>{let a=`Error retrieving icon ${r}:${o}! ${s.message}`;this._errorHandler.handleError(new Error(a))})}}};e.\u0275fac=function(r){return new(r||e)(M(Re),M(Ele),Lr("aria-hidden"),M(Dle),M(Nr),M(Tle,8))},e.\u0275cmp=ce({type:e,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:10,hostBindings:function(r,o){r&2&&(Ye("data-mat-icon-type",o._usingFontIcon()?"font":"svg")("data-mat-icon-name",o._svgName||o.fontIcon)("data-mat-icon-namespace",o._svgNamespace||o.fontSet)("fontIcon",o._usingFontIcon()?o.fontIcon:null),Vr(o.color?"mat-"+o.color:""),re("mat-icon-inline",o.inline)("mat-icon-no-color",o.color!=="primary"&&o.color!=="accent"&&o.color!=="warn"))},inputs:{color:"color",inline:[2,"inline","inline",et],svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],standalone:!0,features:[nn,le],ngContentSelectors:Cle,decls:1,vars:0,template:function(r,o){r&1&&(In(),Wt(0))},styles:["mat-icon,mat-icon.mat-primary,mat-icon.mat-accent,mat-icon.mat-warn{color:var(--mat-icon-color)}.mat-icon{-webkit-user-select:none;user-select:none;background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px;overflow:hidden}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}.mat-icon.mat-ligature-font[fontIcon]::before{content:attr(fontIcon)}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1, 1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto}"],encapsulation:2,changeDetection:0});let i=e;return i})(),tt=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=rt({type:e}),e.\u0275inj=it({imports:[Ut,Ut]});let i=e;return i})();var Ale=["mat-menu-item",""],Nle=[[["mat-icon"],["","matMenuItemIcon",""]],"*"],kle=["mat-icon, [matMenuItemIcon]","*"];function Lle(i,e){i&1&&(uo(),v(0,"svg",2),ee(1,"polygon",3),b())}var Fle=["*"];function Ble(i,e){if(i&1){let t=ne();v(0,"div",0),H("keydown",function(r){B(t);let o=I();return V(o._handleKeydown(r))})("click",function(){B(t);let r=I();return V(r.closed.emit("click"))})("@transformMenu.start",function(r){B(t);let o=I();return V(o._onAnimationStart(r))})("@transformMenu.done",function(r){B(t);let o=I();return V(o._onAnimationDone(r))}),v(1,"div",1),Wt(2),b()()}if(i&2){let t=I();Vr(t._classList),R("id",t.panelId)("@transformMenu",t._panelAnimationState),Ye("aria-label",t.ariaLabel||null)("aria-labelledby",t.ariaLabelledby||null)("aria-describedby",t.ariaDescribedby||null)}}var vO=new me("MAT_MENU_PANEL"),Y_=(()=>{let e=class e{constructor(n,r,o,s,a){this._elementRef=n,this._document=r,this._focusMonitor=o,this._parentMenu=s,this._changeDetectorRef=a,this.role="menuitem",this.disabled=!1,this.disableRipple=!1,this._hovered=new pe,this._focused=new pe,this._highlighted=!1,this._triggersSubmenu=!1,s?.addItem?.(this)}focus(n,r){this._focusMonitor&&n?this._focusMonitor.focusVia(this._getHostElement(),n,r):this._getHostElement().focus(r),this._focused.next(this)}ngAfterViewInit(){this._focusMonitor&&this._focusMonitor.monitor(this._elementRef,!1)}ngOnDestroy(){this._focusMonitor&&this._focusMonitor.stopMonitoring(this._elementRef),this._parentMenu&&this._parentMenu.removeItem&&this._parentMenu.removeItem(this),this._hovered.complete(),this._focused.complete()}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._elementRef.nativeElement}_checkDisabled(n){this.disabled&&(n.preventDefault(),n.stopPropagation())}_handleMouseEnter(){this._hovered.next(this)}getLabel(){let n=this._elementRef.nativeElement.cloneNode(!0),r=n.querySelectorAll("mat-icon, .material-icons");for(let o=0;o enter",Rn("120ms cubic-bezier(0, 0, 0.2, 1)",Kt({opacity:1,transform:"scale(1)"}))),An("* => void",Rn("100ms 25ms linear",Kt({opacity:0})))]),fadeInItems:li("fadeInItems",[vi("showing",Kt({opacity:1})),An("void => *",[Kt({opacity:0}),Rn("400ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])},WHe=lC.fadeInItems,$He=lC.transformMenu,zle=0,Ule=new me("mat-menu-default-options",{providedIn:"root",factory:Hle});function Hle(){return{overlapTrigger:!1,xPosition:"after",yPosition:"below",backdropClass:"cdk-overlay-transparent-backdrop"}}var ns=(()=>{let e=class e{get xPosition(){return this._xPosition}set xPosition(n){this._xPosition=n,this.setPositionClasses()}get yPosition(){return this._yPosition}set yPosition(n){this._yPosition=n,this.setPositionClasses()}set panelClass(n){let r=this._previousPanelClass,o=Z({},this._classList);r&&r.length&&r.split(" ").forEach(s=>{o[s]=!1}),this._previousPanelClass=n,n&&n.length&&(n.split(" ").forEach(s=>{o[s]=!0}),this._elementRef.nativeElement.className=""),this._classList=o}get classList(){return this.panelClass}set classList(n){this.panelClass=n}constructor(n,r,o,s){this._elementRef=n,this._changeDetectorRef=s,this._elevationPrefix="mat-elevation-z",this._baseElevation=null,this._directDescendantItems=new Zi,this._classList={},this._panelAnimationState="void",this._animationDone=new pe,this.closed=new Ie,this.close=this.closed,this.panelId=`mat-menu-panel-${zle++}`,this._injector=te(vt),this.overlayPanelClass=o.overlayPanelClass||"",this._xPosition=o.xPosition,this._yPosition=o.yPosition,this.backdropClass=o.backdropClass,this.overlapTrigger=o.overlapTrigger,this.hasBackdrop=o.hasBackdrop}ngOnInit(){this.setPositionClasses()}ngAfterContentInit(){this._updateDirectDescendants(),this._keyManager=new Ey(this._directDescendantItems).withWrap().withTypeAhead().withHomeAndEnd(),this._keyManager.tabOut.subscribe(()=>this.closed.emit("tab")),this._directDescendantItems.changes.pipe(gi(this._directDescendantItems),Qn(n=>Zn(...n.map(r=>r._focused)))).subscribe(n=>this._keyManager.updateActiveItem(n)),this._directDescendantItems.changes.subscribe(n=>{let r=this._keyManager;if(this._panelAnimationState==="enter"&&r.activeItem?._hasFocus()){let o=n.toArray(),s=Math.max(0,Math.min(o.length-1,r.activeItemIndex||0));o[s]&&!o[s].disabled?r.setActiveItem(s):r.setNextItemActive()}})}ngOnDestroy(){this._keyManager?.destroy(),this._directDescendantItems.destroy(),this.closed.complete(),this._firstItemFocusRef?.destroy()}_hovered(){return this._directDescendantItems.changes.pipe(gi(this._directDescendantItems),Qn(r=>Zn(...r.map(o=>o._hovered))))}addItem(n){}removeItem(n){}_handleKeydown(n){let r=n.keyCode,o=this._keyManager;switch(r){case 27:bi(n)||(n.preventDefault(),this.closed.emit("keydown"));break;case 37:this.parentMenu&&this.direction==="ltr"&&this.closed.emit("keydown");break;case 39:this.parentMenu&&this.direction==="rtl"&&this.closed.emit("keydown");break;default:(r===38||r===40)&&o.setFocusOrigin("keyboard"),o.onKeydown(n);return}n.stopPropagation()}focusFirstItem(n="program"){this._firstItemFocusRef?.destroy(),this._firstItemFocusRef=Hi(()=>{let r=null;if(this._directDescendantItems.length&&(r=this._directDescendantItems.first._getHostElement().closest('[role="menu"]')),!r||!r.contains(document.activeElement)){let o=this._keyManager;o.setFocusOrigin(n).setFirstItemActive(),!o.activeItem&&r&&r.focus()}},{injector:this._injector})}resetActiveItem(){this._keyManager.setActiveItem(-1)}setElevation(n){if(this._baseElevation===null){let c=(typeof getComputedStyle=="function"?getComputedStyle(this._elementRef.nativeElement):null)?.getPropertyValue("--mat-menu-base-elevation-level")||"8";this._baseElevation=parseInt(c)}let r=Math.min(this._baseElevation+n,24),o=`${this._elevationPrefix}${r}`,s=Object.keys(this._classList).find(a=>a.startsWith(this._elevationPrefix));if(!s||s===this._previousElevation){let a=Z({},this._classList);this._previousElevation&&(a[this._previousElevation]=!1),a[o]=!0,this._previousElevation=o,this._classList=a}}setPositionClasses(n=this.xPosition,r=this.yPosition){this._classList=yt(Z({},this._classList),{"mat-menu-before":n==="before","mat-menu-after":n==="after","mat-menu-above":r==="above","mat-menu-below":r==="below"}),this._changeDetectorRef?.markForCheck()}_startAnimation(){this._panelAnimationState="enter"}_resetAnimation(){this._panelAnimationState="void"}_onAnimationDone(n){this._animationDone.next(n),this._isAnimating=!1}_onAnimationStart(n){this._isAnimating=!0,n.toState==="enter"&&this._keyManager.activeItemIndex===0&&(n.element.scrollTop=0)}_updateDirectDescendants(){this._allItems.changes.pipe(gi(this._allItems)).subscribe(n=>{this._directDescendantItems.reset(n.filter(r=>r._parentMenu===this)),this._directDescendantItems.notifyOnChanges()})}};e.\u0275fac=function(r){return new(r||e)(M(Re),M(Fe),M(Ule),M(Ne))},e.\u0275cmp=ce({type:e,selectors:[["mat-menu"]],contentQueries:function(r,o,s){if(r&1&&(_i(s,Vle,5),_i(s,Y_,5),_i(s,Y_,4)),r&2){let a;be(a=ye())&&(o.lazyContent=a.first),be(a=ye())&&(o._allItems=a),be(a=ye())&&(o.items=a)}},viewQuery:function(r,o){if(r&1&&Ee(Wn,5),r&2){let s;be(s=ye())&&(o.templateRef=s.first)}},hostVars:3,hostBindings:function(r,o){r&2&&Ye("aria-label",null)("aria-labelledby",null)("aria-describedby",null)},inputs:{backdropClass:"backdropClass",ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],ariaDescribedby:[0,"aria-describedby","ariaDescribedby"],xPosition:"xPosition",yPosition:"yPosition",overlapTrigger:[2,"overlapTrigger","overlapTrigger",et],hasBackdrop:[2,"hasBackdrop","hasBackdrop",n=>n==null?null:et(n)],panelClass:[0,"class","panelClass"],classList:"classList"},outputs:{closed:"closed",close:"close"},exportAs:["matMenu"],standalone:!0,features:[Ft([{provide:vO,useExisting:e}]),nn,le],ngContentSelectors:Fle,decls:1,vars:0,consts:[["tabindex","-1","role","menu",1,"mat-mdc-menu-panel","mat-mdc-elevation-specific",3,"keydown","click","id"],[1,"mat-mdc-menu-content"]],template:function(r,o){r&1&&(In(),$(0,Ble,3,7,"ng-template"))},styles:['mat-menu{display:none}.mat-mdc-menu-content{margin:0;padding:8px 0;outline:0}.mat-mdc-menu-content,.mat-mdc-menu-content .mat-mdc-menu-item .mat-mdc-menu-item-text{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;flex:1;white-space:normal;font-family:var(--mat-menu-item-label-text-font);line-height:var(--mat-menu-item-label-text-line-height);font-size:var(--mat-menu-item-label-text-size);letter-spacing:var(--mat-menu-item-label-text-tracking);font-weight:var(--mat-menu-item-label-text-weight)}.mat-mdc-menu-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;box-sizing:border-box;outline:0;border-radius:var(--mat-menu-container-shape);background-color:var(--mat-menu-container-color);will-change:transform,opacity}.mat-mdc-menu-panel.ng-animating{pointer-events:none}.mat-mdc-menu-panel.ng-animating:has(.mat-mdc-menu-content:empty){display:none}.cdk-high-contrast-active .mat-mdc-menu-panel{outline:solid 1px}.mat-mdc-menu-panel .mat-divider{color:var(--mat-menu-divider-color);margin-bottom:var(--mat-menu-divider-bottom-spacing);margin-top:var(--mat-menu-divider-top-spacing)}.mat-mdc-menu-item{display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;padding:0;padding-left:var(--mat-menu-item-leading-spacing);padding-right:var(--mat-menu-item-trailing-spacing);-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:rgba(0,0,0,0);cursor:pointer;width:100%;text-align:left;box-sizing:border-box;color:inherit;font-size:inherit;background:none;text-decoration:none;margin:0;min-height:48px}[dir=rtl] .mat-mdc-menu-item{padding-right:var(--mat-menu-item-leading-spacing);padding-left:var(--mat-menu-item-trailing-spacing)}.mat-mdc-menu-item:has(.material-icons,mat-icon,[matButtonIcon]){padding-left:var(--mat-menu-item-with-icon-leading-spacing);padding-right:var(--mat-menu-item-with-icon-trailing-spacing)}[dir=rtl] .mat-mdc-menu-item:has(.material-icons,mat-icon,[matButtonIcon]){padding-right:var(--mat-menu-item-with-icon-leading-spacing);padding-left:var(--mat-menu-item-with-icon-trailing-spacing)}.mat-mdc-menu-item::-moz-focus-inner{border:0}.mat-mdc-menu-item,.mat-mdc-menu-item:visited,.mat-mdc-menu-item:link{color:var(--mat-menu-item-label-text-color)}.mat-mdc-menu-item .mat-icon-no-color,.mat-mdc-menu-item .mat-mdc-menu-submenu-icon{color:var(--mat-menu-item-icon-color)}.mat-mdc-menu-item[disabled]{cursor:default;opacity:.38}.mat-mdc-menu-item[disabled]::after{display:block;position:absolute;content:"";top:0;left:0;bottom:0;right:0}.mat-mdc-menu-item:focus{outline:0}.mat-mdc-menu-item .mat-icon{flex-shrink:0;margin-right:var(--mat-menu-item-spacing);height:var(--mat-menu-item-icon-size);width:var(--mat-menu-item-icon-size)}[dir=rtl] .mat-mdc-menu-item{text-align:right}[dir=rtl] .mat-mdc-menu-item .mat-icon{margin-right:0;margin-left:var(--mat-menu-item-spacing)}.mat-mdc-menu-item:not([disabled]):hover{background-color:var(--mat-menu-item-hover-state-layer-color)}.mat-mdc-menu-item:not([disabled]).cdk-program-focused,.mat-mdc-menu-item:not([disabled]).cdk-keyboard-focused,.mat-mdc-menu-item:not([disabled]).mat-mdc-menu-item-highlighted{background-color:var(--mat-menu-item-focus-state-layer-color)}.cdk-high-contrast-active .mat-mdc-menu-item{margin-top:1px}.mat-mdc-menu-submenu-icon{width:var(--mat-menu-item-icon-size);height:10px;fill:currentColor;padding-left:var(--mat-menu-item-spacing)}[dir=rtl] .mat-mdc-menu-submenu-icon{padding-right:var(--mat-menu-item-spacing);padding-left:0}[dir=rtl] .mat-mdc-menu-submenu-icon polygon{transform:scaleX(-1)}.cdk-high-contrast-active .mat-mdc-menu-submenu-icon{fill:CanvasText}.mat-mdc-menu-item .mat-mdc-menu-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}'],encapsulation:2,data:{animation:[lC.transformMenu,lC.fadeInItems]},changeDetection:0});let i=e;return i})(),cG=new me("mat-menu-scroll-strategy",{providedIn:"root",factory:()=>{let i=te($t);return()=>i.scrollStrategies.reposition()}});function Gle(i){return()=>i.scrollStrategies.reposition()}var jle={provide:cG,deps:[$t],useFactory:Gle},aG=Hr({passive:!0});var xl=(()=>{let e=class e{get _deprecatedMatMenuTriggerFor(){return this.menu}set _deprecatedMatMenuTriggerFor(n){this.menu=n}get menu(){return this._menu}set menu(n){n!==this._menu&&(this._menu=n,this._menuCloseSubscription.unsubscribe(),n&&(this._parentMaterialMenu,this._menuCloseSubscription=n.close.subscribe(r=>{this._destroyMenu(r),(r==="click"||r==="tab")&&this._parentMaterialMenu&&this._parentMaterialMenu.closed.emit(r)})),this._menuItemInstance?._setTriggersSubmenu(this.triggersSubmenu()))}constructor(n,r,o,s,a,c,l,d,u){this._overlay=n,this._element=r,this._viewContainerRef=o,this._menuItemInstance=c,this._dir=l,this._focusMonitor=d,this._ngZone=u,this._overlayRef=null,this._menuOpen=!1,this._closingActionsSubscription=Ct.EMPTY,this._hoverSubscription=Ct.EMPTY,this._menuCloseSubscription=Ct.EMPTY,this._changeDetectorRef=te(Ne),this._handleTouchStart=h=>{Md(h)||(this._openedBy="touch")},this._openedBy=void 0,this.restoreFocus=!0,this.menuOpened=new Ie,this.onMenuOpen=this.menuOpened,this.menuClosed=new Ie,this.onMenuClose=this.menuClosed,this._scrollStrategy=s,this._parentMaterialMenu=a instanceof ns?a:void 0,r.nativeElement.addEventListener("touchstart",this._handleTouchStart,aG)}ngAfterContentInit(){this._handleHover()}ngOnDestroy(){this._overlayRef&&(this._overlayRef.dispose(),this._overlayRef=null),this._element.nativeElement.removeEventListener("touchstart",this._handleTouchStart,aG),this._menuCloseSubscription.unsubscribe(),this._closingActionsSubscription.unsubscribe(),this._hoverSubscription.unsubscribe()}get menuOpen(){return this._menuOpen}get dir(){return this._dir&&this._dir.value==="rtl"?"rtl":"ltr"}triggersSubmenu(){return!!(this._menuItemInstance&&this._parentMaterialMenu&&this.menu)}toggleMenu(){return this._menuOpen?this.closeMenu():this.openMenu()}openMenu(){let n=this.menu;if(this._menuOpen||!n)return;let r=this._createOverlay(n),o=r.getConfig(),s=o.positionStrategy;this._setPosition(n,s),o.hasBackdrop=n.hasBackdrop==null?!this.triggersSubmenu():n.hasBackdrop,r.attach(this._getPortal(n)),n.lazyContent&&n.lazyContent.attach(this.menuData),this._closingActionsSubscription=this._menuClosingActions().subscribe(()=>this.closeMenu()),this._initMenu(n),n instanceof ns&&(n._startAnimation(),n._directDescendantItems.changes.pipe(Ze(n.close)).subscribe(()=>{s.withLockedPosition(!1).reapplyLastPosition(),s.withLockedPosition(!0)}))}closeMenu(){this.menu?.close.emit()}focus(n,r){this._focusMonitor&&n?this._focusMonitor.focusVia(this._element,n,r):this._element.nativeElement.focus(r)}updatePosition(){this._overlayRef?.updatePosition()}_destroyMenu(n){if(!this._overlayRef||!this.menuOpen)return;let r=this.menu;this._closingActionsSubscription.unsubscribe(),this._overlayRef.detach(),this.restoreFocus&&(n==="keydown"||!this._openedBy||!this.triggersSubmenu())&&this.focus(this._openedBy),this._openedBy=void 0,r instanceof ns?(r._resetAnimation(),r.lazyContent?r._animationDone.pipe(qt(o=>o.toState==="void"),_n(1),Ze(r.lazyContent._attached)).subscribe({next:()=>r.lazyContent.detach(),complete:()=>this._setIsMenuOpen(!1)}):this._setIsMenuOpen(!1)):(this._setIsMenuOpen(!1),r?.lazyContent?.detach())}_initMenu(n){n.parentMenu=this.triggersSubmenu()?this._parentMaterialMenu:void 0,n.direction=this.dir,this._setMenuElevation(n),n.focusFirstItem(this._openedBy||"program"),this._setIsMenuOpen(!0)}_setMenuElevation(n){if(n.setElevation){let r=0,o=n.parentMenu;for(;o;)r++,o=o.parentMenu;n.setElevation(r)}}_setIsMenuOpen(n){n!==this._menuOpen&&(this._menuOpen=n,this._menuOpen?this.menuOpened.emit():this.menuClosed.emit(),this.triggersSubmenu()&&this._menuItemInstance._setHighlighted(n),this._changeDetectorRef.markForCheck())}_createOverlay(n){if(!this._overlayRef){let r=this._getOverlayConfig(n);this._subscribeToPositions(n,r.positionStrategy),this._overlayRef=this._overlay.create(r),this._overlayRef.keydownEvents().subscribe()}return this._overlayRef}_getOverlayConfig(n){return new fi({positionStrategy:this._overlay.position().flexibleConnectedTo(this._element).withLockedPosition().withGrowAfterOpen().withTransformOriginOn(".mat-menu-panel, .mat-mdc-menu-panel"),backdropClass:n.backdropClass||"cdk-overlay-transparent-backdrop",panelClass:n.overlayPanelClass,scrollStrategy:this._scrollStrategy(),direction:this._dir})}_subscribeToPositions(n,r){n.setPositionClasses&&r.positionChanges.subscribe(o=>{let s=o.connectionPair.overlayX==="start"?"after":"before",a=o.connectionPair.overlayY==="top"?"below":"above";this._ngZone?this._ngZone.run(()=>n.setPositionClasses(s,a)):n.setPositionClasses(s,a)})}_setPosition(n,r){let[o,s]=n.xPosition==="before"?["end","start"]:["start","end"],[a,c]=n.yPosition==="above"?["bottom","top"]:["top","bottom"],[l,d]=[a,c],[u,h]=[o,s],p=0;if(this.triggersSubmenu()){if(h=o=n.xPosition==="before"?"start":"end",s=u=o==="end"?"start":"end",this._parentMaterialMenu){if(this._parentInnerPadding==null){let f=this._parentMaterialMenu.items.first;this._parentInnerPadding=f?f._getHostElement().offsetTop:0}p=a==="bottom"?this._parentInnerPadding:-this._parentInnerPadding}}else n.overlapTrigger||(l=a==="top"?"bottom":"top",d=c==="top"?"bottom":"top");r.withPositions([{originX:o,originY:l,overlayX:u,overlayY:a,offsetY:p},{originX:s,originY:l,overlayX:h,overlayY:a,offsetY:p},{originX:o,originY:d,overlayX:u,overlayY:c,offsetY:-p},{originX:s,originY:d,overlayX:h,overlayY:c,offsetY:-p}])}_menuClosingActions(){let n=this._overlayRef.backdropClick(),r=this._overlayRef.detachments(),o=this._parentMaterialMenu?this._parentMaterialMenu.closed:Ke(),s=this._parentMaterialMenu?this._parentMaterialMenu._hovered().pipe(qt(a=>a!==this._menuItemInstance),qt(()=>this._menuOpen)):Ke();return Zn(n,o,s,r)}_handleMousedown(n){Sd(n)||(this._openedBy=n.button===0?"mouse":void 0,this.triggersSubmenu()&&n.preventDefault())}_handleKeydown(n){let r=n.keyCode;(r===13||r===32)&&(this._openedBy="keyboard"),this.triggersSubmenu()&&(r===39&&this.dir==="ltr"||r===37&&this.dir==="rtl")&&(this._openedBy="keyboard",this.openMenu())}_handleClick(n){this.triggersSubmenu()?(n.stopPropagation(),this.openMenu()):this.toggleMenu()}_handleHover(){!this.triggersSubmenu()||!this._parentMaterialMenu||(this._hoverSubscription=this._parentMaterialMenu._hovered().pipe(qt(n=>n===this._menuItemInstance&&!n.disabled),Vu(0,Tf)).subscribe(()=>{this._openedBy="mouse",this.menu instanceof ns&&this.menu._isAnimating?this.menu._animationDone.pipe(_n(1),Vu(0,Tf),Ze(this._parentMaterialMenu._hovered())).subscribe(()=>this.openMenu()):this.openMenu()}))}_getPortal(n){return(!this._portal||this._portal.templateRef!==n.templateRef)&&(this._portal=new Zr(n.templateRef,this._viewContainerRef)),this._portal}};e.\u0275fac=function(r){return new(r||e)(M($t),M(Re),M(Zt),M(cG),M(vO,8),M(Y_,10),M(di,8),M(Gr),M(Fe))},e.\u0275dir=Ve({type:e,selectors:[["","mat-menu-trigger-for",""],["","matMenuTriggerFor",""]],hostAttrs:[1,"mat-mdc-menu-trigger"],hostVars:3,hostBindings:function(r,o){r&1&&H("click",function(a){return o._handleClick(a)})("mousedown",function(a){return o._handleMousedown(a)})("keydown",function(a){return o._handleKeydown(a)}),r&2&&Ye("aria-haspopup",o.menu?"menu":null)("aria-expanded",o.menuOpen)("aria-controls",o.menuOpen?o.menu.panelId:null)},inputs:{_deprecatedMatMenuTriggerFor:[0,"mat-menu-trigger-for","_deprecatedMatMenuTriggerFor"],menu:[0,"matMenuTriggerFor","menu"],menuData:[0,"matMenuTriggerData","menuData"],restoreFocus:[0,"matMenuTriggerRestoreFocus","restoreFocus"]},outputs:{menuOpened:"menuOpened",onMenuOpen:"onMenuOpen",menuClosed:"menuClosed",onMenuClose:"onMenuClose"},exportAs:["matMenuTrigger"],standalone:!0});let i=e;return i})(),ua=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=rt({type:e}),e.\u0275inj=it({providers:[jle],imports:[Ae,Id,Ut,oo,Jo,Ut]});let i=e;return i})();var Wle=["tooltip"],uG=20;var hG=new me("mat-tooltip-scroll-strategy",{providedIn:"root",factory:()=>{let i=te($t);return()=>i.scrollStrategies.reposition({scrollThrottle:uG})}});function $le(i){return()=>i.scrollStrategies.reposition({scrollThrottle:uG})}var qle={provide:hG,deps:[$t],useFactory:$le};function Yle(){return{showDelay:0,hideDelay:0,touchendHideDelay:1500}}var Xle=new me("mat-tooltip-default-options",{providedIn:"root",factory:Yle});var lG="tooltip-panel",dG=Hr({passive:!0}),Zle=8,Qle=8,Kle=24,Jle=200,Yn=(()=>{let e=class e{get position(){return this._position}set position(n){n!==this._position&&(this._position=n,this._overlayRef&&(this._updatePosition(this._overlayRef),this._tooltipInstance?.show(0),this._overlayRef.updatePosition()))}get positionAtOrigin(){return this._positionAtOrigin}set positionAtOrigin(n){this._positionAtOrigin=Ph(n),this._detach(),this._overlayRef=null}get disabled(){return this._disabled}set disabled(n){this._disabled=Ph(n),this._disabled?this.hide(0):this._setupPointerEnterEventsIfNeeded()}get showDelay(){return this._showDelay}set showDelay(n){this._showDelay=Qs(n)}get hideDelay(){return this._hideDelay}set hideDelay(n){this._hideDelay=Qs(n),this._tooltipInstance&&(this._tooltipInstance._mouseLeaveHideDelay=this._hideDelay)}get message(){return this._message}set message(n){this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this._message,"tooltip"),this._message=n!=null?String(n).trim():"",!this._message&&this._isTooltipVisible()?this.hide(0):(this._setupPointerEnterEventsIfNeeded(),this._updateTooltipMessage(),this._ngZone.runOutsideAngular(()=>{Promise.resolve().then(()=>{this._ariaDescriber.describe(this._elementRef.nativeElement,this.message,"tooltip")})}))}get tooltipClass(){return this._tooltipClass}set tooltipClass(n){this._tooltipClass=n,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass)}constructor(n,r,o,s,a,c,l,d,u,h,p,f){this._overlay=n,this._elementRef=r,this._scrollDispatcher=o,this._viewContainerRef=s,this._ngZone=a,this._platform=c,this._ariaDescriber=l,this._focusMonitor=d,this._dir=h,this._defaultOptions=p,this._position="below",this._positionAtOrigin=!1,this._disabled=!1,this._viewInitialized=!1,this._pointerExitEventsInitialized=!1,this._tooltipComponent=ede,this._viewportMargin=8,this._cssClassPrefix="mat-mdc",this.touchGestures="auto",this._message="",this._passiveListeners=[],this._destroyed=new pe,this._injector=te(vt),this._scrollStrategy=u,this._document=f,p&&(this._showDelay=p.showDelay,this._hideDelay=p.hideDelay,p.position&&(this.position=p.position),p.positionAtOrigin&&(this.positionAtOrigin=p.positionAtOrigin),p.touchGestures&&(this.touchGestures=p.touchGestures)),h.change.pipe(Ze(this._destroyed)).subscribe(()=>{this._overlayRef&&this._updatePosition(this._overlayRef)}),this._viewportMargin=Zle}ngAfterViewInit(){this._viewInitialized=!0,this._setupPointerEnterEventsIfNeeded(),this._focusMonitor.monitor(this._elementRef).pipe(Ze(this._destroyed)).subscribe(n=>{n?n==="keyboard"&&this._ngZone.run(()=>this.show()):this._ngZone.run(()=>this.hide(0))})}ngOnDestroy(){let n=this._elementRef.nativeElement;clearTimeout(this._touchstartTimeout),this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),this._passiveListeners.forEach(([r,o])=>{n.removeEventListener(r,o,dG)}),this._passiveListeners.length=0,this._destroyed.next(),this._destroyed.complete(),this._ariaDescriber.removeDescription(n,this.message,"tooltip"),this._focusMonitor.stopMonitoring(n)}show(n=this.showDelay,r){if(this.disabled||!this.message||this._isTooltipVisible()){this._tooltipInstance?._cancelPendingAnimations();return}let o=this._createOverlay(r);this._detach(),this._portal=this._portal||new Ai(this._tooltipComponent,this._viewContainerRef);let s=this._tooltipInstance=o.attach(this._portal).instance;s._triggerElement=this._elementRef.nativeElement,s._mouseLeaveHideDelay=this._hideDelay,s.afterHidden().pipe(Ze(this._destroyed)).subscribe(()=>this._detach()),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),s.show(n)}hide(n=this.hideDelay){let r=this._tooltipInstance;r&&(r.isVisible()?r.hide(n):(r._cancelPendingAnimations(),this._detach()))}toggle(n){this._isTooltipVisible()?this.hide():this.show(void 0,n)}_isTooltipVisible(){return!!this._tooltipInstance&&this._tooltipInstance.isVisible()}_createOverlay(n){if(this._overlayRef){let s=this._overlayRef.getConfig().positionStrategy;if((!this.positionAtOrigin||!n)&&s._origin instanceof Re)return this._overlayRef;this._detach()}let r=this._scrollDispatcher.getAncestorScrollContainers(this._elementRef),o=this._overlay.position().flexibleConnectedTo(this.positionAtOrigin?n||this._elementRef:this._elementRef).withTransformOriginOn(`.${this._cssClassPrefix}-tooltip`).withFlexibleDimensions(!1).withViewportMargin(this._viewportMargin).withScrollableContainers(r);return o.positionChanges.pipe(Ze(this._destroyed)).subscribe(s=>{this._updateCurrentPositionClass(s.connectionPair),this._tooltipInstance&&s.scrollableViewProperties.isOverlayClipped&&this._tooltipInstance.isVisible()&&this._ngZone.run(()=>this.hide(0))}),this._overlayRef=this._overlay.create({direction:this._dir,positionStrategy:o,panelClass:`${this._cssClassPrefix}-${lG}`,scrollStrategy:this._scrollStrategy()}),this._updatePosition(this._overlayRef),this._overlayRef.detachments().pipe(Ze(this._destroyed)).subscribe(()=>this._detach()),this._overlayRef.outsidePointerEvents().pipe(Ze(this._destroyed)).subscribe(()=>this._tooltipInstance?._handleBodyInteraction()),this._overlayRef.keydownEvents().pipe(Ze(this._destroyed)).subscribe(s=>{this._isTooltipVisible()&&s.keyCode===27&&!bi(s)&&(s.preventDefault(),s.stopPropagation(),this._ngZone.run(()=>this.hide(0)))}),this._defaultOptions?.disableTooltipInteractivity&&this._overlayRef.addPanelClass(`${this._cssClassPrefix}-tooltip-panel-non-interactive`),this._overlayRef}_detach(){this._overlayRef&&this._overlayRef.hasAttached()&&this._overlayRef.detach(),this._tooltipInstance=null}_updatePosition(n){let r=n.getConfig().positionStrategy,o=this._getOrigin(),s=this._getOverlayPosition();r.withPositions([this._addOffset(Z(Z({},o.main),s.main)),this._addOffset(Z(Z({},o.fallback),s.fallback))])}_addOffset(n){let r=Qle,o=!this._dir||this._dir.value=="ltr";return n.originY==="top"?n.offsetY=-r:n.originY==="bottom"?n.offsetY=r:n.originX==="start"?n.offsetX=o?-r:r:n.originX==="end"&&(n.offsetX=o?r:-r),n}_getOrigin(){let n=!this._dir||this._dir.value=="ltr",r=this.position,o;r=="above"||r=="below"?o={originX:"center",originY:r=="above"?"top":"bottom"}:r=="before"||r=="left"&&n||r=="right"&&!n?o={originX:"start",originY:"center"}:(r=="after"||r=="right"&&n||r=="left"&&!n)&&(o={originX:"end",originY:"center"});let{x:s,y:a}=this._invertPosition(o.originX,o.originY);return{main:o,fallback:{originX:s,originY:a}}}_getOverlayPosition(){let n=!this._dir||this._dir.value=="ltr",r=this.position,o;r=="above"?o={overlayX:"center",overlayY:"bottom"}:r=="below"?o={overlayX:"center",overlayY:"top"}:r=="before"||r=="left"&&n||r=="right"&&!n?o={overlayX:"end",overlayY:"center"}:(r=="after"||r=="right"&&n||r=="left"&&!n)&&(o={overlayX:"start",overlayY:"center"});let{x:s,y:a}=this._invertPosition(o.overlayX,o.overlayY);return{main:o,fallback:{overlayX:s,overlayY:a}}}_updateTooltipMessage(){this._tooltipInstance&&(this._tooltipInstance.message=this.message,this._tooltipInstance._markForCheck(),Hi(()=>{this._tooltipInstance&&this._overlayRef.updatePosition()},{injector:this._injector}))}_setTooltipClass(n){this._tooltipInstance&&(this._tooltipInstance.tooltipClass=n,this._tooltipInstance._markForCheck())}_invertPosition(n,r){return this.position==="above"||this.position==="below"?r==="top"?r="bottom":r==="bottom"&&(r="top"):n==="end"?n="start":n==="start"&&(n="end"),{x:n,y:r}}_updateCurrentPositionClass(n){let{overlayY:r,originX:o,originY:s}=n,a;if(r==="center"?this._dir&&this._dir.value==="rtl"?a=o==="end"?"left":"right":a=o==="start"?"left":"right":a=r==="bottom"&&s==="top"?"above":"below",a!==this._currentPosition){let c=this._overlayRef;if(c){let l=`${this._cssClassPrefix}-${lG}-`;c.removePanelClass(l+this._currentPosition),c.addPanelClass(l+a)}this._currentPosition=a}}_setupPointerEnterEventsIfNeeded(){this._disabled||!this.message||!this._viewInitialized||this._passiveListeners.length||(this._platformSupportsMouseEvents()?this._passiveListeners.push(["mouseenter",n=>{this._setupPointerExitEventsIfNeeded();let r;n.x!==void 0&&n.y!==void 0&&(r=n),this.show(void 0,r)}]):this.touchGestures!=="off"&&(this._disableNativeGesturesIfNecessary(),this._passiveListeners.push(["touchstart",n=>{let r=n.targetTouches?.[0],o=r?{x:r.clientX,y:r.clientY}:void 0;this._setupPointerExitEventsIfNeeded(),clearTimeout(this._touchstartTimeout);let s=500;this._touchstartTimeout=setTimeout(()=>this.show(void 0,o),this._defaultOptions.touchLongPressShowDelay??s)}])),this._addListeners(this._passiveListeners))}_setupPointerExitEventsIfNeeded(){if(this._pointerExitEventsInitialized)return;this._pointerExitEventsInitialized=!0;let n=[];if(this._platformSupportsMouseEvents())n.push(["mouseleave",r=>{let o=r.relatedTarget;(!o||!this._overlayRef?.overlayElement.contains(o))&&this.hide()}],["wheel",r=>this._wheelListener(r)]);else if(this.touchGestures!=="off"){this._disableNativeGesturesIfNecessary();let r=()=>{clearTimeout(this._touchstartTimeout),this.hide(this._defaultOptions.touchendHideDelay)};n.push(["touchend",r],["touchcancel",r])}this._addListeners(n),this._passiveListeners.push(...n)}_addListeners(n){n.forEach(([r,o])=>{this._elementRef.nativeElement.addEventListener(r,o,dG)})}_platformSupportsMouseEvents(){return!this._platform.IOS&&!this._platform.ANDROID}_wheelListener(n){if(this._isTooltipVisible()){let r=this._document.elementFromPoint(n.clientX,n.clientY),o=this._elementRef.nativeElement;r!==o&&!o.contains(r)&&this.hide()}}_disableNativeGesturesIfNecessary(){let n=this.touchGestures;if(n!=="off"){let r=this._elementRef.nativeElement,o=r.style;(n==="on"||r.nodeName!=="INPUT"&&r.nodeName!=="TEXTAREA")&&(o.userSelect=o.msUserSelect=o.webkitUserSelect=o.MozUserSelect="none"),(n==="on"||!r.draggable)&&(o.webkitUserDrag="none"),o.touchAction="none",o.webkitTapHighlightColor="transparent"}}};e.\u0275fac=function(r){return new(r||e)(M($t),M(Re),M(xu),M(Zt),M(Fe),M(gn),M(A3),M(Gr),M(hG),M(di),M(Xle,8),M(Xe))},e.\u0275dir=Ve({type:e,selectors:[["","matTooltip",""]],hostAttrs:[1,"mat-mdc-tooltip-trigger"],hostVars:2,hostBindings:function(r,o){r&2&&re("mat-mdc-tooltip-disabled",o.disabled)},inputs:{position:[0,"matTooltipPosition","position"],positionAtOrigin:[0,"matTooltipPositionAtOrigin","positionAtOrigin"],disabled:[0,"matTooltipDisabled","disabled"],showDelay:[0,"matTooltipShowDelay","showDelay"],hideDelay:[0,"matTooltipHideDelay","hideDelay"],touchGestures:[0,"matTooltipTouchGestures","touchGestures"],message:[0,"matTooltip","message"],tooltipClass:[0,"matTooltipClass","tooltipClass"]},exportAs:["matTooltip"],standalone:!0});let i=e;return i})(),ede=(()=>{let e=class e{constructor(n,r,o){this._changeDetectorRef=n,this._elementRef=r,this._isMultiline=!1,this._closeOnInteraction=!1,this._isVisible=!1,this._onHide=new pe,this._showAnimation="mat-mdc-tooltip-show",this._hideAnimation="mat-mdc-tooltip-hide",this._animationsDisabled=o==="NoopAnimations"}show(n){this._hideTimeoutId!=null&&clearTimeout(this._hideTimeoutId),this._showTimeoutId=setTimeout(()=>{this._toggleVisibility(!0),this._showTimeoutId=void 0},n)}hide(n){this._showTimeoutId!=null&&clearTimeout(this._showTimeoutId),this._hideTimeoutId=setTimeout(()=>{this._toggleVisibility(!1),this._hideTimeoutId=void 0},n)}afterHidden(){return this._onHide}isVisible(){return this._isVisible}ngOnDestroy(){this._cancelPendingAnimations(),this._onHide.complete(),this._triggerElement=null}_handleBodyInteraction(){this._closeOnInteraction&&this.hide(0)}_markForCheck(){this._changeDetectorRef.markForCheck()}_handleMouseLeave({relatedTarget:n}){(!n||!this._triggerElement.contains(n))&&(this.isVisible()?this.hide(this._mouseLeaveHideDelay):this._finalizeAnimation(!1))}_onShow(){this._isMultiline=this._isTooltipMultiline(),this._markForCheck()}_isTooltipMultiline(){let n=this._elementRef.nativeElement.getBoundingClientRect();return n.height>Kle&&n.width>=Jle}_handleAnimationEnd({animationName:n}){(n===this._showAnimation||n===this._hideAnimation)&&this._finalizeAnimation(n===this._showAnimation)}_cancelPendingAnimations(){this._showTimeoutId!=null&&clearTimeout(this._showTimeoutId),this._hideTimeoutId!=null&&clearTimeout(this._hideTimeoutId),this._showTimeoutId=this._hideTimeoutId=void 0}_finalizeAnimation(n){n?this._closeOnInteraction=!0:this.isVisible()||this._onHide.next()}_toggleVisibility(n){let r=this._tooltip.nativeElement,o=this._showAnimation,s=this._hideAnimation;if(r.classList.remove(n?s:o),r.classList.add(n?o:s),this._isVisible!==n&&(this._isVisible=n,this._changeDetectorRef.markForCheck()),n&&!this._animationsDisabled&&typeof getComputedStyle=="function"){let a=getComputedStyle(r);(a.getPropertyValue("animation-duration")==="0s"||a.getPropertyValue("animation-name")==="none")&&(this._animationsDisabled=!0)}n&&this._onShow(),this._animationsDisabled&&(r.classList.add("_mat-animation-noopable"),this._finalizeAnimation(n))}};e.\u0275fac=function(r){return new(r||e)(M(Ne),M(Re),M(jn,8))},e.\u0275cmp=ce({type:e,selectors:[["mat-tooltip-component"]],viewQuery:function(r,o){if(r&1&&Ee(Wle,7),r&2){let s;be(s=ye())&&(o._tooltip=s.first)}},hostAttrs:["aria-hidden","true"],hostVars:2,hostBindings:function(r,o){r&1&&H("mouseleave",function(a){return o._handleMouseLeave(a)}),r&2&&Jt("zoom",o.isVisible()?1:null)},standalone:!0,features:[le],decls:4,vars:4,consts:[["tooltip",""],[1,"mdc-tooltip","mat-mdc-tooltip",3,"animationend","ngClass"],[1,"mat-mdc-tooltip-surface","mdc-tooltip__surface"]],template:function(r,o){if(r&1){let s=ne();v(0,"div",1,0),H("animationend",function(c){return B(s),V(o._handleAnimationEnd(c))}),v(2,"div",2),S(3),b()()}r&2&&(re("mdc-tooltip--multiline",o._isMultiline),R("ngClass",o.tooltipClass),w(3),st(o.message))},dependencies:[cb],styles:['.mat-mdc-tooltip{position:relative;transform:scale(0);display:inline-flex}.mat-mdc-tooltip::before{content:"";top:0;right:0;bottom:0;left:0;z-index:-1;position:absolute}.mat-mdc-tooltip-panel-below .mat-mdc-tooltip::before{top:-8px}.mat-mdc-tooltip-panel-above .mat-mdc-tooltip::before{bottom:-8px}.mat-mdc-tooltip-panel-right .mat-mdc-tooltip::before{left:-8px}.mat-mdc-tooltip-panel-left .mat-mdc-tooltip::before{right:-8px}.mat-mdc-tooltip._mat-animation-noopable{animation:none;transform:scale(1)}.mat-mdc-tooltip-surface{word-break:normal;overflow-wrap:anywhere;padding:4px 8px;min-width:40px;max-width:200px;min-height:24px;max-height:40vh;box-sizing:border-box;overflow:hidden;text-align:center;will-change:transform,opacity;background-color:var(--mdc-plain-tooltip-container-color);color:var(--mdc-plain-tooltip-supporting-text-color);border-radius:var(--mdc-plain-tooltip-container-shape);font-family:var(--mdc-plain-tooltip-supporting-text-font);font-size:var(--mdc-plain-tooltip-supporting-text-size);font-weight:var(--mdc-plain-tooltip-supporting-text-weight);line-height:var(--mdc-plain-tooltip-supporting-text-line-height);letter-spacing:var(--mdc-plain-tooltip-supporting-text-tracking)}.mat-mdc-tooltip-surface::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}.mdc-tooltip--multiline .mat-mdc-tooltip-surface{text-align:left}[dir=rtl] .mdc-tooltip--multiline .mat-mdc-tooltip-surface{text-align:right}.mat-mdc-tooltip-panel.mat-mdc-tooltip-panel-non-interactive{pointer-events:none}@keyframes mat-mdc-tooltip-show{0%{opacity:0;transform:scale(0.8)}100%{opacity:1;transform:scale(1)}}@keyframes mat-mdc-tooltip-hide{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(0.8)}}.mat-mdc-tooltip-show{animation:mat-mdc-tooltip-show 150ms cubic-bezier(0, 0, 0.2, 1) forwards}.mat-mdc-tooltip-hide{animation:mat-mdc-tooltip-hide 75ms cubic-bezier(0.4, 0, 1, 1) forwards}'],encapsulation:2,changeDetection:0});let i=e;return i})();var Xt=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=rt({type:e}),e.\u0275inj=it({providers:[qle],imports:[Py,Ae,oo,Ut,Ut,Jo]});let i=e;return i})();var tde=/^\s*(?!javascript:)(?:[\w+.-]+:|[^:/?#]*(?:[/?#]|$))/i;function nde(i){let e=!tde.test(i);return e}function ide(i){if(!nde(i))return i}function ha(i){return ide(i)}function dc(i,e){let t=ha(e);t!==void 0&&(i.href=t)}var EGe=typeof window<"u"?window.TrustedScriptURL:void 0;var FGe=typeof window<"u"?window.TrustedHTML:void 0;var tje=typeof window<"u"?window.TrustedScript:void 0;function yO(i,e){let t=ha(e);t!==void 0&&(i.href=t)}function Rde(i,e){if(i&1&&ee(0,"div",1),i&2){let t=I();Jt("top",t.top,"px")("left",t.left,"px")("width",t.width,"px")("height",t.height,"px")("border-color",t.borderColor)("background-color",t.bgColor)}}var mG=(()=>{class i{changeDetectorRef;borderColor;bgColor;startX=-1;startY=-1;endX=-1;endY=-1;isMac=typeof navigator<"u"&&/Macintosh/.test(navigator.userAgent);constructor(t){this.changeDetectorRef=t}start(t,n){t.preventDefault(),t.stopPropagation(),this.startX=t.offsetX,this.startY=t.offsetY,this.endX=this.startX,this.endY=this.startY;let r=yn(document,"mousemove"),o=yn(window,"mouseup"),s=0,a=0;eo([r]).pipe(Ze(o)).subscribe({next:([c])=>{s=c.offsetX-this.startX,a=c.offsetY-this.startY,this.endX=this.startX+s,this.endY=this.startY+a,this.changeDetectorRef.detectChanges()},complete:()=>{let c=Math.abs(s)<5&&Math.abs(a)<5;n(c,this.startX,this.startY,this.endX,this.endY),this.startX=-1,this.startY=-1,this.endX=-1,this.endY=-1,this.changeDetectorRef.detectChanges()}})}get top(){return Math.min(this.startY,this.endY)}get left(){return Math.min(this.startX,this.endX)}get width(){return Math.abs(this.endX-this.startX)}get height(){return Math.abs(this.endY-this.startY)}static \u0275fac=function(n){return new(n||i)(M(Ne))};static \u0275cmp=ce({type:i,selectors:[["drag-area"]],inputs:{borderColor:"borderColor",bgColor:"bgColor"},standalone:!0,features:[le],decls:1,vars:1,consts:[[1,"container",3,"top","left","width","height","border-color","background-color"],[1,"container"]],template:function(n,r){n&1&&$(0,Rde,1,12,"div",0),n&2&&oe(r.startX>0?0:-1)},dependencies:[Ae],styles:[`.container[_ngcontent-%COMP%]{position:absolute;z-index:5000;box-sizing:border-box;border-width:1px;border-style:solid;pointer-events:none} @@ -3176,7 +3176,7 @@ void main() { -`],changeDetection:0})}return i})();var yO=class{constructor(){this.expansionModel=new ef(!0)}toggle(e){this.expansionModel.toggle(this._trackByValue(e))}expand(e){this.expansionModel.select(this._trackByValue(e))}collapse(e){this.expansionModel.deselect(this._trackByValue(e))}isExpanded(e){return this.expansionModel.isSelected(this._trackByValue(e))}toggleDescendants(e){this.expansionModel.isSelected(this._trackByValue(e))?this.collapseDescendants(e):this.expandDescendants(e)}collapseAll(){this.expansionModel.clear()}expandDescendants(e){let t=[e];t.push(...this.getDescendants(e)),this.expansionModel.select(...t.map(n=>this._trackByValue(n)))}collapseDescendants(e){let t=[e];t.push(...this.getDescendants(e)),this.expansionModel.deselect(...t.map(n=>this._trackByValue(n)))}_trackByValue(e){return this.trackBy?this.trackBy(e):e}},hC=class extends yO{constructor(e,t,n){super(),this.getLevel=e,this.isExpandable=t,this.options=n,this.options&&(this.trackBy=this.options.trackBy)}getDescendants(e){let t=this.dataNodes.indexOf(e),n=[];for(let r=t+1;rthis._trackByValue(e)))}};var wO=new ge("CDK_TREE_NODE_OUTLET_NODE"),pC=(()=>{let e=class e{constructor(n,r){this.viewContainer=n,this._node=r}};e.\u0275fac=function(r){return new(r||e)(M(Yt),M(wO,8))},e.\u0275dir=ze({type:e,selectors:[["","cdkTreeNodeOutlet",""]],standalone:!0});let i=e;return i})(),xO=class{constructor(e){this.$implicit=e}},fC=(()=>{let e=class e{constructor(n){this.template=n}};e.\u0275fac=function(r){return new(r||e)(M(Hn))},e.\u0275dir=ze({type:e,selectors:[["","cdkTreeNodeDef",""]],inputs:{when:[0,"cdkTreeNodeDefWhen","when"]},standalone:!0});let i=e;return i})();var yc=(()=>{let e=class e{get dataSource(){return this._dataSource}set dataSource(n){this._dataSource!==n&&this._switchDataSource(n)}constructor(n,r){this._differs=n,this._changeDetectorRef=r,this._onDestroy=new me,this._levels=new Map,this.viewChange=new Dn({start:0,end:Number.MAX_VALUE})}ngOnInit(){this._dataDiffer=this._differs.find([]).create(this.trackBy),this.treeControl}ngOnDestroy(){this._nodeOutlet.viewContainer.clear(),this.viewChange.complete(),this._onDestroy.next(),this._onDestroy.complete(),this._dataSource&&typeof this._dataSource.disconnect=="function"&&this.dataSource.disconnect(this),this._dataSubscription&&(this._dataSubscription.unsubscribe(),this._dataSubscription=null)}ngAfterContentChecked(){let n=this._nodeDefs.filter(r=>!r.when);n.length>1,this._defaultNodeDef=n[0],this.dataSource&&this._nodeDefs&&!this._dataSubscription&&this._observeRenderChanges()}_switchDataSource(n){this._dataSource&&typeof this._dataSource.disconnect=="function"&&this.dataSource.disconnect(this),this._dataSubscription&&(this._dataSubscription.unsubscribe(),this._dataSubscription=null),n||this._nodeOutlet.viewContainer.clear(),this._dataSource=n,this._nodeDefs&&this._observeRenderChanges()}_observeRenderChanges(){let n;HH(this._dataSource)?n=this._dataSource.connect(this):Nc(this._dataSource)?n=this._dataSource:Array.isArray(this._dataSource)&&(n=Ke(this._dataSource)),n&&(this._dataSubscription=n.pipe(Xe(this._onDestroy)).subscribe(r=>this.renderNodeChanges(r)))}renderNodeChanges(n,r=this._dataDiffer,o=this._nodeOutlet.viewContainer,s){let a=r.diff(n);a&&(a.forEachOperation((l,c,d)=>{if(l.previousIndex==null)this.insertNode(n[d],d,o,s);else if(d==null)o.remove(c),this._levels.delete(l.item);else{let u=o.get(c);o.move(u,d)}}),this._changeDetectorRef.detectChanges())}_getNodeDef(n,r){if(this._nodeDefs.length===1)return this._nodeDefs.first;let o=this._nodeDefs.find(s=>s.when&&s.when(r,n))||this._defaultNodeDef;return o}insertNode(n,r,o,s){let a=this._getNodeDef(n,r),l=new xO(n);this.treeControl.getLevel?l.level=this.treeControl.getLevel(n):typeof s<"u"&&this._levels.has(s)?l.level=this._levels.get(s)+1:l.level=0,this._levels.set(n,l.level),(o||this._nodeOutlet.viewContainer).createEmbeddedView(a.template,l,r),bu.mostRecentTreeNode&&(bu.mostRecentTreeNode.data=n)}};e.\u0275fac=function(r){return new(r||e)(M(Kc),M(Fe))},e.\u0275cmp=le({type:e,selectors:[["cdk-tree"]],contentQueries:function(r,o,s){if(r&1&&wi(s,fC,5),r&2){let a;be(a=ye())&&(o._nodeDefs=a)}},viewQuery:function(r,o){if(r&1&&Te(pC,7),r&2){let s;be(s=ye())&&(o._nodeOutlet=s.first)}},hostAttrs:["role","tree",1,"cdk-tree"],inputs:{dataSource:"dataSource",treeControl:"treeControl",trackBy:"trackBy"},exportAs:["cdkTree"],standalone:!0,features:[ce],decls:1,vars:0,consts:[["cdkTreeNodeOutlet",""]],template:function(r,o){r&1&&Zi(0,0)},dependencies:[pC],encapsulation:2});let i=e;return i})(),bu=(()=>{let e=class e{get role(){return"treeitem"}set role(n){this._elementRef.nativeElement.setAttribute("role",n)}get data(){return this._data}set data(n){n!==this._data&&(this._data=n,this._setRoleFromData(),this._dataChanges.next())}get isExpanded(){return this._tree.treeControl.isExpanded(this._data)}get level(){return this._tree.treeControl.getLevel?this._tree.treeControl.getLevel(this._data):this._parentNodeAriaLevel}constructor(n,r){this._elementRef=n,this._tree=r,this._destroyed=new me,this._dataChanges=new me,this._changeDetectorRef=te(Fe),e.mostRecentTreeNode=this,this.role="treeitem"}ngOnInit(){this._parentNodeAriaLevel=Cde(this._elementRef.nativeElement),this._elementRef.nativeElement.setAttribute("aria-level",`${this.level+1}`),this._tree.treeControl.expansionModel.changed.pipe(Je(()=>this.isExpanded),vl()).subscribe(()=>{this._changeDetectorRef.markForCheck()})}ngOnDestroy(){e.mostRecentTreeNode===this&&(e.mostRecentTreeNode=null),this._dataChanges.complete(),this._destroyed.next(),this._destroyed.complete()}focus(){this._elementRef.nativeElement.focus()}_setRoleFromData(){!this._tree.treeControl.isExpandable&&this._tree.treeControl.getChildren,this.role="treeitem"}};e.mostRecentTreeNode=null,e.\u0275fac=function(r){return new(r||e)(M(Re),M(yc))},e.\u0275dir=ze({type:e,selectors:[["cdk-tree-node"]],hostAttrs:[1,"cdk-tree-node"],hostVars:1,hostBindings:function(r,o){r&2&&Ze("aria-expanded",o.isExpanded)},inputs:{role:"role"},exportAs:["cdkTreeNode"],standalone:!0});let i=e;return i})();function Cde(i){let e=i.parentElement;for(;e&&!Sde(e);)e=e.parentElement;return e?e.classList.contains("cdk-nested-tree-node")?Ci(e.getAttribute("aria-level")):0:-1}function Sde(i){let e=i.classList;return!!(e?.contains("cdk-nested-tree-node")||e?.contains("cdk-tree"))}var Mde=/([A-Za-z%]+)$/,CO=(()=>{let e=class e{get level(){return this._level}set level(n){this._setLevelInput(n)}get indent(){return this._indent}set indent(n){this._setIndentInput(n)}constructor(n,r,o,s){this._treeNode=n,this._tree=r,this._element=o,this._dir=s,this._destroyed=new me,this.indentUnits="px",this._indent=40,this._setPadding(),s&&s.change.pipe(Xe(this._destroyed)).subscribe(()=>this._setPadding(!0)),n._dataChanges.subscribe(()=>this._setPadding())}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_paddingIndent(){let n=this._treeNode.data&&this._tree.treeControl.getLevel?this._tree.treeControl.getLevel(this._treeNode.data):null,r=this._level==null?n:this._level;return typeof r=="number"?`${r*this._indent}${this.indentUnits}`:null}_setPadding(n=!1){let r=this._paddingIndent();if(r!==this._currentPadding||n){let o=this._element.nativeElement,s=this._dir&&this._dir.value==="rtl"?"paddingRight":"paddingLeft",a=s==="paddingLeft"?"paddingRight":"paddingLeft";o.style[s]=r||"",o.style[a]="",this._currentPadding=r}}_setLevelInput(n){this._level=isNaN(n)?null:n,this._setPadding()}_setIndentInput(n){let r=n,o="px";if(typeof n=="string"){let s=n.split(Mde);r=s[0],o=s[1]||o}this.indentUnits=o,this._indent=Ci(r),this._setPadding()}};e.\u0275fac=function(r){return new(r||e)(M(bu),M(yc),M(Re),M(li,8))},e.\u0275dir=ze({type:e,selectors:[["","cdkTreeNodePadding",""]],inputs:{level:[2,"cdkTreeNodePadding","level",Ci],indent:[0,"cdkTreeNodePaddingIndent","indent"]},standalone:!0,features:[an]});let i=e;return i})(),SO=(()=>{let e=class e{constructor(n,r){this._tree=n,this._treeNode=r,this.recursive=!1}_toggle(n){this.recursive?this._tree.treeControl.toggleDescendants(this._treeNode.data):this._tree.treeControl.toggle(this._treeNode.data),n.stopPropagation()}};e.\u0275fac=function(r){return new(r||e)(M(yc),M(bu))},e.\u0275dir=ze({type:e,selectors:[["","cdkTreeNodeToggle",""]],hostBindings:function(r,o){r&1&&H("click",function(a){return o._toggle(a)})},inputs:{recursive:[2,"cdkTreeNodeToggleRecursive","recursive",at]},standalone:!0,features:[an]});let i=e;return i})();var hG=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=ot({type:e}),e.\u0275inj=rt({});let i=e;return i})();var fG=(()=>{let e=class e extends bu{constructor(n,r,o){super(n,r),this.disabled=!1,this.tabIndex=Number(o)||0}ngOnInit(){super.ngOnInit()}ngOnDestroy(){super.ngOnDestroy()}};e.\u0275fac=function(r){return new(r||e)(M(Re),M(yc),oo("tabindex"))},e.\u0275dir=ze({type:e,selectors:[["mat-tree-node"]],hostAttrs:[1,"mat-tree-node"],inputs:{disabled:[2,"disabled","disabled",at],tabIndex:[2,"tabIndex","tabIndex",n=>n==null?0:Ci(n)]},exportAs:["matTreeNode"],standalone:!0,features:[Bt([{provide:bu,useExisting:e}]),an,nn]});let i=e;return i})(),mG=(()=>{let e=class e extends fC{};e.\u0275fac=(()=>{let n;return function(o){return(n||(n=Ai(e)))(o||e)}})(),e.\u0275dir=ze({type:e,selectors:[["","matTreeNodeDef",""]],inputs:{when:[0,"matTreeNodeDefWhen","when"],data:[0,"matTreeNode","data"]},standalone:!0,features:[Bt([{provide:fC,useExisting:e}]),nn]});let i=e;return i})();var gG=(()=>{let e=class e extends CO{get level(){return this._level}set level(n){this._setLevelInput(n)}get indent(){return this._indent}set indent(n){this._setIndentInput(n)}};e.\u0275fac=(()=>{let n;return function(o){return(n||(n=Ai(e)))(o||e)}})(),e.\u0275dir=ze({type:e,selectors:[["","matTreeNodePadding",""]],inputs:{level:[2,"matTreeNodePadding","level",Ci],indent:[0,"matTreeNodePaddingIndent","indent"]},standalone:!0,features:[Bt([{provide:CO,useExisting:e}]),an,nn]});let i=e;return i})(),pG=(()=>{let e=class e{constructor(n,r){this.viewContainer=n,this._node=r}};e.\u0275fac=function(r){return new(r||e)(M(Yt),M(wO,8))},e.\u0275dir=ze({type:e,selectors:[["","matTreeNodeOutlet",""]],standalone:!0,features:[Bt([{provide:pC,useExisting:e}])]});let i=e;return i})(),_G=(()=>{let e=class e extends yc{constructor(){super(...arguments),this._nodeOutlet=void 0}};e.\u0275fac=(()=>{let n;return function(o){return(n||(n=Ai(e)))(o||e)}})(),e.\u0275cmp=le({type:e,selectors:[["mat-tree"]],viewQuery:function(r,o){if(r&1&&Te(pG,7),r&2){let s;be(s=ye())&&(o._nodeOutlet=s.first)}},hostAttrs:["role","tree",1,"mat-tree"],exportAs:["matTree"],standalone:!0,features:[Bt([{provide:yc,useExisting:e}]),nn,ce],decls:1,vars:0,consts:[["matTreeNodeOutlet",""]],template:function(r,o){r&1&&Zi(0,0)},dependencies:[pG],styles:[".mat-tree{display:block;background-color:var(--mat-tree-container-background-color)}.mat-tree-node,.mat-nested-tree-node{color:var(--mat-tree-node-text-color);font-family:var(--mat-tree-node-text-font);font-size:var(--mat-tree-node-text-size);font-weight:var(--mat-tree-node-text-weight)}.mat-tree-node{display:flex;align-items:center;flex:1;word-wrap:break-word;min-height:var(--mat-tree-node-min-height)}.mat-nested-tree-node{border-bottom-width:0}"],encapsulation:2});let i=e;return i})(),vG=(()=>{let e=class e extends SO{};e.\u0275fac=(()=>{let n;return function(o){return(n||(n=Ai(e)))(o||e)}})(),e.\u0275dir=ze({type:e,selectors:[["","matTreeNodeToggle",""]],inputs:{recursive:[0,"matTreeNodeToggleRecursive","recursive"]},standalone:!0,features:[Bt([{provide:SO,useExisting:e}]),nn]});let i=e;return i})();var bG=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=ot({type:e}),e.\u0275inj=rt({imports:[hG,qt,qt]});let i=e;return i})(),mC=class{constructor(e,t,n,r){this.transformFunction=e,this.getLevel=t,this.isExpandable=n,this.getChildren=r}_flattenNode(e,t,n,r){let o=this.transformFunction(e,t);if(n.push(o),this.isExpandable(o)){let s=this.getChildren(e);s&&(Array.isArray(s)?this._flattenChildren(s,t,n,r):s.pipe(_n(1)).subscribe(a=>{this._flattenChildren(a,t,n,r)}))}return n}_flattenChildren(e,t,n,r){e.forEach((o,s)=>{let a=r.slice();a.push(s!=e.length-1),this._flattenNode(o,t+1,n,a)})}flattenNodes(e){let t=[];return e.forEach(n=>this._flattenNode(n,0,t,[])),t}expandFlattenedNodes(e,t){let n=[],r=[];return r[0]=!0,e.forEach(o=>{let s=!0;for(let a=0;a<=this.getLevel(o);a++)s=s&&r[a];s&&n.push(o),this.isExpandable(o)&&(r[this.getLevel(o)+1]=t.isExpanded(o))}),n}},gC=class extends iC{get data(){return this._data.value}set data(e){this._data.next(e),this._flattenedData.next(this._treeFlattener.flattenNodes(this.data)),this._treeControl.dataNodes=this._flattenedData.value}constructor(e,t,n){super(),this._treeControl=e,this._treeFlattener=t,this._flattenedData=new Dn([]),this._expandedData=new Dn([]),this._data=new Dn([]),n&&(this.data=n)}connect(e){return Yn(e.viewChange,this._treeControl.expansionModel.changed,this._flattenedData).pipe(Je(()=>(this._expandedData.next(this._treeFlattener.expandFlattenedNodes(this._flattenedData.value,this._treeControl)),this._expandedData.value)))}disconnect(){}};var $_=200,yG=Qt({opacity:0}),xG=Qt({opacity:1}),Tde=`${$_}ms ${MT.DECELERATION_CURVE}`,Dde=`${$_}ms ${MT.STANDARD_CURVE}`,wG={bubbleContainer:ai("bubbleContainer",[mi("void, hidden",yG),mi("visible",xG),On("void => *, * => visible",Pn(Tde,xG)),On("* => void, * => hidden",Pn(Dde,yG))])};function Pde(i,e){i&1&&ee(0,"a",1)}var CG=(()=>{class i extends la{portalOutlet;animationState="hidden";changeDetector=te(Fe);attachComponentPortal(t){return this.portalOutlet.attachComponentPortal(t)}attachTemplatePortal(t){return this.portalOutlet.attachTemplatePortal(t)}toggleAnimation(t){this.animationState=t?"visible":"hidden",this.changeDetector.markForCheck()}static \u0275fac=(()=>{let t;return function(r){return(t||(t=Ai(i)))(r||i)}})();static \u0275cmp=le({type:i,selectors:[["bubble-container"]],viewQuery:function(n,r){if(n&1&&Te(Qo,7),n&2){let o;be(o=ye())&&(r.portalOutlet=o.first)}},hostAttrs:["role","dialog",1,"bubble-container"],hostVars:1,hostBindings:function(n,r){n&2&&Xf("@bubbleContainer",r.animationState)},standalone:!0,features:[nn,ce],decls:2,vars:0,consts:[["cdkPortalOutlet",""],["cdkFocusInitial","","tabindex","0"]],template:function(n,r){n&1&&(v(0,"div"),W(1,Pde,1,0,"ng-template",0),b())},dependencies:[Ms,Qo],styles:[`.bubble-container{box-shadow:0 1px 2px #3c40434d,0 1px 3px 1px #3c404326;border-radius:8px;overflow:auto;background:#fff;color:#000000de;font-family:Google Sans Text,Arial,Helvetica,sans-serif;font-size:.875rem;font-weight:400;line-height:1.25rem;letter-spacing:normal} +`],changeDetection:0})}return i})();var xO=class{constructor(){this.expansionModel=new of(!0)}toggle(e){this.expansionModel.toggle(this._trackByValue(e))}expand(e){this.expansionModel.select(this._trackByValue(e))}collapse(e){this.expansionModel.deselect(this._trackByValue(e))}isExpanded(e){return this.expansionModel.isSelected(this._trackByValue(e))}toggleDescendants(e){this.expansionModel.isSelected(this._trackByValue(e))?this.collapseDescendants(e):this.expandDescendants(e)}collapseAll(){this.expansionModel.clear()}expandDescendants(e){let t=[e];t.push(...this.getDescendants(e)),this.expansionModel.select(...t.map(n=>this._trackByValue(n)))}collapseDescendants(e){let t=[e];t.push(...this.getDescendants(e)),this.expansionModel.deselect(...t.map(n=>this._trackByValue(n)))}_trackByValue(e){return this.trackBy?this.trackBy(e):e}},pC=class extends xO{constructor(e,t,n){super(),this.getLevel=e,this.isExpandable=t,this.options=n,this.options&&(this.trackBy=this.options.trackBy)}getDescendants(e){let t=this.dataNodes.indexOf(e),n=[];for(let r=t+1;rthis._trackByValue(e)))}};var CO=new me("CDK_TREE_NODE_OUTLET_NODE"),fC=(()=>{let e=class e{constructor(n,r){this.viewContainer=n,this._node=r}};e.\u0275fac=function(r){return new(r||e)(M(Zt),M(CO,8))},e.\u0275dir=Ve({type:e,selectors:[["","cdkTreeNodeOutlet",""]],standalone:!0});let i=e;return i})(),wO=class{constructor(e){this.$implicit=e}},mC=(()=>{let e=class e{constructor(n){this.template=n}};e.\u0275fac=function(r){return new(r||e)(M(Wn))},e.\u0275dir=Ve({type:e,selectors:[["","cdkTreeNodeDef",""]],inputs:{when:[0,"cdkTreeNodeDefWhen","when"]},standalone:!0});let i=e;return i})();var Cl=(()=>{let e=class e{get dataSource(){return this._dataSource}set dataSource(n){this._dataSource!==n&&this._switchDataSource(n)}constructor(n,r){this._differs=n,this._changeDetectorRef=r,this._onDestroy=new pe,this._levels=new Map,this.viewChange=new On({start:0,end:Number.MAX_VALUE})}ngOnInit(){this._dataDiffer=this._differs.find([]).create(this.trackBy),this.treeControl}ngOnDestroy(){this._nodeOutlet.viewContainer.clear(),this.viewChange.complete(),this._onDestroy.next(),this._onDestroy.complete(),this._dataSource&&typeof this._dataSource.disconnect=="function"&&this.dataSource.disconnect(this),this._dataSubscription&&(this._dataSubscription.unsubscribe(),this._dataSubscription=null)}ngAfterContentChecked(){let n=this._nodeDefs.filter(r=>!r.when);n.length>1,this._defaultNodeDef=n[0],this.dataSource&&this._nodeDefs&&!this._dataSubscription&&this._observeRenderChanges()}_switchDataSource(n){this._dataSource&&typeof this._dataSource.disconnect=="function"&&this.dataSource.disconnect(this),this._dataSubscription&&(this._dataSubscription.unsubscribe(),this._dataSubscription=null),n||this._nodeOutlet.viewContainer.clear(),this._dataSource=n,this._nodeDefs&&this._observeRenderChanges()}_observeRenderChanges(){let n;WH(this._dataSource)?n=this._dataSource.connect(this):Fl(this._dataSource)?n=this._dataSource:Array.isArray(this._dataSource)&&(n=Ke(this._dataSource)),n&&(this._dataSubscription=n.pipe(Ze(this._onDestroy)).subscribe(r=>this.renderNodeChanges(r)))}renderNodeChanges(n,r=this._dataDiffer,o=this._nodeOutlet.viewContainer,s){let a=r.diff(n);a&&(a.forEachOperation((c,l,d)=>{if(c.previousIndex==null)this.insertNode(n[d],d,o,s);else if(d==null)o.remove(l),this._levels.delete(c.item);else{let u=o.get(l);o.move(u,d)}}),this._changeDetectorRef.detectChanges())}_getNodeDef(n,r){if(this._nodeDefs.length===1)return this._nodeDefs.first;let o=this._nodeDefs.find(s=>s.when&&s.when(r,n))||this._defaultNodeDef;return o}insertNode(n,r,o,s){let a=this._getNodeDef(n,r),c=new wO(n);this.treeControl.getLevel?c.level=this.treeControl.getLevel(n):typeof s<"u"&&this._levels.has(s)?c.level=this._levels.get(s)+1:c.level=0,this._levels.set(n,c.level),(o||this._nodeOutlet.viewContainer).createEmbeddedView(a.template,c,r),Cu.mostRecentTreeNode&&(Cu.mostRecentTreeNode.data=n)}};e.\u0275fac=function(r){return new(r||e)(M(td),M(Ne))},e.\u0275cmp=ce({type:e,selectors:[["cdk-tree"]],contentQueries:function(r,o,s){if(r&1&&_i(s,mC,5),r&2){let a;be(a=ye())&&(o._nodeDefs=a)}},viewQuery:function(r,o){if(r&1&&Ee(fC,7),r&2){let s;be(s=ye())&&(o._nodeOutlet=s.first)}},hostAttrs:["role","tree",1,"cdk-tree"],inputs:{dataSource:"dataSource",treeControl:"treeControl",trackBy:"trackBy"},exportAs:["cdkTree"],standalone:!0,features:[le],decls:1,vars:0,consts:[["cdkTreeNodeOutlet",""]],template:function(r,o){r&1&&Ki(0,0)},dependencies:[fC],encapsulation:2});let i=e;return i})(),Cu=(()=>{let e=class e{get role(){return"treeitem"}set role(n){this._elementRef.nativeElement.setAttribute("role",n)}get data(){return this._data}set data(n){n!==this._data&&(this._data=n,this._setRoleFromData(),this._dataChanges.next())}get isExpanded(){return this._tree.treeControl.isExpanded(this._data)}get level(){return this._tree.treeControl.getLevel?this._tree.treeControl.getLevel(this._data):this._parentNodeAriaLevel}constructor(n,r){this._elementRef=n,this._tree=r,this._destroyed=new pe,this._dataChanges=new pe,this._changeDetectorRef=te(Ne),e.mostRecentTreeNode=this,this.role="treeitem"}ngOnInit(){this._parentNodeAriaLevel=Ade(this._elementRef.nativeElement),this._elementRef.nativeElement.setAttribute("aria-level",`${this.level+1}`),this._tree.treeControl.expansionModel.changed.pipe(Je(()=>this.isExpanded),xc()).subscribe(()=>{this._changeDetectorRef.markForCheck()})}ngOnDestroy(){e.mostRecentTreeNode===this&&(e.mostRecentTreeNode=null),this._dataChanges.complete(),this._destroyed.next(),this._destroyed.complete()}focus(){this._elementRef.nativeElement.focus()}_setRoleFromData(){!this._tree.treeControl.isExpandable&&this._tree.treeControl.getChildren,this.role="treeitem"}};e.mostRecentTreeNode=null,e.\u0275fac=function(r){return new(r||e)(M(Re),M(Cl))},e.\u0275dir=Ve({type:e,selectors:[["cdk-tree-node"]],hostAttrs:[1,"cdk-tree-node"],hostVars:1,hostBindings:function(r,o){r&2&&Ye("aria-expanded",o.isExpanded)},inputs:{role:"role"},exportAs:["cdkTreeNode"],standalone:!0});let i=e;return i})();function Ade(i){let e=i.parentElement;for(;e&&!Nde(e);)e=e.parentElement;return e?e.classList.contains("cdk-nested-tree-node")?ni(e.getAttribute("aria-level")):0:-1}function Nde(i){let e=i.classList;return!!(e?.contains("cdk-nested-tree-node")||e?.contains("cdk-tree"))}var kde=/([A-Za-z%]+)$/,SO=(()=>{let e=class e{get level(){return this._level}set level(n){this._setLevelInput(n)}get indent(){return this._indent}set indent(n){this._setIndentInput(n)}constructor(n,r,o,s){this._treeNode=n,this._tree=r,this._element=o,this._dir=s,this._destroyed=new pe,this.indentUnits="px",this._indent=40,this._setPadding(),s&&s.change.pipe(Ze(this._destroyed)).subscribe(()=>this._setPadding(!0)),n._dataChanges.subscribe(()=>this._setPadding())}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_paddingIndent(){let n=this._treeNode.data&&this._tree.treeControl.getLevel?this._tree.treeControl.getLevel(this._treeNode.data):null,r=this._level==null?n:this._level;return typeof r=="number"?`${r*this._indent}${this.indentUnits}`:null}_setPadding(n=!1){let r=this._paddingIndent();if(r!==this._currentPadding||n){let o=this._element.nativeElement,s=this._dir&&this._dir.value==="rtl"?"paddingRight":"paddingLeft",a=s==="paddingLeft"?"paddingRight":"paddingLeft";o.style[s]=r||"",o.style[a]="",this._currentPadding=r}}_setLevelInput(n){this._level=isNaN(n)?null:n,this._setPadding()}_setIndentInput(n){let r=n,o="px";if(typeof n=="string"){let s=n.split(kde);r=s[0],o=s[1]||o}this.indentUnits=o,this._indent=ni(r),this._setPadding()}};e.\u0275fac=function(r){return new(r||e)(M(Cu),M(Cl),M(Re),M(di,8))},e.\u0275dir=Ve({type:e,selectors:[["","cdkTreeNodePadding",""]],inputs:{level:[2,"cdkTreeNodePadding","level",ni],indent:[0,"cdkTreeNodePaddingIndent","indent"]},standalone:!0,features:[nn]});let i=e;return i})(),MO=(()=>{let e=class e{constructor(n,r){this._tree=n,this._treeNode=r,this.recursive=!1}_toggle(n){this.recursive?this._tree.treeControl.toggleDescendants(this._treeNode.data):this._tree.treeControl.toggle(this._treeNode.data),n.stopPropagation()}};e.\u0275fac=function(r){return new(r||e)(M(Cl),M(Cu))},e.\u0275dir=Ve({type:e,selectors:[["","cdkTreeNodeToggle",""]],hostBindings:function(r,o){r&1&&H("click",function(a){return o._toggle(a)})},inputs:{recursive:[2,"cdkTreeNodeToggleRecursive","recursive",et]},standalone:!0,features:[nn]});let i=e;return i})();var gG=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=rt({type:e}),e.\u0275inj=it({});let i=e;return i})();var vG=(()=>{let e=class e extends Cu{constructor(n,r,o){super(n,r),this.disabled=!1,this.tabIndex=Number(o)||0}ngOnInit(){super.ngOnInit()}ngOnDestroy(){super.ngOnDestroy()}};e.\u0275fac=function(r){return new(r||e)(M(Re),M(Cl),Lr("tabindex"))},e.\u0275dir=Ve({type:e,selectors:[["mat-tree-node"]],hostAttrs:[1,"mat-tree-node"],inputs:{disabled:[2,"disabled","disabled",et],tabIndex:[2,"tabIndex","tabIndex",n=>n==null?0:ni(n)]},exportAs:["matTreeNode"],standalone:!0,features:[Ft([{provide:Cu,useExisting:e}]),nn,sn]});let i=e;return i})(),bG=(()=>{let e=class e extends mC{};e.\u0275fac=(()=>{let n;return function(o){return(n||(n=Li(e)))(o||e)}})(),e.\u0275dir=Ve({type:e,selectors:[["","matTreeNodeDef",""]],inputs:{when:[0,"matTreeNodeDefWhen","when"],data:[0,"matTreeNode","data"]},standalone:!0,features:[Ft([{provide:mC,useExisting:e}]),sn]});let i=e;return i})();var yG=(()=>{let e=class e extends SO{get level(){return this._level}set level(n){this._setLevelInput(n)}get indent(){return this._indent}set indent(n){this._setIndentInput(n)}};e.\u0275fac=(()=>{let n;return function(o){return(n||(n=Li(e)))(o||e)}})(),e.\u0275dir=Ve({type:e,selectors:[["","matTreeNodePadding",""]],inputs:{level:[2,"matTreeNodePadding","level",ni],indent:[0,"matTreeNodePaddingIndent","indent"]},standalone:!0,features:[Ft([{provide:SO,useExisting:e}]),nn,sn]});let i=e;return i})(),_G=(()=>{let e=class e{constructor(n,r){this.viewContainer=n,this._node=r}};e.\u0275fac=function(r){return new(r||e)(M(Zt),M(CO,8))},e.\u0275dir=Ve({type:e,selectors:[["","matTreeNodeOutlet",""]],standalone:!0,features:[Ft([{provide:fC,useExisting:e}])]});let i=e;return i})(),xG=(()=>{let e=class e extends Cl{constructor(){super(...arguments),this._nodeOutlet=void 0}};e.\u0275fac=(()=>{let n;return function(o){return(n||(n=Li(e)))(o||e)}})(),e.\u0275cmp=ce({type:e,selectors:[["mat-tree"]],viewQuery:function(r,o){if(r&1&&Ee(_G,7),r&2){let s;be(s=ye())&&(o._nodeOutlet=s.first)}},hostAttrs:["role","tree",1,"mat-tree"],exportAs:["matTree"],standalone:!0,features:[Ft([{provide:Cl,useExisting:e}]),sn,le],decls:1,vars:0,consts:[["matTreeNodeOutlet",""]],template:function(r,o){r&1&&Ki(0,0)},dependencies:[_G],styles:[".mat-tree{display:block;background-color:var(--mat-tree-container-background-color)}.mat-tree-node,.mat-nested-tree-node{color:var(--mat-tree-node-text-color);font-family:var(--mat-tree-node-text-font);font-size:var(--mat-tree-node-text-size);font-weight:var(--mat-tree-node-text-weight)}.mat-tree-node{display:flex;align-items:center;flex:1;word-wrap:break-word;min-height:var(--mat-tree-node-min-height)}.mat-nested-tree-node{border-bottom-width:0}"],encapsulation:2});let i=e;return i})(),wG=(()=>{let e=class e extends MO{};e.\u0275fac=(()=>{let n;return function(o){return(n||(n=Li(e)))(o||e)}})(),e.\u0275dir=Ve({type:e,selectors:[["","matTreeNodeToggle",""]],inputs:{recursive:[0,"matTreeNodeToggleRecursive","recursive"]},standalone:!0,features:[Ft([{provide:MO,useExisting:e}]),sn]});let i=e;return i})();var CG=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=rt({type:e}),e.\u0275inj=it({imports:[gG,Ut,Ut]});let i=e;return i})(),gC=class{constructor(e,t,n,r){this.transformFunction=e,this.getLevel=t,this.isExpandable=n,this.getChildren=r}_flattenNode(e,t,n,r){let o=this.transformFunction(e,t);if(n.push(o),this.isExpandable(o)){let s=this.getChildren(e);s&&(Array.isArray(s)?this._flattenChildren(s,t,n,r):s.pipe(_n(1)).subscribe(a=>{this._flattenChildren(a,t,n,r)}))}return n}_flattenChildren(e,t,n,r){e.forEach((o,s)=>{let a=r.slice();a.push(s!=e.length-1),this._flattenNode(o,t+1,n,a)})}flattenNodes(e){let t=[];return e.forEach(n=>this._flattenNode(n,0,t,[])),t}expandFlattenedNodes(e,t){let n=[],r=[];return r[0]=!0,e.forEach(o=>{let s=!0;for(let a=0;a<=this.getLevel(o);a++)s=s&&r[a];s&&n.push(o),this.isExpandable(o)&&(r[this.getLevel(o)+1]=t.isExpanded(o))}),n}},_C=class extends oC{get data(){return this._data.value}set data(e){this._data.next(e),this._flattenedData.next(this._treeFlattener.flattenNodes(this.data)),this._treeControl.dataNodes=this._flattenedData.value}constructor(e,t,n){super(),this._treeControl=e,this._treeFlattener=t,this._flattenedData=new On([]),this._expandedData=new On([]),this._data=new On([]),n&&(this.data=n)}connect(e){return Zn(e.viewChange,this._treeControl.expansionModel.changed,this._flattenedData).pipe(Je(()=>(this._expandedData.next(this._treeFlattener.expandFlattenedNodes(this._flattenedData.value,this._treeControl)),this._expandedData.value)))}disconnect(){}};var X_=200,SG=Kt({opacity:0}),MG=Kt({opacity:1}),Bde=`${X_}ms ${MT.DECELERATION_CURVE}`,Vde=`${X_}ms ${MT.STANDARD_CURVE}`,EG={bubbleContainer:li("bubbleContainer",[vi("void, hidden",SG),vi("visible",MG),An("void => *, * => visible",Rn(Bde,MG)),An("* => void, * => hidden",Rn(Vde,SG))])};function zde(i,e){i&1&&ee(0,"a",1)}var IG=(()=>{class i extends da{portalOutlet;animationState="hidden";changeDetector=te(Ne);attachComponentPortal(t){return this.portalOutlet.attachComponentPortal(t)}attachTemplatePortal(t){return this.portalOutlet.attachTemplatePortal(t)}toggleAnimation(t){this.animationState=t?"visible":"hidden",this.changeDetector.markForCheck()}static \u0275fac=(()=>{let t;return function(r){return(t||(t=Li(i)))(r||i)}})();static \u0275cmp=ce({type:i,selectors:[["bubble-container"]],viewQuery:function(n,r){if(n&1&&Ee(es,7),n&2){let o;be(o=ye())&&(r.portalOutlet=o.first)}},hostAttrs:["role","dialog",1,"bubble-container"],hostVars:1,hostBindings:function(n,r){n&2&&Jf("@bubbleContainer",r.animationState)},standalone:!0,features:[sn,le],decls:2,vars:0,consts:[["cdkPortalOutlet",""],["cdkFocusInitial","","tabindex","0"]],template:function(n,r){n&1&&(v(0,"div"),$(1,zde,1,0,"ng-template",0),b())},dependencies:[Es,es],styles:[`.bubble-container{box-shadow:0 1px 2px #3c40434d,0 1px 3px 1px #3c404326;border-radius:8px;overflow:auto;background:#fff;color:#000000de;font-family:Google Sans Text,Arial,Helvetica,sans-serif;font-size:.875rem;font-weight:400;line-height:1.25rem;letter-spacing:normal} /** * @license * Copyright 2024 The Model Explorer Authors. All Rights Reserved. @@ -3194,8 +3194,8 @@ void main() { * limitations under the License. * ============================================================================== */ -`],encapsulation:2,data:{animation:[wG.bubbleContainer]},changeDetection:0})}return i})();var Ode=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top",offsetY:8},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom",offsetY:-8},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom",offsetY:-8},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top",offsetY:8}],Rde={minWidth:220,maxWidth:420,minHeight:64,maxHeight:420},_C=(()=>{class i{ngZone;overlay;elementRef;viewContainerRef;document;focusTrapFactory;injector;overlayRef;portal;disabledInternal=!1;panelClassInternal;set dialog(t){t&&(t instanceof Hn?this.setPortal(new Wr(t,this.viewContainerRef)):this.setPortal(new Pi(t,this.viewContainerRef)))}set disabled(t){this.disabledInternal=t,this.disabledInternal&&this.closeDialog()}get disabled(){return this.disabledInternal}overlaySize;overlayPositions;overlayDimensions=Rde;set panelClass(t){this.panelClassInternal!==t&&(this.panelClassInternal&&this.overlayRef?.removePanelClass(this.panelClassInternal),t&&this.overlayRef?.addPanelClass(t),this.panelClassInternal=t)}opened=new Ie;closed=new Ie;destroyed=new va;openStatusChange=new Dn(!1);openings=this.openStatusChange.pipe(jt(t=>t&&!this.disabled));bubbleContainerRef;focusTrap;elementFocusedBeforeDialogWasOpened=void 0;constructor(t,n,r,o,s,a,l){this.ngZone=t,this.overlay=n,this.elementRef=r,this.viewContainerRef=o,this.document=s,this.focusTrapFactory=a,this.injector=l,this.attachKeyboardCloseEventListeners(r.nativeElement)}ngOnInit(){}ngOnDestroy(){this.closeDialog(),this.openStatusChange.complete(),this.destroyed.next(),this.destroyed.complete(),this.overlayRef&&this.overlayRef.dispose()}setPortal(t){this.portal=t}openDialog(){if(this.disabled||this.overlayRef?.hasAttached())return;let t=this.portal;t!=null&&this.ngZone.run(()=>{this.bubbleContainerRef=this.createAndAttachBubbleContainer(),this.bubbleContainerRef.instance.attach(t);let n=this.bubbleContainerRef.location.nativeElement;this.attachMouseEventListeners(n),this.attachKeyboardCloseEventListeners(n),this.trapFocus(n),this.bubbleContainerRef.instance.toggleAnimation(!0),this.opened.observers.length&&setTimeout(()=>{this.opened.emit()},$_)})}closeDialog(){this.overlayRef?.hasAttached()&&(this.bubbleContainerRef.instance.toggleAnimation(!1),setTimeout(()=>{this.ngZone.run(()=>{this.overlayRef&&this.overlayRef.detach(),this.cleanupFocusTrap(),this.restoreFocus(),this.cleanupBubbleContainer(),this.closed.emit()})},$_))}trapFocus(t){let n=this.document.activeElement,r=this.elementRef.nativeElement;n&&n===r&&(this.document&&(this.elementFocusedBeforeDialogWasOpened=this.document.activeElement),this.focusTrap=this.focusTrapFactory.create(t),this.focusTrap.attachAnchors())}focusInitialElement(){this.focusTrap&&this.focusTrap.focusInitialElementWhenReady()}cleanupFocusTrap(){this.focusTrap&&(this.focusTrap.destroy(),this.focusTrap=void 0)}restoreFocus(){let t=this.elementFocusedBeforeDialogWasOpened;if(!t||typeof t.focus!="function")return;let n=this.bubbleContainerRef?.location.nativeElement,r=this.document.activeElement;!r||!n?.contains(r)||(t.focus(),this.elementFocusedBeforeDialogWasOpened=void 0)}cleanupBubbleContainer(){this.bubbleContainerRef&&(this.bubbleContainerRef.destroy(),this.bubbleContainerRef=void 0)}createPositionStrategy(t){return this.overlay.position().flexibleConnectedTo(this.elementRef).withPositions(t).setOrigin(this.elementRef)}createScrollStrategy(){return this.overlay.scrollStrategies.close()}createAndAttachBubbleContainer(){let t=xt.create({parent:this.injector,providers:[]}),n=new Pi(CG,null,t);return this.overlayRef==null&&(this.overlayRef=this.overlay.create(this.createOverlayConfig(Ode))),this.overlaySize&&this.overlayRef.updateSize(this.overlaySize),this.overlayPositions&&this.overlayPositions.length>0&&this.overlayRef.updatePositionStrategy(this.createPositionStrategy(this.overlayPositions)),this.overlayRef.attach(n)}static \u0275fac=function(n){return new(n||i)(M(Le),M(Gt),M(Re),M(Yt),M(Document),M(kh),M(xt))};static \u0275dir=ze({type:i,inputs:{overlaySize:"overlaySize",overlayPositions:"overlayPositions",overlayDimensions:"overlayDimensions",panelClass:"panelClass"},outputs:{opened:"opened",closed:"closed"},standalone:!0})}return i})();var Ade=500,$n=(()=>{class i extends _C{hoverDelayMs=Ade;activity=new me;constructor(t,n,r,o,s,a,l){super(t,n,r,o,s,a,l),this.attachMouseEventListeners(r.nativeElement)}ngOnInit(){super.ngOnInit(),this.listenForOpenEvents(this.hoverDelayMs)}listenForOpenEvents(t){this.openStatusChange.pipe(If(()=>this.activity.pipe(To(t)))).pipe(Xe(this.destroyed)).subscribe(r=>{r?this.openDialog():this.closeDialog()})}attachMouseEventListeners(t){this.ngZone.runOutsideAngular(()=>{yn(t,"mouseenter").pipe(Xe(this.destroyed)).subscribe(()=>{this.openingDialog()}),yn(t,"click").pipe(Xe(this.destroyed)).subscribe(n=>{n.target.closest("[bubbleClose]")?this.closingDialog():(this.openingDialog(),this.openDialog())}),yn(t,"mouseleave").pipe(Xe(this.destroyed)).subscribe(()=>{this.closingDialog()}),yn(t,"mousemove").pipe(Xe(this.destroyed)).subscribe(()=>{this.activity.next()})})}attachKeyboardCloseEventListeners(t){this.ngZone.runOutsideAngular(()=>{yn(t,"keydown").pipe(Xe(this.destroyed)).subscribe(n=>{switch(n.keyCode){case 27:this.overlayRef?.hasAttached()&&n.stopPropagation(),this.closeDialog();return;default:return}})})}openingDialog(){this.disabled||(this.openStatusChange.next(!0),this.activity.next())}closingDialog(){this.openStatusChange.next(!1),this.activity.next()}createOverlayConfig(t){return new hi(wt(Z({},this.overlayDimensions),{positionStrategy:super.createPositionStrategy(t),scrollStrategy:this.createScrollStrategy(),panelClass:this.panelClassInternal}))}static \u0275fac=function(n){return new(n||i)(M(Le),M(Gt),M(Re),M(Yt),M(Ye),M(kh),M(xt))};static \u0275dir=ze({type:i,selectors:[["","bubble",""]],hostAttrs:[1,"bubble"],inputs:{dialog:[0,"bubble","dialog"],disabled:[0,"bubbleDisabled","disabled"],hoverDelayMs:"hoverDelayMs"},exportAs:["bubble"],standalone:!0,features:[nn]})}return i})();var vC=[ai("transformPanel",[mi("void",Qt({opacity:0,transform:"scale(1, 0.8)"})),On("void => showing",Pn("120ms cubic-bezier(0, 0, 0.2, 1)",Qt({opacity:1,transform:"scale(1, 1)"}))),On("* => void",Pn("100ms linear",Qt({opacity:0})))])];var Nde=["tree"],MG=i=>({node:i});function kde(i,e){if(i&1&&S(0),i&2){let t=I().$implicit;XE(" ",t.boldLabel," (",t.label,") ")}}function Lde(i,e){if(i&1&&S(0),i&2){let t=I().$implicit;Me(" ",t.label," ")}}function Fde(i,e){i&1&&Zi(0)}function Bde(i,e){if(i&1&&W(0,Fde,1,0,"ng-container",14),i&2){let t=I().$implicit;I();let n=ve(5);N("ngTemplateOutlet",n)("ngTemplateOutletContext",Pl(2,MG,t))}}function Vde(i,e){if(i&1&&(v(0,"tr")(1,"td",17)(2,"mat-icon",18),S(3,"circle"),b(),S(4),b(),v(5,"td",19),S(6),b()()),i&2){let t=e.$implicit,n=I(2).$implicit,r=I();se("search-match",r.isSearchMatched(n.metadata[t])),w(4),Me(" ",t,""),w(2),nt(n.metadata[t])}}function zde(i,e){if(i&1&&(v(0,"table",15),W(1,Vde,7,4,"tr",16),b()),i&2){let t=I().$implicit,n=I();w(),N("ngForOf",n.getSortedMetadataKeys(t))}}function Ude(i,e){if(i&1&&(v(0,"div",20)(1,"mat-icon",21),S(2,"my_location"),b()()),i&2){let t=I(2);N("matTooltip",t.locatorTooltip)("matTooltipPosition",t.tooltipPosition)}}function Hde(i,e){if(i&1&&(v(0,"div",23),S(1),b()),i&2){let t=I(3);w(),Me(" Showing at most ",t.getMaxConstValueCount()," elements ")}}function Gde(i,e){if(i&1&&(v(0,"div",22),W(1,Hde,2,1,"div",23),v(2,"div",24),S(3),b()()),i&2){let t=I().$implicit,n=I();w(),ae(n.getMaxConstValueCount()!==0?1:-1),w(2),nt(n.getConstValues(t))}}function jde(i,e){if(i&1){let t=ie();v(0,"mat-tree-node",6)(1,"div",7),H("click",function(r){let o=V(t).$implicit,s=I();return z(s.handleLocateNode(o,r.altKey))}),v(2,"div",8)(3,"div",9)(4,"div",10)(5,"span",11),W(6,kde,1,2)(7,Lde,1,1),b(),W(8,Bde,1,4,"ng-container"),b()(),W(9,zde,2,1,"table",12),b(),W(10,Ude,3,2,"div",13),b(),W(11,Gde,4,2,"ng-template",null,2,kt),b()}if(i&2){let t=e.$implicit,n=ve(12),r=I();se("has-locator",t.showLocator)("has-values",r.showHoverForValuesLabel(t))("highlight",t.highlight)("has-metadata",r.hasMetadata(t)),N("bubble",n)("overlaySize",r.constValuesPopupSize)("overlayPositions",r.constValuesPopupPosition)("hoverDelayMs",50)("bubbleDisabled",!r.showHoverForValuesLabel(t))("matTreeNodePaddingIndent",r.treeItemPadding),Ze("data-id",t.nodeId),w(2),se("has-extra-data",t.extraData!=null),w(3),se("color-bold",r.colorBoldNodeLabel)("search-match",r.isSearchMatched(t.label,t.boldLabel)),w(),ae(t.boldLabel?6:7),w(2),ae(t.extraData?8:-1),w(),N("ngIf",r.hasMetadata(t)),w(),N("ngIf",t.showLocator&&r.showLocator)}}function Wde(i,e){i&1&&Zi(0)}function $de(i,e){if(i&1&&W(0,Wde,1,0,"ng-container",14),i&2){let t=I().$implicit;I();let n=ve(5);N("ngTemplateOutlet",n)("ngTemplateOutletContext",Pl(2,MG,t))}}function qde(i,e){if(i&1&&(v(0,"div",20)(1,"mat-icon",21),S(2,"my_location"),b()()),i&2){let t=I(2);N("matTooltip",t.locatorTooltip)("matTooltipPosition",t.tooltipPosition)}}function Yde(i,e){if(i&1){let t=ie();v(0,"mat-tree-node",25)(1,"div",26),H("click",function(r){let o=V(t).$implicit,s=I();return z(s.handleLocateNode(o,r.altKey))}),v(2,"div",9)(3,"button",27)(4,"mat-icon",28),S(5),b()(),v(6,"div",10),S(7),W(8,$de,1,4,"ng-container"),b()(),W(9,qde,3,2,"div",13),b()()}if(i&2){let t=e.$implicit,n=I();se("has-locator",t.showLocator),N("matTreeNodePaddingIndent",n.treeItemPadding),Ze("data-id",t.nodeId),w(),se("highlight",t.highlightGroupLabel),w(),se("has-extra-data",t.extraData!=null),w(),Ze("aria-label","Toggle "+t.label),w(2),Me(" ",n.treeControl.isExpanded(t)?"keyboard_arrow_down":"chevron_right"," "),w(2),Me(" ",t.label," "),w(),ae(t.extraData?8:-1),w(),N("ngIf",t.showLocator&&n.showLocator)}}function Xde(i,e){if(i&1&&(v(0,"div",30)(1,"mat-icon"),S(2),b()()),i&2){let t=e.$implicit,n=I(2);N("matTooltip",n.getExtraLabelTooltip(t)),w(2),nt(t)}}function Zde(i,e){if(i&1&&(v(0,"div",29),ln(1,Xde,3,2,"div",30,Kr),b()),i&2){let t=e.node;w(),cn(t.extraData.matchTypes)}}var xc=(()=>{class i{appService;changeDetectorRef;data;solidBackground=!1;rendererId="";tooltipPosition="left";showLocator=!0;colorBoldNodeLabel=!1;onClose=new Ie;tree;constValuesPopupSize={minWidth:100};constValuesPopupPosition=[{originX:"start",originY:"top",overlayX:"end",overlayY:"top"}];locatorTooltip=`Click: locate -Alt+click: select`;transformer=(t,n)=>({nodeId:t.nodeId,node:t.node,expandable:!!t.children&&t.children.length>0,label:t.label,boldLabel:t.boldLabel,level:n,showLocator:t.showLocator,highlight:t.highlight,metadata:t.metadata,extraData:t.extraData});curSearchMatches=[];treeItemPadding=8;treeControl=new hC(t=>t.level,t=>t.expandable);treeFlattener=new mC(this.transformer,t=>t.level,t=>t.expandable,t=>t.children);dataSource=new gC(this.treeControl,this.treeFlattener);constructor(t,n){this.appService=t,this.changeDetectorRef=n}ngOnChanges(t){this.data!=null&&(this.dataSource.data=this.data,this.treeControl.expandAll())}updateData(t){this.data=t,this.dataSource.data=this.data,this.treeControl.expandAll(),this.changeDetectorRef.markForCheck()}updateSearchResults(t){this.curSearchMatches=t,this.changeDetectorRef.markForCheck()}handleLocateNode(t,n){t.showLocator&&(this.appService.curToLocateNodeInfo.set({nodeId:t.nodeId||"",rendererId:this.rendererId,isGroupNode:t.expandable,select:n}),this.onClose.emit({}))}hasChild(t,n){return n.expandable}hasMetadata(t){return t.metadata!=null&&Object.keys(t.metadata).length>0}getSortedMetadataKeys(t){return Object.keys(t.metadata||{}).filter(n=>!n.startsWith("__")).sort()}showHoverForValuesLabel(t){let n=t.node;if(!n)return!1;if(Et(n)){let r=n.attrs||{};if(r[ka])return r[ka]!=="DATA_ELIDED"}return!1}getMaxConstValueCount(){return this.appService.config()?.maxConstValueCount??0}getConstValues(t){let n=t.node;return n&&Et(n)?(n.attrs||{})[ka]||"":""}getExtraLabelTooltip(t){switch(t){case bt.NODE_LABEL:return"Node label matched";case bt.ATTRIBUTE:return"Node attribute(s) matched";case bt.INPUT_METADATA:return"Input(s) matched";case bt.OUTPUT_METADATA:return"Output(s) matched";default:return""}}isSearchMatched(t,n){return this.curSearchMatches?this.curSearchMatches.find(r=>r.matchedText===t||r.matchedText===n)!=null:!1}static \u0275fac=function(n){return new(n||i)(M(st),M(Fe))};static \u0275cmp=le({type:i,selectors:[["io-tree"]],viewQuery:function(n,r){if(n&1&&Te(Nde,5),n&2){let o;be(o=ye())&&(r.tree=o.first)}},inputs:{data:"data",solidBackground:"solidBackground",rendererId:"rendererId",tooltipPosition:"tooltipPosition",showLocator:"showLocator",colorBoldNodeLabel:"colorBoldNodeLabel"},outputs:{onClose:"onClose"},standalone:!0,features:[dn,ce],decls:6,vars:7,consts:[["tree",""],["matchTypes",""],["constValuesPopup",""],[1,"io-tree",3,"dataSource","treeControl"],["class","leaf","matTreeNodePadding","",3,"has-locator","has-values","highlight","has-metadata","bubble","overlaySize","overlayPositions","hoverDelayMs","bubbleDisabled","matTreeNodePaddingIndent",4,"matTreeNodeDef"],["matTreeNodePadding","",3,"has-locator","matTreeNodePaddingIndent",4,"matTreeNodeDef","matTreeNodeDefWhen"],["matTreeNodePadding","",1,"leaf",3,"bubble","overlaySize","overlayPositions","hoverDelayMs","bubbleDisabled","matTreeNodePaddingIndent"],[1,"edge-node",3,"click"],[1,"label-and-metadata"],[1,"label-container"],[1,"label"],[1,"node-label"],["class","metadata-table",4,"ngIf"],["class","locator-container","matTooltipClass","multiline-tooltip-left",3,"matTooltip","matTooltipPosition",4,"ngIf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"metadata-table"],[3,"search-match",4,"ngFor","ngForOf"],[1,"key"],[1,"bullet"],[1,"value"],["matTooltipClass","multiline-tooltip-left",1,"locator-container",3,"matTooltip","matTooltipPosition"],[1,"locator-icon"],[1,"model-explorer-const-values-popup"],[1,"values-count-msg"],[1,"content"],["matTreeNodePadding","",3,"matTreeNodePaddingIndent"],[1,"expandable-tree-node",3,"click"],["mat-icon-button","","matTreeNodeToggle","",1,"expand-icon-button"],[1,"expander"],[1,"match-types-container"],[1,"extra-label-container",3,"matTooltip"]],template:function(n,r){n&1&&(v(0,"mat-tree",3,0),W(2,jde,13,25,"mat-tree-node",4)(3,Yde,10,13,"mat-tree-node",5),b(),W(4,Zde,3,0,"ng-template",null,1,kt)),n&2&&(se("solid-background",r.solidBackground),N("dataSource",r.dataSource)("treeControl",r.treeControl)("@transformPanel","showing")("@.disabled",!r.solidBackground),w(3),N("matTreeNodeDefWhen",r.hasChild))},dependencies:[$n,Ae,Si,Mn,Us,In,Ho,it,_t,Jt,Wn,bG,mG,gG,vG,_G,fG],styles:[`.io-tree[_ngcontent-%COMP%]{background-color:transparent;padding-top:4px}.io-tree.solid-background[_ngcontent-%COMP%]{transform-origin:top center;background-color:#fff;border:1px solid #ccc;border-radius:4px;padding-bottom:8px;min-width:270px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.io-tree[_ngcontent-%COMP%] mat-tree-node.has-locator[_ngcontent-%COMP%], .io-tree[_ngcontent-%COMP%] mat-tree-node.has-values[_ngcontent-%COMP%]{cursor:pointer}.io-tree[_ngcontent-%COMP%] mat-tree-node.has-locator[_ngcontent-%COMP%]:hover, .io-tree[_ngcontent-%COMP%] mat-tree-node.has-values[_ngcontent-%COMP%]:hover{background-color:#f3f3f3}.io-tree[_ngcontent-%COMP%] mat-tree-node.highlight[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{color:#00639b;font-weight:500}.io-tree[_ngcontent-%COMP%] mat-tree-node[_ngcontent-%COMP%]:not(:last-child).has-metadata.leaf{margin-bottom:6px}.io-tree[_ngcontent-%COMP%] .edge-node[_ngcontent-%COMP%]{display:flex;align-items:flex-start;justify-content:space-between;width:100%;box-sizing:border-box;padding-right:12px;padding-left:27px}.io-tree[_ngcontent-%COMP%] .edge-node[_ngcontent-%COMP%]:hover .locator-container[_ngcontent-%COMP%]{opacity:.8}.io-tree[_ngcontent-%COMP%] .edge-node[_ngcontent-%COMP%] .label-and-metadata.has-extra-data[_ngcontent-%COMP%]{width:100%}.io-tree[_ngcontent-%COMP%] .edge-node[_ngcontent-%COMP%] .label-and-metadata.has-extra-data[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{width:100%;justify-content:space-between}.io-tree[_ngcontent-%COMP%] .edge-node[_ngcontent-%COMP%] .label-and-metadata[_ngcontent-%COMP%] .label-container[_ngcontent-%COMP%], .io-tree[_ngcontent-%COMP%] .edge-node[_ngcontent-%COMP%] .label-and-metadata[_ngcontent-%COMP%] .label-container[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{display:flex;align-items:center}.io-tree[_ngcontent-%COMP%] .edge-node[_ngcontent-%COMP%] .label-and-metadata[_ngcontent-%COMP%] .label-container[_ngcontent-%COMP%] .node-label.color-bold[_ngcontent-%COMP%]{color:#00639b;font-weight:500}.io-tree[_ngcontent-%COMP%] .edge-node[_ngcontent-%COMP%] .label-and-metadata[_ngcontent-%COMP%] .label-container[_ngcontent-%COMP%] .node-label.search-match[_ngcontent-%COMP%]{background-color:#f5e25a}.io-tree[_ngcontent-%COMP%] .edge-node[_ngcontent-%COMP%] .label-and-metadata[_ngcontent-%COMP%] .hover-for-values-label[_ngcontent-%COMP%]{text-decoration:underline;text-decoration-style:dotted;color:#999;margin-left:8px}.io-tree[_ngcontent-%COMP%] .edge-node[_ngcontent-%COMP%] .label-and-metadata[_ngcontent-%COMP%] .metadata-table[_ngcontent-%COMP%]{border-spacing:0;border-collapse:collapse;padding:0;font-size:11px;margin-top:2px}.io-tree[_ngcontent-%COMP%] .edge-node[_ngcontent-%COMP%] .label-and-metadata[_ngcontent-%COMP%] .metadata-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]{vertical-align:text-top}.io-tree[_ngcontent-%COMP%] .edge-node[_ngcontent-%COMP%] .label-and-metadata[_ngcontent-%COMP%] .metadata-table[_ngcontent-%COMP%] tr.search-match[_ngcontent-%COMP%]{background-color:#f5e25a}.io-tree[_ngcontent-%COMP%] .edge-node[_ngcontent-%COMP%] .label-and-metadata[_ngcontent-%COMP%] .metadata-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] mat-icon.bullet[_ngcontent-%COMP%]{font-size:4px;width:5px;height:5px;color:#bbb;margin-right:2px}.io-tree[_ngcontent-%COMP%] .edge-node[_ngcontent-%COMP%] .label-and-metadata[_ngcontent-%COMP%] .metadata-table[_ngcontent-%COMP%] td.key[_ngcontent-%COMP%]{color:#999;padding-right:4px;white-space:nowrap;line-height:12px}.io-tree[_ngcontent-%COMP%] .edge-node[_ngcontent-%COMP%] .label-and-metadata[_ngcontent-%COMP%] .metadata-table[_ngcontent-%COMP%] td.value[_ngcontent-%COMP%]{line-height:12px}.io-tree[_ngcontent-%COMP%] .expandable-tree-node[_ngcontent-%COMP%], .io-tree[_ngcontent-%COMP%] mat-tree-node[_ngcontent-%COMP%]{font-size:13px;min-height:22px;word-break:break-word}.io-tree[_ngcontent-%COMP%] .expandable-tree-node[_ngcontent-%COMP%]{color:#999;display:flex;align-items:center;justify-content:space-between;width:100%;box-sizing:border-box;padding-right:12px;padding-left:4px}.io-tree[_ngcontent-%COMP%] .expandable-tree-node.highlight[_ngcontent-%COMP%]{color:#000000de}.io-tree[_ngcontent-%COMP%] .expandable-tree-node[_ngcontent-%COMP%]:hover .locator-container[_ngcontent-%COMP%]{opacity:.8}.io-tree[_ngcontent-%COMP%] .expandable-tree-node[_ngcontent-%COMP%] mat-icon.expander[_ngcontent-%COMP%]{color:#999}.io-tree[_ngcontent-%COMP%] .expandable-tree-node[_ngcontent-%COMP%] .label-container[_ngcontent-%COMP%]{display:flex;align-items:center}.io-tree[_ngcontent-%COMP%] .expandable-tree-node[_ngcontent-%COMP%] .label-container.has-extra-data[_ngcontent-%COMP%]{width:100%}.io-tree[_ngcontent-%COMP%] .expandable-tree-node[_ngcontent-%COMP%] .label-container.has-extra-data[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{flex-grow:1;justify-content:space-between}.io-tree[_ngcontent-%COMP%] .expandable-tree-node[_ngcontent-%COMP%] .label-container[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{display:flex;align-items:center}.io-tree[_ngcontent-%COMP%] .expand-icon-button[_ngcontent-%COMP%]{padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.io-tree[_ngcontent-%COMP%] .expand-icon-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:18px;margin-top:6px}.io-tree[_ngcontent-%COMP%] .locator-container[_ngcontent-%COMP%]{height:18px;opacity:.5;cursor:pointer;display:flex;align-items:center}.io-tree[_ngcontent-%COMP%] .locator-container[_ngcontent-%COMP%] mat-icon.locator-icon[_ngcontent-%COMP%]{color:#333;font-size:16px;width:16px;height:16px}.io-tree[_ngcontent-%COMP%] .locator-container[_ngcontent-%COMP%]:hover{opacity:.8}.io-tree[_ngcontent-%COMP%] .match-types-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-self:center;gap:2px;margin-left:8px}.io-tree[_ngcontent-%COMP%] .extra-label-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-self:center;padding:4px;border-radius:99px;background-color:#e8f0fe;box-sizing:border-box}.io-tree[_ngcontent-%COMP%] .extra-label-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:12px;width:12px;height:12px;color:#9da3a9}.io-tree[_ngcontent-%COMP%] .mat-mdc-button-touch-target{width:24px;height:24px}.io-tree-invisible[_ngcontent-%COMP%]{display:none}.io-tree[_ngcontent-%COMP%] ul[_ngcontent-%COMP%], .io-tree[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{margin-top:0;margin-bottom:0;list-style-type:none}.io-tree[_ngcontent-%COMP%] .mat-nested-tree-node[_ngcontent-%COMP%] div[role=group][_ngcontent-%COMP%]{padding-left:8px}.io-tree[_ngcontent-%COMP%] div[role=group][_ngcontent-%COMP%] > .mat-tree-node[_ngcontent-%COMP%]{padding-left:16px} bubble-container:has(.model-explorer-const-values-popup){width:100%} .model-explorer-const-values-popup{padding:8px;font-size:11px;line-height:12px;background-color:#fff} .model-explorer-const-values-popup .values-count-msg{margin-bottom:8px;color:#999} .model-explorer-const-values-popup .content{white-space:pre-wrap;font-family:monospace} +`],encapsulation:2,data:{animation:[EG.bubbleContainer]},changeDetection:0})}return i})();var Ude=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top",offsetY:8},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom",offsetY:-8},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom",offsetY:-8},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top",offsetY:8}],Hde={minWidth:220,maxWidth:420,minHeight:64,maxHeight:420},vC=(()=>{class i{ngZone;overlay;elementRef;viewContainerRef;document;focusTrapFactory;injector;overlayRef;portal;disabledInternal=!1;panelClassInternal;set dialog(t){t&&(t instanceof Wn?this.setPortal(new Zr(t,this.viewContainerRef)):this.setPortal(new Ai(t,this.viewContainerRef)))}set disabled(t){this.disabledInternal=t,this.disabledInternal&&this.closeDialog()}get disabled(){return this.disabledInternal}overlaySize;overlayPositions;overlayDimensions=Hde;set panelClass(t){this.panelClassInternal!==t&&(this.panelClassInternal&&this.overlayRef?.removePanelClass(this.panelClassInternal),t&&this.overlayRef?.addPanelClass(t),this.panelClassInternal=t)}opened=new Ie;closed=new Ie;destroyed=new ya;openStatusChange=new On(!1);openings=this.openStatusChange.pipe(qt(t=>t&&!this.disabled));bubbleContainerRef;focusTrap;elementFocusedBeforeDialogWasOpened=void 0;constructor(t,n,r,o,s,a,c){this.ngZone=t,this.overlay=n,this.elementRef=r,this.viewContainerRef=o,this.document=s,this.focusTrapFactory=a,this.injector=c,this.attachKeyboardCloseEventListeners(r.nativeElement)}ngOnInit(){}ngOnDestroy(){this.closeDialog(),this.openStatusChange.complete(),this.destroyed.next(),this.destroyed.complete(),this.overlayRef&&this.overlayRef.dispose()}setPortal(t){this.portal=t}openDialog(){if(this.disabled||this.overlayRef?.hasAttached())return;let t=this.portal;t!=null&&this.ngZone.run(()=>{this.bubbleContainerRef=this.createAndAttachBubbleContainer(),this.bubbleContainerRef.instance.attach(t);let n=this.bubbleContainerRef.location.nativeElement;this.attachMouseEventListeners(n),this.attachKeyboardCloseEventListeners(n),this.trapFocus(n),this.bubbleContainerRef.instance.toggleAnimation(!0),this.opened.observers.length&&setTimeout(()=>{this.opened.emit()},X_)})}closeDialog(){this.overlayRef?.hasAttached()&&(this.bubbleContainerRef.instance.toggleAnimation(!1),setTimeout(()=>{this.ngZone.run(()=>{this.overlayRef&&this.overlayRef.detach(),this.cleanupFocusTrap(),this.restoreFocus(),this.cleanupBubbleContainer(),this.closed.emit()})},X_))}trapFocus(t){let n=this.document.activeElement,r=this.elementRef.nativeElement;n&&n===r&&(this.document&&(this.elementFocusedBeforeDialogWasOpened=this.document.activeElement),this.focusTrap=this.focusTrapFactory.create(t),this.focusTrap.attachAnchors())}focusInitialElement(){this.focusTrap&&this.focusTrap.focusInitialElementWhenReady()}cleanupFocusTrap(){this.focusTrap&&(this.focusTrap.destroy(),this.focusTrap=void 0)}restoreFocus(){let t=this.elementFocusedBeforeDialogWasOpened;if(!t||typeof t.focus!="function")return;let n=this.bubbleContainerRef?.location.nativeElement,r=this.document.activeElement;!r||!n?.contains(r)||(t.focus(),this.elementFocusedBeforeDialogWasOpened=void 0)}cleanupBubbleContainer(){this.bubbleContainerRef&&(this.bubbleContainerRef.destroy(),this.bubbleContainerRef=void 0)}createPositionStrategy(t){return this.overlay.position().flexibleConnectedTo(this.elementRef).withPositions(t).setOrigin(this.elementRef)}createScrollStrategy(){return this.overlay.scrollStrategies.close()}createAndAttachBubbleContainer(){let t=vt.create({parent:this.injector,providers:[]}),n=new Ai(IG,null,t);return this.overlayRef==null&&(this.overlayRef=this.overlay.create(this.createOverlayConfig(Ude))),this.overlaySize&&this.overlayRef.updateSize(this.overlaySize),this.overlayPositions&&this.overlayPositions.length>0&&this.overlayRef.updatePositionStrategy(this.createPositionStrategy(this.overlayPositions)),this.overlayRef.attach(n)}static \u0275fac=function(n){return new(n||i)(M(Fe),M($t),M(Re),M(Zt),M(Document),M(Bh),M(vt))};static \u0275dir=Ve({type:i,inputs:{overlaySize:"overlaySize",overlayPositions:"overlayPositions",overlayDimensions:"overlayDimensions",panelClass:"panelClass"},outputs:{opened:"opened",closed:"closed"},standalone:!0})}return i})();var Gde=500,Hn=(()=>{class i extends vC{hoverDelayMs=Gde;activity=new pe;constructor(t,n,r,o,s,a,c){super(t,n,r,o,s,a,c),this.attachMouseEventListeners(r.nativeElement)}ngOnInit(){super.ngOnInit(),this.listenForOpenEvents(this.hoverDelayMs)}listenForOpenEvents(t){this.openStatusChange.pipe(Of(()=>this.activity.pipe(Oo(t)))).pipe(Ze(this.destroyed)).subscribe(r=>{r?this.openDialog():this.closeDialog()})}attachMouseEventListeners(t){this.ngZone.runOutsideAngular(()=>{yn(t,"mouseenter").pipe(Ze(this.destroyed)).subscribe(()=>{this.openingDialog()}),yn(t,"click").pipe(Ze(this.destroyed)).subscribe(n=>{n.target.closest("[bubbleClose]")?this.closingDialog():(this.openingDialog(),this.openDialog())}),yn(t,"mouseleave").pipe(Ze(this.destroyed)).subscribe(()=>{this.closingDialog()}),yn(t,"mousemove").pipe(Ze(this.destroyed)).subscribe(()=>{this.activity.next()})})}attachKeyboardCloseEventListeners(t){this.ngZone.runOutsideAngular(()=>{yn(t,"keydown").pipe(Ze(this.destroyed)).subscribe(n=>{switch(n.keyCode){case 27:this.overlayRef?.hasAttached()&&n.stopPropagation(),this.closeDialog();return;default:return}})})}openingDialog(){this.disabled||(this.openStatusChange.next(!0),this.activity.next())}closingDialog(){this.openStatusChange.next(!1),this.activity.next()}createOverlayConfig(t){return new fi(yt(Z({},this.overlayDimensions),{positionStrategy:super.createPositionStrategy(t),scrollStrategy:this.createScrollStrategy(),panelClass:this.panelClassInternal}))}static \u0275fac=function(n){return new(n||i)(M(Fe),M($t),M(Re),M(Zt),M(Xe),M(Bh),M(vt))};static \u0275dir=Ve({type:i,selectors:[["","bubble",""]],hostAttrs:[1,"bubble"],inputs:{dialog:[0,"bubble","dialog"],disabled:[0,"bubbleDisabled","disabled"],hoverDelayMs:"hoverDelayMs"},exportAs:["bubble"],standalone:!0,features:[sn]})}return i})();var bC=[li("transformPanel",[vi("void",Kt({opacity:0,transform:"scale(1, 0.8)"})),An("void => showing",Rn("120ms cubic-bezier(0, 0, 0.2, 1)",Kt({opacity:1,transform:"scale(1, 1)"}))),An("* => void",Rn("100ms linear",Kt({opacity:0})))])];var jde=["tree"],DG=i=>({node:i});function Wde(i,e){if(i&1&&S(0),i&2){let t=I().$implicit;XE(" ",t.boldLabel," (",t.label,") ")}}function $de(i,e){if(i&1&&S(0),i&2){let t=I().$implicit;Se(" ",t.label," ")}}function qde(i,e){i&1&&Ki(0)}function Yde(i,e){if(i&1&&$(0,qde,1,0,"ng-container",14),i&2){let t=I().$implicit;I();let n=ve(5);R("ngTemplateOutlet",n)("ngTemplateOutletContext",Ac(2,DG,t))}}function Xde(i,e){if(i&1&&(v(0,"tr")(1,"td",17)(2,"mat-icon",18),S(3,"circle"),b(),S(4),b(),v(5,"td",19),S(6),b()()),i&2){let t=e.$implicit,n=I(2).$implicit,r=I();re("search-match",r.isSearchMatched(n.metadata[t])),w(4),Se(" ",t,""),w(2),st(n.metadata[t])}}function Zde(i,e){if(i&1&&(v(0,"table",15),$(1,Xde,7,4,"tr",16),b()),i&2){let t=I().$implicit,n=I();w(),R("ngForOf",n.getSortedMetadataKeys(t))}}function Qde(i,e){if(i&1&&(v(0,"div",20)(1,"mat-icon",21),S(2,"my_location"),b()()),i&2){let t=I(2);R("matTooltip",t.locatorTooltip)("matTooltipPosition",t.tooltipPosition)}}function Kde(i,e){if(i&1&&(v(0,"div",23),S(1),b()),i&2){let t=I(3);w(),Se(" Showing at most ",t.getMaxConstValueCount()," elements ")}}function Jde(i,e){if(i&1&&(v(0,"div",22),$(1,Kde,2,1,"div",23),v(2,"div",24),S(3),b()()),i&2){let t=I().$implicit,n=I();w(),oe(n.getMaxConstValueCount()!==0?1:-1),w(2),st(n.getConstValues(t))}}function eue(i,e){if(i&1){let t=ne();v(0,"mat-tree-node",6)(1,"div",7),H("click",function(r){let o=B(t).$implicit,s=I();return V(s.handleLocateNode(o,r.altKey))}),v(2,"div",8)(3,"div",9)(4,"div",10)(5,"span",11),$(6,Wde,1,2)(7,$de,1,1),b(),$(8,Yde,1,4,"ng-container"),b()(),$(9,Zde,2,1,"table",12),b(),$(10,Qde,3,2,"div",13),b(),$(11,Jde,4,2,"ng-template",null,2,Tt),b()}if(i&2){let t=e.$implicit,n=ve(12),r=I();re("has-locator",t.showLocator)("has-values",r.showHoverForValuesLabel(t))("highlight",t.highlight)("has-metadata",r.hasMetadata(t)),R("bubble",n)("overlaySize",r.constValuesPopupSize)("overlayPositions",r.constValuesPopupPosition)("hoverDelayMs",50)("bubbleDisabled",!r.showHoverForValuesLabel(t))("matTreeNodePaddingIndent",r.treeItemPadding),Ye("data-id",t.nodeId),w(2),re("has-extra-data",t.extraData!=null),w(3),re("color-bold",r.colorBoldNodeLabel)("search-match",r.isSearchMatched(t.label,t.boldLabel)),w(),oe(t.boldLabel?6:7),w(2),oe(t.extraData?8:-1),w(),R("ngIf",r.hasMetadata(t)),w(),R("ngIf",t.showLocator&&r.showLocator)}}function tue(i,e){i&1&&Ki(0)}function nue(i,e){if(i&1&&$(0,tue,1,0,"ng-container",14),i&2){let t=I().$implicit;I();let n=ve(5);R("ngTemplateOutlet",n)("ngTemplateOutletContext",Ac(2,DG,t))}}function iue(i,e){if(i&1&&(v(0,"div",20)(1,"mat-icon",21),S(2,"my_location"),b()()),i&2){let t=I(2);R("matTooltip",t.locatorTooltip)("matTooltipPosition",t.tooltipPosition)}}function rue(i,e){if(i&1){let t=ne();v(0,"mat-tree-node",25)(1,"div",26),H("click",function(r){let o=B(t).$implicit,s=I();return V(s.handleLocateNode(o,r.altKey))}),v(2,"div",9)(3,"button",27)(4,"mat-icon",28),S(5),b()(),v(6,"div",10),S(7),$(8,nue,1,4,"ng-container"),b()(),$(9,iue,3,2,"div",13),b()()}if(i&2){let t=e.$implicit,n=I();re("has-locator",t.showLocator),R("matTreeNodePaddingIndent",n.treeItemPadding),Ye("data-id",t.nodeId),w(),re("highlight",t.highlightGroupLabel),w(),re("has-extra-data",t.extraData!=null),w(),Ye("aria-label","Toggle "+t.label),w(2),Se(" ",n.treeControl.isExpanded(t)?"keyboard_arrow_down":"chevron_right"," "),w(2),Se(" ",t.label," "),w(),oe(t.extraData?8:-1),w(),R("ngIf",t.showLocator&&n.showLocator)}}function oue(i,e){if(i&1&&(v(0,"div",30)(1,"mat-icon"),S(2),b()()),i&2){let t=e.$implicit,n=I(2);R("matTooltip",n.getExtraLabelTooltip(t)),w(2),st(t)}}function sue(i,e){if(i&1&&(v(0,"div",29),rn(1,oue,3,2,"div",30,gr),b()),i&2){let t=e.node;w(),on(t.extraData.matchTypes)}}var Sl=(()=>{class i{appService;changeDetectorRef;data;solidBackground=!1;rendererId="";tooltipPosition="left";showLocator=!0;colorBoldNodeLabel=!1;onClose=new Ie;tree;constValuesPopupSize={minWidth:100};constValuesPopupPosition=[{originX:"start",originY:"top",overlayX:"end",overlayY:"top"}];locatorTooltip=`Click: locate +Alt+click: select`;transformer=(t,n)=>({nodeId:t.nodeId,node:t.node,expandable:!!t.children&&t.children.length>0,label:t.label,boldLabel:t.boldLabel,level:n,showLocator:t.showLocator,highlight:t.highlight,metadata:t.metadata,extraData:t.extraData});curSearchMatches=[];treeItemPadding=8;treeControl=new pC(t=>t.level,t=>t.expandable);treeFlattener=new gC(this.transformer,t=>t.level,t=>t.expandable,t=>t.children);dataSource=new _C(this.treeControl,this.treeFlattener);constructor(t,n){this.appService=t,this.changeDetectorRef=n}ngOnChanges(t){this.data!=null&&(this.dataSource.data=this.data,this.treeControl.expandAll())}updateData(t){this.data=t,this.dataSource.data=this.data,this.treeControl.expandAll(),this.changeDetectorRef.markForCheck()}updateSearchResults(t){this.curSearchMatches=t,this.changeDetectorRef.markForCheck()}handleLocateNode(t,n){t.showLocator&&(this.appService.curToLocateNodeInfo.set({nodeId:t.nodeId||"",rendererId:this.rendererId,isGroupNode:t.expandable,select:n}),this.onClose.emit({}))}hasChild(t,n){return n.expandable}hasMetadata(t){return t.metadata!=null&&Object.keys(t.metadata).length>0}getSortedMetadataKeys(t){return Object.keys(t.metadata||{}).filter(n=>!n.startsWith("__")).sort()}showHoverForValuesLabel(t){let n=t.node;if(!n)return!1;if(St(n)){let r=n.attrs||{};if(r[Fa])return r[Fa]!=="DATA_ELIDED"}return!1}getMaxConstValueCount(){return this.appService.config()?.maxConstValueCount??0}getConstValues(t){let n=t.node;return n&&St(n)?(n.attrs||{})[Fa]||"":""}getExtraLabelTooltip(t){switch(t){case xt.NODE_LABEL:return"Node label matched";case xt.ATTRIBUTE:return"Node attribute(s) matched";case xt.INPUT_METADATA:return"Input(s) matched";case xt.OUTPUT_METADATA:return"Output(s) matched";default:return""}}isSearchMatched(t,n){return this.curSearchMatches?this.curSearchMatches.find(r=>r.matchedText===t||r.matchedText===n)!=null:!1}static \u0275fac=function(n){return new(n||i)(M(at),M(Ne))};static \u0275cmp=ce({type:i,selectors:[["io-tree"]],viewQuery:function(n,r){if(n&1&&Ee(jde,5),n&2){let o;be(o=ye())&&(r.tree=o.first)}},inputs:{data:"data",solidBackground:"solidBackground",rendererId:"rendererId",tooltipPosition:"tooltipPosition",showLocator:"showLocator",colorBoldNodeLabel:"colorBoldNodeLabel"},outputs:{onClose:"onClose"},standalone:!0,features:[dn,le],decls:6,vars:7,consts:[["tree",""],["matchTypes",""],["constValuesPopup",""],[1,"io-tree",3,"dataSource","treeControl"],["class","leaf","matTreeNodePadding","",3,"has-locator","has-values","highlight","has-metadata","bubble","overlaySize","overlayPositions","hoverDelayMs","bubbleDisabled","matTreeNodePaddingIndent",4,"matTreeNodeDef"],["matTreeNodePadding","",3,"has-locator","matTreeNodePaddingIndent",4,"matTreeNodeDef","matTreeNodeDefWhen"],["matTreeNodePadding","",1,"leaf",3,"bubble","overlaySize","overlayPositions","hoverDelayMs","bubbleDisabled","matTreeNodePaddingIndent"],[1,"edge-node",3,"click"],[1,"label-and-metadata"],[1,"label-container"],[1,"label"],[1,"node-label"],["class","metadata-table",4,"ngIf"],["class","locator-container","matTooltipClass","multiline-tooltip-left",3,"matTooltip","matTooltipPosition",4,"ngIf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"metadata-table"],[3,"search-match",4,"ngFor","ngForOf"],[1,"key"],[1,"bullet"],[1,"value"],["matTooltipClass","multiline-tooltip-left",1,"locator-container",3,"matTooltip","matTooltipPosition"],[1,"locator-icon"],[1,"model-explorer-const-values-popup"],[1,"values-count-msg"],[1,"content"],["matTreeNodePadding","",3,"matTreeNodePaddingIndent"],[1,"expandable-tree-node",3,"click"],["mat-icon-button","","matTreeNodeToggle","",1,"expand-icon-button"],[1,"expander"],[1,"match-types-container"],[1,"extra-label-container",3,"matTooltip"]],template:function(n,r){n&1&&(v(0,"mat-tree",3,0),$(2,eue,13,25,"mat-tree-node",4)(3,rue,10,13,"mat-tree-node",5),b(),$(4,sue,3,0,"ng-template",null,1,Tt)),n&2&&(re("solid-background",r.solidBackground),R("dataSource",r.dataSource)("treeControl",r.treeControl)("@transformPanel","showing")("@.disabled",!r.solidBackground),w(3),R("matTreeNodeDefWhen",r.hasChild))},dependencies:[Hn,Ae,Mi,Tn,Gs,xn,Wo,tt,pt,Xt,Yn,CG,bG,yG,wG,xG,vG],styles:[`.io-tree[_ngcontent-%COMP%]{background-color:transparent;padding-top:4px}.io-tree.solid-background[_ngcontent-%COMP%]{transform-origin:top center;background-color:#fff;border:1px solid #ccc;border-radius:4px;padding-bottom:8px;min-width:270px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.io-tree[_ngcontent-%COMP%] mat-tree-node.has-locator[_ngcontent-%COMP%], .io-tree[_ngcontent-%COMP%] mat-tree-node.has-values[_ngcontent-%COMP%]{cursor:pointer}.io-tree[_ngcontent-%COMP%] mat-tree-node.has-locator[_ngcontent-%COMP%]:hover, .io-tree[_ngcontent-%COMP%] mat-tree-node.has-values[_ngcontent-%COMP%]:hover{background-color:#f3f3f3}.io-tree[_ngcontent-%COMP%] mat-tree-node.highlight[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{color:#00639b;font-weight:500}.io-tree[_ngcontent-%COMP%] mat-tree-node[_ngcontent-%COMP%]:not(:last-child).has-metadata.leaf{margin-bottom:6px}.io-tree[_ngcontent-%COMP%] .edge-node[_ngcontent-%COMP%]{display:flex;align-items:flex-start;justify-content:space-between;width:100%;box-sizing:border-box;padding-right:12px;padding-left:27px}.io-tree[_ngcontent-%COMP%] .edge-node[_ngcontent-%COMP%]:hover .locator-container[_ngcontent-%COMP%]{opacity:.8}.io-tree[_ngcontent-%COMP%] .edge-node[_ngcontent-%COMP%] .label-and-metadata.has-extra-data[_ngcontent-%COMP%]{width:100%}.io-tree[_ngcontent-%COMP%] .edge-node[_ngcontent-%COMP%] .label-and-metadata.has-extra-data[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{width:100%;justify-content:space-between}.io-tree[_ngcontent-%COMP%] .edge-node[_ngcontent-%COMP%] .label-and-metadata[_ngcontent-%COMP%] .label-container[_ngcontent-%COMP%], .io-tree[_ngcontent-%COMP%] .edge-node[_ngcontent-%COMP%] .label-and-metadata[_ngcontent-%COMP%] .label-container[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{display:flex;align-items:center}.io-tree[_ngcontent-%COMP%] .edge-node[_ngcontent-%COMP%] .label-and-metadata[_ngcontent-%COMP%] .label-container[_ngcontent-%COMP%] .node-label.color-bold[_ngcontent-%COMP%]{color:#00639b;font-weight:500}.io-tree[_ngcontent-%COMP%] .edge-node[_ngcontent-%COMP%] .label-and-metadata[_ngcontent-%COMP%] .label-container[_ngcontent-%COMP%] .node-label.search-match[_ngcontent-%COMP%]{background-color:#f5e25a}.io-tree[_ngcontent-%COMP%] .edge-node[_ngcontent-%COMP%] .label-and-metadata[_ngcontent-%COMP%] .hover-for-values-label[_ngcontent-%COMP%]{text-decoration:underline;text-decoration-style:dotted;color:#999;margin-left:8px}.io-tree[_ngcontent-%COMP%] .edge-node[_ngcontent-%COMP%] .label-and-metadata[_ngcontent-%COMP%] .metadata-table[_ngcontent-%COMP%]{border-spacing:0;border-collapse:collapse;padding:0;font-size:11px;margin-top:2px}.io-tree[_ngcontent-%COMP%] .edge-node[_ngcontent-%COMP%] .label-and-metadata[_ngcontent-%COMP%] .metadata-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]{vertical-align:text-top}.io-tree[_ngcontent-%COMP%] .edge-node[_ngcontent-%COMP%] .label-and-metadata[_ngcontent-%COMP%] .metadata-table[_ngcontent-%COMP%] tr.search-match[_ngcontent-%COMP%]{background-color:#f5e25a}.io-tree[_ngcontent-%COMP%] .edge-node[_ngcontent-%COMP%] .label-and-metadata[_ngcontent-%COMP%] .metadata-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] mat-icon.bullet[_ngcontent-%COMP%]{font-size:4px;width:5px;height:5px;color:#bbb;margin-right:2px}.io-tree[_ngcontent-%COMP%] .edge-node[_ngcontent-%COMP%] .label-and-metadata[_ngcontent-%COMP%] .metadata-table[_ngcontent-%COMP%] td.key[_ngcontent-%COMP%]{color:#999;padding-right:4px;white-space:nowrap;line-height:12px}.io-tree[_ngcontent-%COMP%] .edge-node[_ngcontent-%COMP%] .label-and-metadata[_ngcontent-%COMP%] .metadata-table[_ngcontent-%COMP%] td.value[_ngcontent-%COMP%]{line-height:12px}.io-tree[_ngcontent-%COMP%] .expandable-tree-node[_ngcontent-%COMP%], .io-tree[_ngcontent-%COMP%] mat-tree-node[_ngcontent-%COMP%]{font-size:13px;min-height:22px;word-break:break-word}.io-tree[_ngcontent-%COMP%] .expandable-tree-node[_ngcontent-%COMP%]{color:#999;display:flex;align-items:center;justify-content:space-between;width:100%;box-sizing:border-box;padding-right:12px;padding-left:4px}.io-tree[_ngcontent-%COMP%] .expandable-tree-node.highlight[_ngcontent-%COMP%]{color:#000000de}.io-tree[_ngcontent-%COMP%] .expandable-tree-node[_ngcontent-%COMP%]:hover .locator-container[_ngcontent-%COMP%]{opacity:.8}.io-tree[_ngcontent-%COMP%] .expandable-tree-node[_ngcontent-%COMP%] mat-icon.expander[_ngcontent-%COMP%]{color:#999}.io-tree[_ngcontent-%COMP%] .expandable-tree-node[_ngcontent-%COMP%] .label-container[_ngcontent-%COMP%]{display:flex;align-items:center}.io-tree[_ngcontent-%COMP%] .expandable-tree-node[_ngcontent-%COMP%] .label-container.has-extra-data[_ngcontent-%COMP%]{width:100%}.io-tree[_ngcontent-%COMP%] .expandable-tree-node[_ngcontent-%COMP%] .label-container.has-extra-data[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{flex-grow:1;justify-content:space-between}.io-tree[_ngcontent-%COMP%] .expandable-tree-node[_ngcontent-%COMP%] .label-container[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{display:flex;align-items:center}.io-tree[_ngcontent-%COMP%] .expand-icon-button[_ngcontent-%COMP%]{padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.io-tree[_ngcontent-%COMP%] .expand-icon-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:18px;margin-top:6px}.io-tree[_ngcontent-%COMP%] .locator-container[_ngcontent-%COMP%]{height:18px;opacity:.5;cursor:pointer;display:flex;align-items:center}.io-tree[_ngcontent-%COMP%] .locator-container[_ngcontent-%COMP%] mat-icon.locator-icon[_ngcontent-%COMP%]{color:#333;font-size:16px;width:16px;height:16px}.io-tree[_ngcontent-%COMP%] .locator-container[_ngcontent-%COMP%]:hover{opacity:.8}.io-tree[_ngcontent-%COMP%] .match-types-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-self:center;gap:2px;margin-left:8px}.io-tree[_ngcontent-%COMP%] .extra-label-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-self:center;padding:4px;border-radius:99px;background-color:#e8f0fe;box-sizing:border-box}.io-tree[_ngcontent-%COMP%] .extra-label-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:12px;width:12px;height:12px;color:#9da3a9}.io-tree[_ngcontent-%COMP%] .mat-mdc-button-touch-target{width:24px;height:24px}.io-tree-invisible[_ngcontent-%COMP%]{display:none}.io-tree[_ngcontent-%COMP%] ul[_ngcontent-%COMP%], .io-tree[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{margin-top:0;margin-bottom:0;list-style-type:none}.io-tree[_ngcontent-%COMP%] .mat-nested-tree-node[_ngcontent-%COMP%] div[role=group][_ngcontent-%COMP%]{padding-left:8px}.io-tree[_ngcontent-%COMP%] div[role=group][_ngcontent-%COMP%] > .mat-tree-node[_ngcontent-%COMP%]{padding-left:16px} bubble-container:has(.model-explorer-const-values-popup){width:100%} .model-explorer-const-values-popup{padding:8px;font-size:11px;line-height:12px;background-color:#fff} .model-explorer-const-values-popup .values-count-msg{margin-bottom:8px;color:#999} .model-explorer-const-values-popup .content{white-space:pre-wrap;font-family:monospace} @@ -3213,7 +3213,7 @@ Alt+click: select`;transformer=(t,n)=>({nodeId:t.nodeId,node:t.node,expandable:! -`],data:{animation:vC},changeDetection:0})}return i})();function cl(i,e,t,n,r=[]){let o={label:"",children:[],type:t,isGroupNode:!0},s=[];for(let l=0;lf.label===c.label&&f.isGroupNode);if(p==null){let f={label:c.label,boldLabel:SG(d),nodeId:c.id,node:c,type:t,showLocator:!0,highlight:c.id===n,isGroupNode:c.nodeType===$s.GROUP_NODE,metadata:d};u!=null&&(f.extraData=u),h.children.push(f)}else p.nodeId=c.id,p.showLocator=!0,p.extraData=u}}}o=Kde(o);let a=[o];if(s.length>0){let l="weights";for(let c of s)if(!c.node.label.toLowerCase().includes("const")){l="";break}a.push({label:l,children:s.map(c=>({label:c.node.label,boldLabel:SG(c.metadata),nodeId:c.node.id,node:c.node,type:t,showLocator:!1,highlight:c.node.id===n,isGroupNode:!1,metadata:e[c.index]})),type:t,isGroupNode:!1})}return a}function SG(i){if(i)return i[Bo]}function Qde(i,e){let t=i?["",...i.split("/")]:[""],n,r=[];for(let o of t)if(o!==""&&r.push(o),o==="")n=e;else{n&&!n.children&&(n.children=[]);let s=n.children.find(a=>a.label===o);if(s==null){let a={label:o,children:[],type:e.type,isGroupNode:!0};n.children.push(a),n=a}else n=s}return n}function Kde(i){let e=i,t=[];for(;t.push(e.label),e?.children&&e.children.length===1&&(e.children[0].children||[]).length>0&&!e.showLocator;)e=e.children[0];return e!==i&&(e.label=t.join(" / ")),e}var Jde=Nn,wr=(()=>{class i{charsInfoRegular={};charsInfoMedium={};charsInfoBold={};charsInfoIcons={};textureRegular;textureMedium;textureBold;textureIcons;fontInfoRegular;fontInfoMedium;fontInfoBold;fontInfoIcons;depsLoadedPromise;constructor(){this.depsLoadedPromise=new Promise(t=>At(this,null,function*(){yield this.loadDeps(),t()}))}loadDeps(){return At(this,null,function*(){let t="/static_files",n=yield Promise.all([this.loadFontAtals(`${t}/GoogleSansTextRegular.png`),this.loadFontAtals(`${t}/GoogleSansTextMedium.png`),this.loadFontAtals(`${t}/GoogleSansTextBold.png`),this.loadFontAtals(`${t}/icons_20240521.png`),this.loadFontInfo(`${t}/GoogleSansTextRegular.json`),this.loadFontInfo(`${t}/GoogleSansTextMedium.json`),this.loadFontInfo(`${t}/GoogleSansTextBold.json`),this.loadFontInfo(`${t}/icons_20240521.json`)]);this.textureRegular=n[0],this.textureMedium=n[1],this.textureBold=n[2],this.textureIcons=n[3],this.charsInfoRegular=n[4].charsInfo,this.charsInfoMedium=n[5].charsInfo,this.charsInfoBold=n[6].charsInfo,this.charsInfoIcons=n[7].charsInfo,this.fontInfoRegular=n[4].fontInfo,this.fontInfoMedium=n[5].fontInfo,this.fontInfoBold=n[6].fontInfo,this.fontInfoIcons=n[7].fontInfo})}getCharsInfo(t){switch(t){case mn.REGULAR:return this.charsInfoRegular;case mn.MEDIUM:return this.charsInfoMedium;case mn.BOLD:return this.charsInfoBold;case mn.ICONS:return this.charsInfoIcons;default:return this.charsInfoRegular}}getFontInfo(t){switch(t){case mn.REGULAR:return this.fontInfoRegular;case mn.MEDIUM:return this.fontInfoMedium;case mn.BOLD:return this.fontInfoBold;case mn.ICONS:return this.fontInfoIcons;default:return this.fontInfoRegular}}loadFontAtals(t){return At(this,null,function*(){return new Promise(n=>{new Jde.TextureLoader().load(t,r=>{n(r)})})})}loadFontInfo(t){return At(this,null,function*(){let r=yield(yield fetch(t)).json(),o={};for(let s of r.chars)o[s.char]=s;return{fontInfo:r,charsInfo:o}})}static \u0275fac=function(n){return new(n||i)};static \u0275prov=J({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();var lr=Nn,eue=` +`],data:{animation:bC},changeDetection:0})}return i})();function uc(i,e,t,n,r=[]){let o={label:"",children:[],type:t,isGroupNode:!0},s=[];for(let c=0;cf.label===l.label&&f.isGroupNode);if(p==null){let f={label:l.label,boldLabel:TG(d),nodeId:l.id,node:l,type:t,showLocator:!0,highlight:l.id===n,isGroupNode:l.nodeType===Ys.GROUP_NODE,metadata:d};u!=null&&(f.extraData=u),h.children.push(f)}else p.nodeId=l.id,p.showLocator=!0,p.extraData=u}}}o=cue(o);let a=[o];if(s.length>0){let c="weights";for(let l of s)if(!l.node.label.toLowerCase().includes("const")){c="";break}a.push({label:c,children:s.map(l=>({label:l.node.label,boldLabel:TG(l.metadata),nodeId:l.node.id,node:l.node,type:t,showLocator:!1,highlight:l.node.id===n,isGroupNode:!1,metadata:e[l.index]})),type:t,isGroupNode:!1})}return a}function TG(i){if(i)return i[Uo]}function aue(i,e){let t=i?["",...i.split("/")]:[""],n,r=[];for(let o of t)if(o!==""&&r.push(o),o==="")n=e;else{n&&!n.children&&(n.children=[]);let s=n.children.find(a=>a.label===o);if(s==null){let a={label:o,children:[],type:e.type,isGroupNode:!0};n.children.push(a),n=a}else n=s}return n}function cue(i){let e=i,t=[];for(;t.push(e.label),e?.children&&e.children.length===1&&(e.children[0].children||[]).length>0&&!e.showLocator;)e=e.children[0];return e!==i&&(e.label=t.join(" / ")),e}var lue=Ln,Sr=(()=>{class i{charsInfoRegular={};charsInfoMedium={};charsInfoBold={};charsInfoIcons={};textureRegular;textureMedium;textureBold;textureIcons;fontInfoRegular;fontInfoMedium;fontInfoBold;fontInfoIcons;depsLoadedPromise;constructor(){this.depsLoadedPromise=new Promise(t=>It(this,null,function*(){yield this.loadDeps(),t()}))}loadDeps(){return It(this,null,function*(){let t="/static_files",n=yield Promise.all([this.loadFontAtals(`${t}/GoogleSansTextRegular.png`),this.loadFontAtals(`${t}/GoogleSansTextMedium.png`),this.loadFontAtals(`${t}/GoogleSansTextBold.png`),this.loadFontAtals(`${t}/icons_20240521.png`),this.loadFontInfo(`${t}/GoogleSansTextRegular.json`),this.loadFontInfo(`${t}/GoogleSansTextMedium.json`),this.loadFontInfo(`${t}/GoogleSansTextBold.json`),this.loadFontInfo(`${t}/icons_20240521.json`)]);this.textureRegular=n[0],this.textureMedium=n[1],this.textureBold=n[2],this.textureIcons=n[3],this.charsInfoRegular=n[4].charsInfo,this.charsInfoMedium=n[5].charsInfo,this.charsInfoBold=n[6].charsInfo,this.charsInfoIcons=n[7].charsInfo,this.fontInfoRegular=n[4].fontInfo,this.fontInfoMedium=n[5].fontInfo,this.fontInfoBold=n[6].fontInfo,this.fontInfoIcons=n[7].fontInfo})}getCharsInfo(t){switch(t){case mn.REGULAR:return this.charsInfoRegular;case mn.MEDIUM:return this.charsInfoMedium;case mn.BOLD:return this.charsInfoBold;case mn.ICONS:return this.charsInfoIcons;default:return this.charsInfoRegular}}getFontInfo(t){switch(t){case mn.REGULAR:return this.fontInfoRegular;case mn.MEDIUM:return this.fontInfoMedium;case mn.BOLD:return this.fontInfoBold;case mn.ICONS:return this.fontInfoIcons;default:return this.fontInfoRegular}}loadFontAtals(t){return It(this,null,function*(){return new Promise(n=>{new lue.TextureLoader().load(t,r=>{n(r)})})})}loadFontInfo(t){return It(this,null,function*(){let r=yield(yield fetch(t)).json(),o={};for(let s of r.chars)o[s.char]=s;return{fontInfo:r,charsInfo:o}})}static \u0275fac=function(n){return new(n||i)};static \u0275prov=J({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();var dr=Ln,due=` precision highp float; #define PI 3.1415926535897932384626433832795 @@ -3272,7 +3272,7 @@ void main() { gl_Position = projectionMatrix * modelViewMatrix * vec4(pos.x + centerX, yOffset, pos.z + centerZ, 1.0); } -`,tue=` +`,uue=` precision highp float; varying vec3 vColor; @@ -3280,7 +3280,7 @@ varying vec3 vColor; void main() { gl_FragColor = vec4(vColor, 1.0); } -`,nue=` +`,hue=` precision highp float; #define PI 3.1415926535897932384626433832795 @@ -3332,7 +3332,7 @@ void main() { gl_Position = projectionMatrix * modelViewMatrix * vec4(pos.x + endX, yOffset, pos.z + endY, 1.0); } -`,iue=` +`,pue=` precision highp float; varying vec3 vColor; @@ -3340,7 +3340,7 @@ varying vec3 vColor; void main() { gl_FragColor = vec4(vColor, 1.0); } -`,MO=6,EO=6,rue=4,yu=class{color;edgeWidth;edgesMesh;material;arrowHeadMat;arrowHeadsMesh;planeGeo;arrowHeadGeometry;savedEdgeSegments={};savedEdges={};savedArrowHeads={};curAnimationProgrssUniform={value:-1};originalColors=[];originalYOffsets=[];originalArrowHeadYOffsets=[];lastColorUpdateEdgeSegments=[];lastColorUpdateArrowHeads=[];lastYOffsetsUpdateEdgeSegments=[];lastYOffsetsUpdateArrowHeads=[];constructor(e,t){this.color=e,this.edgeWidth=t,this.planeGeo=new lr.PlaneGeometry(1,1),this.planeGeo.rotateX(-Math.PI/2),this.material=new lr.ShaderMaterial({uniforms:{edgeWidth:{value:this.edgeWidth},animationProgress:this.curAnimationProgrssUniform},vertexShader:eue,fragmentShader:tue,transparent:!0});let n=new lr.Shape;n.moveTo(-MO/2,-EO).lineTo(0,-rue).lineTo(MO/2,-EO).lineTo(0,0).lineTo(-MO/2,-EO),this.arrowHeadGeometry=new lr.ShapeGeometry(n),this.arrowHeadGeometry.rotateX(-Math.PI/2),this.arrowHeadMat=new lr.ShaderMaterial({uniforms:{animationProgress:this.curAnimationProgrssUniform},vertexShader:nue,fragmentShader:iue,transparent:!0})}generateMesh(e,t,n=!1){if(e.length===0){this.edgesMesh=void 0,this.arrowHeadsMesh=void 0;return}let r=[],o=[],s=[],a=[],l=[],c=[],d=[],u=[],h={},p={};this.savedEdges={};let f=0,m=0;for(let{edge:_,index:x}of e){let C=_.curvePoints||[],T=t.nodesById[_.fromNodeId],D=t.nodesById[_.toNodeId],E=T.globalX||0,P=T.globalY||0;for(let Y=0;Y0)for(let r of e)for(let o of this.savedEdges[r]||[]){let s=o.index;n.setXYZ(s,t.r,t.g,t.b),this.lastColorUpdateEdgeSegments.push(o)}n.needsUpdate=!0}if(this.arrowHeadsMesh){let n=this.arrowHeadsMesh.geometry.getAttribute("color");if(e.length>0)for(let r of e){let o=this.savedArrowHeads[r],s=o.index;n.setXYZ(s,t.r,t.g,t.b),this.lastColorUpdateArrowHeads.push(o)}n.needsUpdate=!0}}updateYOffsets(e,t){if(this.edgesMesh){let n=this.edgesMesh.geometry.getAttribute("yOffset");if(e.length>0)for(let r of e)for(let o of this.savedEdges[r]||[]){let s=o.index;n.setX(s,t),this.lastYOffsetsUpdateEdgeSegments.push(o)}n.needsUpdate=!0}if(this.arrowHeadsMesh){let n=this.arrowHeadsMesh.geometry.getAttribute("yOffset");if(e.length>0)for(let r of e){let o=this.savedArrowHeads[r],s=o.index;n.setX(s,t),this.lastYOffsetsUpdateArrowHeads.push(o)}n.needsUpdate=!0}}restoreColors(){if(this.edgesMesh){let e=this.edgesMesh.geometry.getAttribute("color");if(this.lastColorUpdateEdgeSegments.length>0){for(let t of this.lastColorUpdateEdgeSegments){let n=t.index;e.setXYZ(n,this.originalColors[n*3],this.originalColors[n*3+1],this.originalColors[n*3+2])}e.needsUpdate=!0}this.lastColorUpdateEdgeSegments=[]}if(this.arrowHeadsMesh){let e=this.arrowHeadsMesh.geometry.getAttribute("color");if(this.lastColorUpdateArrowHeads.length>0){for(let t of this.lastColorUpdateArrowHeads){let n=t.index;e.setXYZ(n,this.originalColors[n*3],this.originalColors[n*3+1],this.originalColors[n*3+2])}e.needsUpdate=!0}this.lastColorUpdateArrowHeads=[]}}restoreYOffsets(){if(this.edgesMesh){let e=this.edgesMesh.geometry.getAttribute("yOffset");if(this.lastYOffsetsUpdateEdgeSegments.length>0){for(let t of this.lastYOffsetsUpdateEdgeSegments){let n=t.index;e.setX(n,this.originalYOffsets[n])}e.needsUpdate=!0}this.lastYOffsetsUpdateEdgeSegments=[]}if(this.arrowHeadsMesh){let e=this.arrowHeadsMesh.geometry.getAttribute("yOffset");if(this.lastYOffsetsUpdateArrowHeads.length>0){for(let t of this.lastYOffsetsUpdateArrowHeads){let n=t.index;e.setX(n,this.originalArrowHeadYOffsets[n])}e.needsUpdate=!0}this.lastYOffsetsUpdateArrowHeads=[]}}clear(){this.edgesMesh&&this.edgesMesh.removeFromParent(),this.arrowHeadsMesh&&this.arrowHeadsMesh.removeFromParent()}clearSavedDataForAnimation(){this.savedEdgeSegments={},this.savedEdges={},this.savedArrowHeads={}}updateAnimationProgress(e){this.edgesMesh&&(this.curAnimationProgrssUniform.value=e)}};var ji=Nn,oue=` +`,EO=6,IO=6,fue=4,Su=class{color;edgeWidth;edgesMesh;material;arrowHeadMat;arrowHeadsMesh;planeGeo;arrowHeadGeometry;savedEdgeSegments={};savedEdges={};savedArrowHeads={};curAnimationProgrssUniform={value:-1};originalColors=[];originalYOffsets=[];originalArrowHeadYOffsets=[];lastColorUpdateEdgeSegments=[];lastColorUpdateArrowHeads=[];lastYOffsetsUpdateEdgeSegments=[];lastYOffsetsUpdateArrowHeads=[];constructor(e,t){this.color=e,this.edgeWidth=t,this.planeGeo=new dr.PlaneGeometry(1,1),this.planeGeo.rotateX(-Math.PI/2),this.material=new dr.ShaderMaterial({uniforms:{edgeWidth:{value:this.edgeWidth},animationProgress:this.curAnimationProgrssUniform},vertexShader:due,fragmentShader:uue,transparent:!0});let n=new dr.Shape;n.moveTo(-EO/2,-IO).lineTo(0,-fue).lineTo(EO/2,-IO).lineTo(0,0).lineTo(-EO/2,-IO),this.arrowHeadGeometry=new dr.ShapeGeometry(n),this.arrowHeadGeometry.rotateX(-Math.PI/2),this.arrowHeadMat=new dr.ShaderMaterial({uniforms:{animationProgress:this.curAnimationProgrssUniform},vertexShader:hue,fragmentShader:pue,transparent:!0})}generateMesh(e,t,n=!1){if(e.length===0){this.edgesMesh=void 0,this.arrowHeadsMesh=void 0;return}let r=[],o=[],s=[],a=[],c=[],l=[],d=[],u=[],h={},p={};this.savedEdges={};let f=0,m=0;for(let{edge:_,index:x}of e){let C=_.curvePoints||[],T=t.nodesById[_.fromNodeId],D=t.nodesById[_.toNodeId],E=T.globalX||0,A=T.globalY||0;for(let j=0;j0)for(let r of e)for(let o of this.savedEdges[r]||[]){let s=o.index;n.setXYZ(s,t.r,t.g,t.b),this.lastColorUpdateEdgeSegments.push(o)}n.needsUpdate=!0}if(this.arrowHeadsMesh){let n=this.arrowHeadsMesh.geometry.getAttribute("color");if(e.length>0)for(let r of e){let o=this.savedArrowHeads[r],s=o.index;n.setXYZ(s,t.r,t.g,t.b),this.lastColorUpdateArrowHeads.push(o)}n.needsUpdate=!0}}updateYOffsets(e,t){if(this.edgesMesh){let n=this.edgesMesh.geometry.getAttribute("yOffset");if(e.length>0)for(let r of e)for(let o of this.savedEdges[r]||[]){let s=o.index;n.setX(s,t),this.lastYOffsetsUpdateEdgeSegments.push(o)}n.needsUpdate=!0}if(this.arrowHeadsMesh){let n=this.arrowHeadsMesh.geometry.getAttribute("yOffset");if(e.length>0)for(let r of e){let o=this.savedArrowHeads[r],s=o.index;n.setX(s,t),this.lastYOffsetsUpdateArrowHeads.push(o)}n.needsUpdate=!0}}restoreColors(){if(this.edgesMesh){let e=this.edgesMesh.geometry.getAttribute("color");if(this.lastColorUpdateEdgeSegments.length>0){for(let t of this.lastColorUpdateEdgeSegments){let n=t.index;e.setXYZ(n,this.originalColors[n*3],this.originalColors[n*3+1],this.originalColors[n*3+2])}e.needsUpdate=!0}this.lastColorUpdateEdgeSegments=[]}if(this.arrowHeadsMesh){let e=this.arrowHeadsMesh.geometry.getAttribute("color");if(this.lastColorUpdateArrowHeads.length>0){for(let t of this.lastColorUpdateArrowHeads){let n=t.index;e.setXYZ(n,this.originalColors[n*3],this.originalColors[n*3+1],this.originalColors[n*3+2])}e.needsUpdate=!0}this.lastColorUpdateArrowHeads=[]}}restoreYOffsets(){if(this.edgesMesh){let e=this.edgesMesh.geometry.getAttribute("yOffset");if(this.lastYOffsetsUpdateEdgeSegments.length>0){for(let t of this.lastYOffsetsUpdateEdgeSegments){let n=t.index;e.setX(n,this.originalYOffsets[n])}e.needsUpdate=!0}this.lastYOffsetsUpdateEdgeSegments=[]}if(this.arrowHeadsMesh){let e=this.arrowHeadsMesh.geometry.getAttribute("yOffset");if(this.lastYOffsetsUpdateArrowHeads.length>0){for(let t of this.lastYOffsetsUpdateArrowHeads){let n=t.index;e.setX(n,this.originalArrowHeadYOffsets[n])}e.needsUpdate=!0}this.lastYOffsetsUpdateArrowHeads=[]}}clear(){this.edgesMesh&&this.edgesMesh.removeFromParent(),this.arrowHeadsMesh&&this.arrowHeadsMesh.removeFromParent()}clearSavedDataForAnimation(){this.savedEdgeSegments={},this.savedEdges={},this.savedArrowHeads={}}updateAnimationProgress(e){this.edgesMesh&&(this.curAnimationProgrssUniform.value=e)}};var $i=Ln,mue=` precision highp float; uniform float borderRadius; @@ -3408,7 +3408,7 @@ void main() { gl_Position = projectionMatrix * modelViewMatrix * vec4(posX + x, yOffset, posZ + y, 1.0); } -`,sue=` +`,gue=` precision highp float; uniform float borderRadius; @@ -3503,7 +3503,7 @@ void main() { } gl_FragColor = vec4(finalColor.rgb, alpha); } -`,Oi=class{radius;mesh;meshForRayCasting;material;materialForRayCasting;planeGeo;hoveredRectangelId="";curRectangles=[];savedRectangles={};curAnimationProgrssUniform={value:-1};dummy=new ji.Object3D;originalBorderColors=[];originalBgColors=[];originalBorderWidths=[];originalOpacities=[];lastBorderColorUpdateRectangles=[];lastBgColorUpdateRectangles=[];lastBorderWidthUpdateRectangles=[];lastOpacityUpdateRectangles=[];constructor(e){this.radius=e,this.planeGeo=new ji.PlaneGeometry(1,1),this.planeGeo.rotateX(-Math.PI/2),this.material=new ji.ShaderMaterial({extensions:{derivatives:!0},uniforms:{borderRadius:{value:this.radius},animationProgress:this.curAnimationProgrssUniform,bgColorWhenFar:{value:[0,0,0,0]}},vertexShader:oue,fragmentShader:sue,transparent:!0}),this.materialForRayCasting=new ji.MeshBasicMaterial({opacity:0,transparent:!0})}generateMesh(e,t=!1,n=!1,r=!1,o=!1){if(e.length===0){this.savedRectangles={},this.mesh=void 0,this.meshForRayCasting=void 0;return}this.curRectangles=e;let s=[],a=[],l=[],c=[],d=[],u=[],h=[],p=[],f=[],m=[],y=Object.keys(this.savedRectangles).length>0,g=Z({},this.savedRectangles);this.savedRectangles={};let _=0;for(let C=0;C0){let a=r[r.length-1].instanceId;a!=null&&(o=this.getRectangleId(a))}if(this.hoveredRectangelId!==o){this.hoveredRectangelId=o,n&&(document.body.style.cursor=this.hoveredRectangelId===""?"default":"pointer");let s=this.savedRectangles[this.hoveredRectangelId];t(this.hoveredRectangelId,s)}}updateBorderColor(e,t){if(!this.mesh)return;e=e.filter(r=>r!=="");let n=this.mesh.geometry.getAttribute("borderColor");if(e.length>0)for(let r of e){let o=this.savedRectangles[r];if(!o)continue;let s=o.index;n.setXYZ(s,t.r,t.g,t.b),o.borderColor.r=t.r,o.borderColor.g=t.g,o.borderColor.b=t.b,this.lastBorderColorUpdateRectangles.push(o)}n.needsUpdate=!0}restoreBorderColors(){if(!this.mesh)return;let e=this.mesh.geometry.getAttribute("borderColor");if(this.lastBorderColorUpdateRectangles.length>=0){for(let t of this.lastBorderColorUpdateRectangles){let n=t.index;e.setXYZ(n,this.originalBorderColors[n*3],this.originalBorderColors[n*3+1],this.originalBorderColors[n*3+2]),t.borderColor.r=this.originalBorderColors[n*3],t.borderColor.g=this.originalBorderColors[n*3+1],t.borderColor.b=this.originalBorderColors[n*3+2]}e.needsUpdate=!0}this.lastBorderColorUpdateRectangles=[]}updateBgColor(e,t,n=!1){if(!this.mesh)return;e=e.filter(o=>o!=="");let r=this.mesh.geometry.getAttribute("bgColor");if(e.length>0)for(let o of e){let s=this.savedRectangles[o];if(!s)continue;let a=s.index;if(n){let l=this.originalBgColors[a*3],c=this.originalBgColors[a*3+1],d=this.originalBgColors[a*3+2];if(l!==1||c!==1||d!==1)continue}r.setXYZ(a,t.r,t.g,t.b),s.bgColor.r=t.r,s.bgColor.g=t.g,s.bgColor.b=t.b,this.lastBgColorUpdateRectangles.push(s)}r.needsUpdate=!0}restoreBgColors(){if(!this.mesh)return;let e=this.mesh.geometry.getAttribute("bgColor");if(this.lastBgColorUpdateRectangles.length>=0){for(let t of this.lastBgColorUpdateRectangles){let n=t.index;e.setXYZ(n,this.originalBgColors[n*3],this.originalBgColors[n*3+1],this.originalBgColors[n*3+2]),t.bgColor.r=this.originalBgColors[n*3],t.bgColor.g=this.originalBgColors[n*3+1],t.bgColor.b=this.originalBgColors[n*3+2]}e.needsUpdate=!0}this.lastBgColorUpdateRectangles=[]}updateBorderWidth(e,t){if(!this.mesh)return;e=e.filter(r=>r!=="");let n=this.mesh.geometry.getAttribute("borderWidth");if(e.length>0)for(let r of e){let o=this.savedRectangles[r];if(!o)continue;let s=o.index;n.setX(s,t),o.borderWidth=t,this.lastBorderWidthUpdateRectangles.push(o)}n.needsUpdate=!0}restoreBorderWidths(){if(!this.mesh)return;let e=this.mesh.geometry.getAttribute("borderWidth");if(this.lastBorderWidthUpdateRectangles.length>=0){for(let t of this.lastBorderWidthUpdateRectangles){let n=t.index;e.setX(n,this.originalBorderWidths[n]),t.borderWidth=this.originalBorderWidths[n]}e.needsUpdate=!0}this.lastBorderWidthUpdateRectangles=[]}updateOpacity(e,t){if(!this.mesh)return;e=e.filter(r=>r!=="");let n=this.mesh.geometry.getAttribute("opacity");if(e.length>0)for(let r of e){let o=this.savedRectangles[r];if(!o)continue;let s=o.index;n.setX(s,t),o.opacity=t,this.lastOpacityUpdateRectangles.push(o)}n.needsUpdate=!0}restoreOpacities(){if(!this.mesh)return;let e=this.mesh.geometry.getAttribute("opacity");if(this.lastOpacityUpdateRectangles.length>=0){for(let t of this.lastOpacityUpdateRectangles){let n=t.index;e.setX(n,this.originalOpacities[n]),t.opacity=this.originalOpacities[n]}e.needsUpdate=!0}this.lastOpacityUpdateRectangles=[]}updateAngle(e,t){if(!this.mesh)return;let n=this.mesh.geometry.getAttribute("angle"),r=this.savedRectangles[e];if(!r)return;let o=t/180*Math.PI;n.setX(r.index,o),n.needsUpdate=!0}updateAnimationProgress(e){this.mesh&&(this.curAnimationProgrssUniform.value=e)}getRectangleId(e){return this.curRectangles[e].id}getNodeIndex(e){return this.savedRectangles[e]?.index??-1}setBgColorWhenFar(e,t){this.mesh&&(this.material.uniforms.bgColorWhenFar.value=[e.r,e.g,e.b,t])}clearSavedDataForAnimation(){this.savedRectangles={}}setInstancePositionAndScale(e,t,n,r,o,s,a){this.dummy.position.set(n,r,o),this.dummy.scale.set(s,1,a),this.dummy.updateMatrix(),e.setMatrixAt(t,this.dummy.matrix),e.instanceMatrix.needsUpdate=!0}};var to=Nn,aue=` +`,Ni=class{radius;mesh;meshForRayCasting;material;materialForRayCasting;planeGeo;hoveredRectangelId="";curRectangles=[];savedRectangles={};curAnimationProgrssUniform={value:-1};dummy=new $i.Object3D;originalBorderColors=[];originalBgColors=[];originalBorderWidths=[];originalOpacities=[];lastBorderColorUpdateRectangles=[];lastBgColorUpdateRectangles=[];lastBorderWidthUpdateRectangles=[];lastOpacityUpdateRectangles=[];constructor(e){this.radius=e,this.planeGeo=new $i.PlaneGeometry(1,1),this.planeGeo.rotateX(-Math.PI/2),this.material=new $i.ShaderMaterial({extensions:{derivatives:!0},uniforms:{borderRadius:{value:this.radius},animationProgress:this.curAnimationProgrssUniform,bgColorWhenFar:{value:[0,0,0,0]}},vertexShader:mue,fragmentShader:gue,transparent:!0}),this.materialForRayCasting=new $i.MeshBasicMaterial({opacity:0,transparent:!0})}generateMesh(e,t=!1,n=!1,r=!1,o=!1){if(e.length===0){this.savedRectangles={},this.mesh=void 0,this.meshForRayCasting=void 0;return}this.curRectangles=e;let s=[],a=[],c=[],l=[],d=[],u=[],h=[],p=[],f=[],m=[],y=Object.keys(this.savedRectangles).length>0,g=Z({},this.savedRectangles);this.savedRectangles={};let _=0;for(let C=0;C0){let a=r[r.length-1].instanceId;a!=null&&(o=this.getRectangleId(a))}if(this.hoveredRectangelId!==o){this.hoveredRectangelId=o,n&&(document.body.style.cursor=this.hoveredRectangelId===""?"default":"pointer");let s=this.savedRectangles[this.hoveredRectangelId];t(this.hoveredRectangelId,s)}}updateBorderColor(e,t){if(!this.mesh)return;e=e.filter(r=>r!=="");let n=this.mesh.geometry.getAttribute("borderColor");if(e.length>0)for(let r of e){let o=this.savedRectangles[r];if(!o)continue;let s=o.index;n.setXYZ(s,t.r,t.g,t.b),o.borderColor.r=t.r,o.borderColor.g=t.g,o.borderColor.b=t.b,this.lastBorderColorUpdateRectangles.push(o)}n.needsUpdate=!0}restoreBorderColors(){if(!this.mesh)return;let e=this.mesh.geometry.getAttribute("borderColor");if(this.lastBorderColorUpdateRectangles.length>=0){for(let t of this.lastBorderColorUpdateRectangles){let n=t.index;e.setXYZ(n,this.originalBorderColors[n*3],this.originalBorderColors[n*3+1],this.originalBorderColors[n*3+2]),t.borderColor.r=this.originalBorderColors[n*3],t.borderColor.g=this.originalBorderColors[n*3+1],t.borderColor.b=this.originalBorderColors[n*3+2]}e.needsUpdate=!0}this.lastBorderColorUpdateRectangles=[]}updateBgColor(e,t,n=!1){if(!this.mesh)return;e=e.filter(o=>o!=="");let r=this.mesh.geometry.getAttribute("bgColor");if(e.length>0)for(let o of e){let s=this.savedRectangles[o];if(!s)continue;let a=s.index;if(n){let c=this.originalBgColors[a*3],l=this.originalBgColors[a*3+1],d=this.originalBgColors[a*3+2];if(c!==1||l!==1||d!==1)continue}r.setXYZ(a,t.r,t.g,t.b),s.bgColor.r=t.r,s.bgColor.g=t.g,s.bgColor.b=t.b,this.lastBgColorUpdateRectangles.push(s)}r.needsUpdate=!0}restoreBgColors(){if(!this.mesh)return;let e=this.mesh.geometry.getAttribute("bgColor");if(this.lastBgColorUpdateRectangles.length>=0){for(let t of this.lastBgColorUpdateRectangles){let n=t.index;e.setXYZ(n,this.originalBgColors[n*3],this.originalBgColors[n*3+1],this.originalBgColors[n*3+2]),t.bgColor.r=this.originalBgColors[n*3],t.bgColor.g=this.originalBgColors[n*3+1],t.bgColor.b=this.originalBgColors[n*3+2]}e.needsUpdate=!0}this.lastBgColorUpdateRectangles=[]}updateBorderWidth(e,t){if(!this.mesh)return;e=e.filter(r=>r!=="");let n=this.mesh.geometry.getAttribute("borderWidth");if(e.length>0)for(let r of e){let o=this.savedRectangles[r];if(!o)continue;let s=o.index;n.setX(s,t),o.borderWidth=t,this.lastBorderWidthUpdateRectangles.push(o)}n.needsUpdate=!0}restoreBorderWidths(){if(!this.mesh)return;let e=this.mesh.geometry.getAttribute("borderWidth");if(this.lastBorderWidthUpdateRectangles.length>=0){for(let t of this.lastBorderWidthUpdateRectangles){let n=t.index;e.setX(n,this.originalBorderWidths[n]),t.borderWidth=this.originalBorderWidths[n]}e.needsUpdate=!0}this.lastBorderWidthUpdateRectangles=[]}updateOpacity(e,t){if(!this.mesh)return;e=e.filter(r=>r!=="");let n=this.mesh.geometry.getAttribute("opacity");if(e.length>0)for(let r of e){let o=this.savedRectangles[r];if(!o)continue;let s=o.index;n.setX(s,t),o.opacity=t,this.lastOpacityUpdateRectangles.push(o)}n.needsUpdate=!0}restoreOpacities(){if(!this.mesh)return;let e=this.mesh.geometry.getAttribute("opacity");if(this.lastOpacityUpdateRectangles.length>=0){for(let t of this.lastOpacityUpdateRectangles){let n=t.index;e.setX(n,this.originalOpacities[n]),t.opacity=this.originalOpacities[n]}e.needsUpdate=!0}this.lastOpacityUpdateRectangles=[]}updateAngle(e,t){if(!this.mesh)return;let n=this.mesh.geometry.getAttribute("angle"),r=this.savedRectangles[e];if(!r)return;let o=t/180*Math.PI;n.setX(r.index,o),n.needsUpdate=!0}updateAnimationProgress(e){this.mesh&&(this.curAnimationProgrssUniform.value=e)}getRectangleId(e){return this.curRectangles[e].id}getNodeIndex(e){return this.savedRectangles[e]?.index??-1}setBgColorWhenFar(e,t){this.mesh&&(this.material.uniforms.bgColorWhenFar.value=[e.r,e.g,e.b,t])}clearSavedDataForAnimation(){this.savedRectangles={}}setInstancePositionAndScale(e,t,n,r,o,s,a){this.dummy.position.set(n,r,o),this.dummy.scale.set(s,1,a),this.dummy.updateMatrix(),e.setMatrixAt(t,this.dummy.matrix),e.instanceMatrix.needsUpdate=!0}};var so=Ln,_ue=` precision highp float; // Set this to <0 to disable animation. @@ -3589,7 +3589,7 @@ void main() { gl_Position = projectionMatrix * modelViewMatrix * vec4(posX + x, yOffset, posZ + y, 1.0); } -`,lue=` +`,vue=` precision highp float; uniform sampler2D textureRegular; @@ -3647,11 +3647,12 @@ void main() { } gl_FragColor = vec4(color, opacity); } -`,Wi=class{threejsService;mesh;material;planeGeo;labelCharSizesCache={};fontSize;distanceRange;savedBounds={};nodeIdToOpacityIndexRanges={};nodeIdToColorIndexRanges={};lastOpacityUpdateIndexRanges=[];lastColorUpdateIndexRanges=[];originalColors=[];curAnimationProgrssUniform={value:-1};constructor(e){this.threejsService=e,this.planeGeo=new to.PlaneGeometry(1,1),this.planeGeo.rotateX(-Math.PI/2),this.fontSize=this.threejsService.fontInfoRegular.info.size,this.distanceRange=this.threejsService.fontInfoRegular.distanceField.distanceRange,this.material=new to.ShaderMaterial({uniforms:{textureRegular:{value:this.threejsService.textureRegular},textureMedium:{value:this.threejsService.textureMedium},textureBold:{value:this.threejsService.textureBold},textureIcons:{value:this.threejsService.textureIcons},distanceRange:{value:this.distanceRange},animationProgress:this.curAnimationProgrssUniform},extensions:{derivatives:!0},vertexShader:aue,fragmentShader:lue,transparent:!0,alphaToCoverage:!0})}generateMesh(e,t=!1,n=!1,r=!1){let o=0;this.nodeIdToOpacityIndexRanges={},this.nodeIdToColorIndexRanges={};let s=[],a=[],l=[],c=[],d=[],u=[],h=[],p=[],f=[],m=[],y=Object.keys(this.savedBounds).length>0,g=Z({},this.savedBounds);this.savedBounds={};for(let x of e){let C=this.threejsService.getCharsInfo(x.weight),D=this.threejsService.getFontInfo(x.weight).common.scaleW,E=this.getLabelSizes(x.label,x.weight,x.height,x.maxWidth,x.treatLabelAsAWhole,x.angle,x.edgeTextMode).sizes,P=x.height/this.fontSize,Y=x.x,$=x.z,O=(x.treatLabelAsAWhole?{rects:[{x:0,y:0,width:20,height:x.height}]}:this.getLabelSizes("a",x.weight,x.height).sizes).rects[0].height*P;switch(x.vAlign){case"top":$-=E.minZ*P;break;case"bottom":$-=E.maxZ*P;break;case"center":$-=(E.minZ+E.maxZ)/2*P+O/2;break;default:break}switch(x.hAlign){case"left":Y-=E.minX*P;break;case"right":Y-=E.maxX*P;break;case"center":Y-=(E.minX+E.maxX)/2*P;break;default:break}let B=x.y,j=u.length;for(let q=0;q0){for(let r of e)if(this.nodeIdToOpacityIndexRanges[r])for(let{minIndex:o,maxIndex:s}of this.nodeIdToOpacityIndexRanges[r]){for(let a=o;a<=s;a++)n.setX(a,t);this.lastOpacityUpdateIndexRanges.push({minIndex:o,maxIndex:s})}}n.needsUpdate=!0}updateColorInNode(e,t){if(!this.mesh)return;let n=this.mesh.geometry.getAttribute("color");if(e.length>0){for(let r of e)if(this.nodeIdToColorIndexRanges[r])for(let{minIndex:o,maxIndex:s}of this.nodeIdToColorIndexRanges[r]){for(let a=o;a<=s;a++)n.setXYZ(a,t.r,t.g,t.b);this.lastColorUpdateIndexRanges.push({minIndex:o,maxIndex:s})}}n.needsUpdate=!0}restoreOpacities(){if(!this.mesh)return;let e=this.mesh.geometry.getAttribute("opacity");if(this.lastOpacityUpdateIndexRanges.length>=0){for(let{minIndex:t,maxIndex:n}of this.lastOpacityUpdateIndexRanges)for(let r=t;r<=n;r++)e.setX(r,1);e.needsUpdate=!0}this.lastOpacityUpdateIndexRanges=[]}restoreColors(){if(!this.mesh)return;let e=this.mesh.geometry.getAttribute("color");if(this.lastColorUpdateIndexRanges.length>=0){for(let{minIndex:t,maxIndex:n}of this.lastColorUpdateIndexRanges)for(let r=t;r<=n;r++)e.setXYZ(r,this.originalColors[r*3],this.originalColors[r*3+1],this.originalColors[r*3+2]);e.needsUpdate=!0}this.lastColorUpdateIndexRanges=[]}updateAnimationProgress(e){this.curAnimationProgrssUniform.value=e}getLabelSizes(e,t,n,r,o,s,a){let l=this.getLabelCharSizesKey(e,t,s),c=this.labelCharSizesCache[l],d;if(c==null){if(c=this.getLabelSizesInternal(e,t,o,s,a),r!=null){let u=n/this.fontSize,h=e;for(let p=0;pr){h=h.substring(0,p-1),h+="...";break}}d=h,c=this.getLabelSizesInternal(h,t,o),l=this.getLabelCharSizesKey(h,t)}this.labelCharSizesCache[l]=c}return{sizes:this.labelCharSizesCache[l],updatedLabel:d}}updateLabelSizesCache(e,t,n){let r=this.getLabelCharSizesKey(e,t);this.labelCharSizesCache[r]=n}getFontSize(){return this.fontSize}clearSavedDataForAnimation(){this.savedBounds={}}getLabelCharSizesKey(e,t,n){return`${e}__${t}__${n}`}getLabelSizesInternal(e,t,n,r,o){let s=this.threejsService.getCharsInfo(t),a=[],l=0,c=Number.MAX_VALUE,d=Number.MAX_VALUE,u=Number.NEGATIVE_INFINITY,h=Number.NEGATIVE_INFINITY;for(let p of n?[e]:e){let f=s[p];f||(f=s["?"]);let m=f.yoffset;o?(l+=Math.sin(r||0)*(f.yoffset+f.height/2),m=Math.cos(r||0)*(f.yoffset+f.height/2)):l+=f.xoffset;let y=f.width,g=f.height,_={x:l,y:m,width:y,height:g};a.push(_),c=Math.min(c,_.x),d=Math.min(d,_.y),u=Math.max(u,_.x+_.width),h=Math.max(h,_.y+_.height),l+=f.xadvance*.98}return{rects:a,minX:c,minZ:0,maxX:u,maxZ:this.fontSize}}};var IG=26;var cue=Kt*.2,TG=Kt*.4,DG=Nn,bC=(()=>{class i{ATTRS_TABLE_KEY_COLOR=new DG.Color("#808080");ATTRS_TABLE_VALUE_COLOR=new DG.Color("#0d0d0d");threejsService=te(wr);attrsTableTexts=new Wi(this.threejsService);webglRenderer;webglRendererThreejsService;attrsTableBgs=new Oi(4);init(t){this.webglRenderer=t,this.webglRendererThreejsService=t.webglRendererThreejsService}renderAttrsTable(){if(Object.keys(this.webglRenderer.curShowOnNodeItemTypes).filter(s=>this.webglRenderer.curShowOnNodeItemTypes[s].selected).length===0)return;let t=[],r=9/this.attrsTableTexts.getFontSize(),o=[];for(let{node:s,index:a}of this.webglRenderer.nodesToRender){let l=[],c=IG+LI-4+ZI(s.label),d=0,u=0,h=[];if(Et(s)){let m=UI(this.webglRenderer.curShowOnNodeItemTypes);for(let y of m){let g=Qb(s,y);h.push({key:y,value:g})}this.webglRenderer.curShowOnNodeItemTypes[Rn.OP_ATTRS]?.selected&&h.push(...GI(s,this.webglRenderer.curShowOnNodeItemTypes[Rn.OP_ATTRS]?.filterRegex||"")),this.webglRenderer.curShowOnNodeItemTypes[Rn.OP_INPUTS]?.selected&&h.push(...WI(s,this.webglRenderer.curModelGraph)),this.webglRenderer.curShowOnNodeItemTypes[Rn.OP_OUTPUTS]?.selected&&h.push(...$I(s)),h.push(...qI(s,this.webglRenderer.curModelGraph.id,this.webglRenderer.curShowOnNodeItemTypes,this.webglRenderer.curNodeDataProviderRuns))}else if(yt(s)){let m=HI(this.webglRenderer.curShowOnNodeItemTypes);for(let y of m){let g=Qb(s,y);h.push({key:y,value:g})}this.webglRenderer.curShowOnNodeItemTypes[Rn.LAYER_NODE_ATTRS]?.selected&&h.push(...jI(s,this.webglRenderer.curModelGraph,this.webglRenderer.curShowOnNodeItemTypes[Rn.LAYER_NODE_ATTRS]?.filterRegex||""))}for(let{key:m,value:y}of h){let{keyLabelData:g,keyLabelWidth:_,valueLabelData:x,valueLabelWidth:C}=this.createAttrsTableKeyValueLabels(s,a,m,y,c,r);t.push(g,x),d=Math.max(_,d),u=Math.max(C,u),l.push({keyLabelData:g,valueLabelData:x}),c+=Im}let p=d+u+Wb,f=(this.webglRenderer.getNodeWidth(s)-p)/2;for(let m of l)m.keyLabelData.x=this.webglRenderer.getNodeX(s)+d,m.valueLabelData.x=this.webglRenderer.getNodeX(s)+d+Wb,m.keyLabelData.x+=f,m.valueLabelData.x+=f;if(l.length>0&&Et(s)){let y=this.webglRenderer.getNodeWidth(s)-16,g=l.length*Im;o.push({id:s.id,index:o.length,bound:{x:this.webglRenderer.getNodeX(s)+16/2+y/2,y:l[0].keyLabelData.z+g/2-Im/2,width:y,height:g},yOffset:Kt*a+cue,isRounded:!0,borderColor:{r:1,g:1,b:1},bgColor:{r:1,g:1,b:1},borderWidth:1,opacity:1})}}t.length>0&&(this.attrsTableTexts.generateMesh(t),this.webglRendererThreejsService.addToScene(this.attrsTableTexts.mesh),this.attrsTableBgs.generateMesh(o),this.webglRendererThreejsService.addToScene(this.attrsTableBgs.mesh))}updateAnimationProgress(t){this.attrsTableTexts.updateAnimationProgress(t),this.attrsTableBgs.updateAnimationProgress(t)}createAttrsTableKeyValueLabels(t,n,r,o,s,a){let l={id:`${t.id}_attrs_table_${r}_key`,nodeId:t.id,label:`${r}:`,height:9,hAlign:"right",vAlign:"center",weight:mn.MEDIUM,x:this.webglRenderer.getNodeX(t),y:n*Kt+TG,z:this.webglRenderer.getNodeY(t)+s,color:this.ATTRS_TABLE_KEY_COLOR},c=this.attrsTableTexts.getLabelSizes(l.label,l.weight,l.height).sizes,d=(c.maxX-c.minX)*a,u={id:`${t.id}_attrs_table_${r}_value`,nodeId:t.id,label:o,height:9,hAlign:"left",vAlign:"center",weight:mn.REGULAR,x:this.webglRenderer.getNodeX(t),y:n*Kt+TG,z:this.webglRenderer.getNodeY(t)+s,color:this.ATTRS_TABLE_VALUE_COLOR,maxWidth:FI},{sizes:h,updatedLabel:p}=this.attrsTableTexts.getLabelSizes(u.label,u.weight,u.height,u.maxWidth);p!=null&&(u.label=p);let f=(h.maxX-h.minX)*a;return{keyLabelData:l,keyLabelWidth:d,valueLabelData:u,valueLabelWidth:f}}static \u0275fac=function(n){return new(n||i)};static \u0275prov=J({token:i,factory:i.\u0275fac})}return i})();var q_=Nn,yC=(()=>{class i{appService;EDGE_TEXT_COLOR=new q_.Color("#041E49");threejsService=te(wr);edgeTexts=new Wi(this.threejsService);webglRenderer;webglRendererThreejsService;constructor(t){this.appService=t}init(t){this.webglRenderer=t,this.webglRendererThreejsService=t.webglRendererThreejsService}renderEdgeTexts(){let t=this.genLabelsOnEdges(this.webglRenderer.edgesToRender,this.EDGE_TEXT_COLOR);this.edgeTexts.generateMesh(t),this.webglRendererThreejsService.addToScene(this.edgeTexts.mesh)}genLabelsOnEdges(t,n){let r=this.appService.config()?.edgeLabelFontSize||Xb,o=this.appService.config()?.disallowVerticalEdgeLabels||!1,s=[],a=this.threejsService.getCharsInfo(mn.MEDIUM);for(let{edge:l}of t){let c=this.webglRenderer.curModelGraph.nodesById[l.fromNodeId],d=this.webglRenderer.curModelGraph.nodesById[l.toNodeId];if(!Et(c)||!Et(d))continue;let u="?",h=c.outputsMetadata||{};for(let T of Object.keys(h))if((c.outgoingEdges||[]).find(E=>E.sourceNodeOutputId===T&&E.targetNodeId===l.toNodeId)!=null){u=h[T].shape||"?",u=u.split("").map(E=>(E==="x"&&(E="x"),E==="\u2217"&&(E="*"),E===""&&(E=""),a[E]==null?"?":E)).join("");break}let p=l.curvePoints||[],f=c.globalX||0,m=c.globalY||0,y=new q_.CurvePath;for(let T=0;T1,C=()=>{let T=y.getPointAt(.5);s.push({id:`${l.id}_${u}`,nodeId:l.toNodeId,label:u,height:r,hAlign:"center",vAlign:"center",weight:mn.MEDIUM,x:T.x,y:95,z:T.y,color:n,borderColor:{r:1,g:1,b:1}})};if(x)C();else{let T=[],D=Math.max(0,Math.min(.25,1-u.length*_-5/g)),E=Math.max(.05,1-5/g-D-_*u.length),P=.05,Y=!0,$=r/this.edgeTexts.getFontSize();for(let U=0;U=Math.PI/4&&de<=Math.PI*1.75){Y=!1;break}if(T.push({pos:G,position:Math.min(j,1),angle:de,tan:K,char:k}),B!=null){let he=Math.abs(de-B);if(Math.min(he,Math.abs(he-Math.PI))>.15&&(Y=!1,U+.05=T[T.length-1].pos.x;if(U){let O=[],B=T[0].position;for(let j=u.length-1;j>=0;j--){let q=u[j],k=y.getPointAt(Math.min(1,B)),G=y.getTangentAt(Math.min(1,B)),K=(Math.PI*2-Math.atan(G.y/G.x))%(Math.PI*2);K<0&&(K+=Math.PI*2),O.push({pos:k,angle:K,tan:G,position:B,char:q});let de=a[q],De=0;j>=1&&(De=a[u[j-1]].xadvance);let Ee=(de.xadvance/2+De/2)*$/g;B+=Ee}T=O}for(let O=0;O{class i{EDGE_COLOR_INCOMING=new nf.Color("#009e73");EDGE_TEXT_COLOR_INCOMING=new nf.Color("#125341");EDGE_COLOR_OUTGOING=new nf.Color("#d55e00");EDGE_TEXT_COLOR_OUTGOING=new nf.Color("#994d11");inputsRenderedEdges=[];outputsRenderedEdges=[];inputsByHighlightedNode={};outputsByHighlightedNode={};webglRenderer;webglRendererThreejsService;threejsService=te(wr);ioPickerBgs=new Oi(99);ioPickerTexts=new Wi(this.threejsService);incomingHighlightedEdges=new yu(this.EDGE_COLOR_INCOMING,PG);outgoingHighlightedEdges=new yu(this.EDGE_COLOR_OUTGOING,PG);incomingHighlightedEdgeTexts=new Wi(this.threejsService);outgoingHighlightedEdgeTexts=new Wi(this.threejsService);init(t){this.webglRenderer=t,this.webglRendererThreejsService=t.webglRendererThreejsService}updateIncomingAndOutgoingHighlights(){if(!this.webglRenderer.curModelGraph)return;if(this.clearIncomingAndOutgoingHighlights(),!this.shouldUpdateIncomingAndOutgoingEdgesHighlights()){this.incomingHighlightedEdges.clearSavedDataForAnimation(),this.outgoingHighlightedEdges.clearSavedDataForAnimation(),this.incomingHighlightedEdgeTexts.clearSavedDataForAnimation(),this.outgoingHighlightedEdgeTexts.clearSavedDataForAnimation(),this.ioPickerBgs.clearSavedDataForAnimation(),this.ioPickerTexts.clearSavedDataForAnimation();return}let t=this.webglRenderer.appService.config()?.showOpNodeOutOfLayerEdgesWithoutSelecting,n=this.getHighlightedIncomingNodesAndEdges(this.webglRenderer.curHiddenInputOpNodeIds,void 0,{reuseRenderedEdgeCurvePoints:t});if(n.overlayEdges.length>0){let a=n.overlayEdges.map(l=>t?{edge:l,index:95/Kt}:{edge:wt(Z({},l),{curvePoints:bh(l.points,qh,Yh,nf)}),index:95/Kt});if(this.incomingHighlightedEdges.generateMesh(a,this.webglRenderer.curModelGraph),this.webglRendererThreejsService.addToScene(this.incomingHighlightedEdges.edgesMesh),this.webglRendererThreejsService.addToScene(this.incomingHighlightedEdges.arrowHeadsMesh),this.webglRenderer.curShowOnEdgeItemTypes[Fl.TENSOR_SHAPE]?.selected){let l=this.webglRenderer.webglRendererEdgeTextsService.genLabelsOnEdges(a,this.EDGE_TEXT_COLOR_INCOMING);this.incomingHighlightedEdgeTexts.generateMesh(l,!1,!0,!0),this.webglRendererThreejsService.addToScene(this.incomingHighlightedEdgeTexts.mesh)}}this.inputsByHighlightedNode=n.inputsByHighlightedNode,this.inputsRenderedEdges=n.renderedEdges;let r=this.getHighlightedOutgoingNodesAndEdges(this.webglRenderer.curHiddenOutputIds,void 0,{reuseRenderedEdgeCurvePoints:t});if(r.overlayEdges.length>0){let a=r.overlayEdges.map(l=>t?{edge:l,index:95/Kt}:{edge:wt(Z({},l),{curvePoints:bh(l.points,qh,Yh,nf)}),index:95/Kt});if(this.outgoingHighlightedEdges.generateMesh(a,this.webglRenderer.curModelGraph),this.webglRendererThreejsService.addToScene(this.outgoingHighlightedEdges.edgesMesh),this.webglRendererThreejsService.addToScene(this.outgoingHighlightedEdges.arrowHeadsMesh),this.webglRenderer.curShowOnEdgeItemTypes[Fl.TENSOR_SHAPE]?.selected){let l=this.webglRenderer.webglRendererEdgeTextsService.genLabelsOnEdges(a,this.EDGE_TEXT_COLOR_OUTGOING);this.outgoingHighlightedEdgeTexts.generateMesh(l,!1,!0,!0),this.webglRendererThreejsService.addToScene(this.outgoingHighlightedEdgeTexts.mesh)}}this.outputsByHighlightedNode=r.outputsByHighlightedNode,this.outputsRenderedEdges=r.renderedEdges;let o=[],s=[];for(let a of Object.keys(Z(Z({},this.inputsByHighlightedNode),this.outputsByHighlightedNode))){let l=this.webglRenderer.curModelGraph.nodesById[a];if(yt(l)){let c=hue,d=IO,u=this.inputsByHighlightedNode[a]!=null,h=u?this.inputsByHighlightedNode[a].length:this.outputsByHighlightedNode[a].length;o.push({id:`${a}${xC}${u?"input":"output"}`,index:o.length,bound:{x:this.webglRenderer.getNodeX(l)+c/2,y:this.webglRenderer.getNodeY(l)-d/4,width:c,height:d},yOffset:95,isRounded:!0,borderColor:{r:1,g:1,b:1},bgColor:u?this.EDGE_COLOR_INCOMING:this.EDGE_COLOR_OUTGOING,borderWidth:0,opacity:1}),s.push({id:`${a}${xC}${u?"input":"output"}`,nodeId:a,label:`${h} ${u?"input":"output"}${h!==1?"s":""}`,height:8,hAlign:"center",vAlign:"center",weight:mn.MEDIUM,color:{r:1,g:1,b:1},x:this.webglRenderer.getNodeX(l)+c/2,y:96,z:this.webglRenderer.getNodeY(l)-d/4+1})}}this.ioPickerTexts.generateMesh(s,!1,!0,!0),this.webglRendererThreejsService.addToScene(this.ioPickerTexts.mesh),this.ioPickerBgs.generateMesh(o,!0,!1,!1,!0),this.webglRendererThreejsService.addToScene(this.ioPickerBgs.mesh),this.webglRendererThreejsService.addToScene(this.ioPickerBgs.meshForRayCasting),this.webglRenderer.animateIntoPositions(a=>{this.incomingHighlightedEdges.updateAnimationProgress(a),this.outgoingHighlightedEdges.updateAnimationProgress(a),this.incomingHighlightedEdgeTexts.updateAnimationProgress(a),this.outgoingHighlightedEdgeTexts.updateAnimationProgress(a),this.ioPickerBgs.updateAnimationProgress(a),this.ioPickerTexts.updateAnimationProgress(a)})}handleClickIoPicker(t,n){t?this.inputsByHighlightedNode[n].length===1?this.webglRenderer.sendLocateNodeRequest(this.inputsByHighlightedNode[n][0].id,this.webglRenderer.rendererId):this.webglRenderer.showIoTree(this.webglRenderer.ioPicker.nativeElement,this.inputsByHighlightedNode[n],"incoming"):this.outputsByHighlightedNode[n].length===1?this.webglRenderer.sendLocateNodeRequest(this.outputsByHighlightedNode[n][0].id,this.webglRenderer.rendererId):this.webglRenderer.showIoTree(this.webglRenderer.ioPicker.nativeElement,this.outputsByHighlightedNode[n],"outgoing")}getHighlightedIncomingNodesAndEdges(t,n,r){let o=r?.ignoreEdgesWithinSameNamespace??!1,s=r?.reuseRenderedEdgeCurvePoints??!1;n||(n=this.webglRenderer.curModelGraph.nodesById[this.webglRenderer.selectedNodeId]);let a=[],l=[],c={},d=[];for(let u of n.incomingEdges||[]){if(t[u.sourceNodeId])continue;let h=this.webglRenderer.curModelGraph.nodesById[u.sourceNodeId];if(!h||o&&h.namespace===n.namespace)continue;let p=YI(h.namespace,n.namespace),f=this.getLastCollapsedAncestorNode(h,p);l.push(f),c[f.id]==null&&(c[f.id]=[]),c[f.id].push(h);let m=this.findEdgeConnectingTwoNodesInNamespace(p,h.id,n.id),y=[],g=[];if(m){a.push(m);let _=m.curvePoints||[],x=this.webglRenderer.curModelGraph.nodesById[m.fromNodeId];if(m.fromNodeId!==f.id){let D=m.points[0].x+(x.globalX||0),E=m.points[0].y+(x.globalY||0),P=this.getBestAnchorPointOnNode(D,E,f);y.push({x:P.x-(f.globalX||0),y:P.y-(f.globalY||0)}),s&&g.push({x:P.x-(f.globalX||0),y:P.y-(f.globalY||0)},{x:_[0].x-(f.globalX||0)+(x.globalX||0),y:_[0].y-(f.globalY||0)+(x.globalY||0)})}let C=y,T=m.points;if(s&&(C=g,T=_),C.push(...T.map(D=>({x:D.x-(f.globalX||0)+(x.globalX||0),y:D.y-(f.globalY||0)+(x.globalY||0)}))),m.toNodeId!==n?.id){let D=m.points[m.points.length-1].x+(x.globalX||0),E=m.points[m.points.length-1].y+(x.globalY||0),P=this.getBestAnchorPointOnNode(D,E,n);s?g.push({x:_[_.length-1].x-(f.globalX||0)+(x.globalX||0),y:_[_.length-1].y-(f.globalY||0)+(x.globalY||0)},{x:P.x-(f.globalX||0),y:P.y-(f.globalY||0)}):y.push({x:P.x-(f.globalX||0),y:P.y-(f.globalY||0)})}}else(yt(f)||Et(f)&&!f.hideInLayout)&&(s?g:y).push(...this.getDirectEdgeBetweenNodes(f,n));s?g.length>0&&d.push({id:`overlay_${f.id}___${n.id}`,fromNodeId:f.id,toNodeId:n.id,points:[],curvePoints:g,type:"incoming"}):y.length>0&&d.push({id:`overlay_${f.id}___${n.id}`,fromNodeId:f.id,toNodeId:n.id,points:y,type:"incoming"})}return{renderedEdges:a,highlightedNodes:l,inputsByHighlightedNode:c,overlayEdges:d}}getHighlightedOutgoingNodesAndEdges(t,n,r){let o=r?.ignoreEdgesWithinSameNamespace??!1,s=r?.reuseRenderedEdgeCurvePoints??!1;n||(n=this.webglRenderer.curModelGraph.nodesById[this.webglRenderer.selectedNodeId]);let a=[],l=[],c={},d=[];for(let u of n.outgoingEdges||[]){if(t[u.sourceNodeOutputId])continue;let h=this.webglRenderer.curModelGraph.nodesById[u.targetNodeId];if(!h||o&&h.namespace===n.namespace)continue;let p=YI(h.namespace,n.namespace),f=this.getLastCollapsedAncestorNode(h,p);l.push(f),c[f.id]==null&&(c[f.id]=[]),c[f.id].push(h);let m=this.findEdgeConnectingTwoNodesInNamespace(p,n.id,h.id),y=[],g=[];if(m){a.push(m);let _=m.curvePoints||[],x=this.webglRenderer.curModelGraph.nodesById[m.fromNodeId];if(m.fromNodeId!==n?.id){let D=m.points[0].x+(x.globalX||0),E=m.points[0].y+(x.globalY||0),P=this.getBestAnchorPointOnNode(D,E,n);y.push({x:P.x-(n.globalX||0),y:P.y-(n.globalY||0)}),s&&g.push({x:P.x-(n.globalX||0),y:P.y-(n.globalY||0)},{x:_[0].x-(n.globalX||0)+(x.globalX||0),y:_[0].y-(n.globalY||0)+(x.globalY||0)})}let C=y,T=m.points;if(s&&(C=g,T=_),C.push(...T.map(D=>({x:D.x-(n.globalX||0)+(x.globalX||0),y:D.y-(n.globalY||0)+(x.globalY||0)}))),m.toNodeId!==f.id){let D=m.points[m.points.length-1].x+(x.globalX||0),E=m.points[m.points.length-1].y+(x.globalY||0),P=this.getBestAnchorPointOnNode(D,E,f);s?g.push({x:_[_.length-1].x-(n.globalX||0)+(x.globalX||0),y:_[_.length-1].y-(n.globalY||0)+(x.globalY||0)},{x:P.x-(n.globalX||0),y:P.y-(n.globalY||0)}):y.push({x:P.x-(n.globalX||0),y:P.y-(n.globalY||0)})}}else(yt(f)||Et(f)&&!f.hideInLayout)&&(s?g:y).push(...this.getDirectEdgeBetweenNodes(n,f));s?g.length>0&&d.push({id:`overlay_${n.id}___${f.id}`,fromNodeId:n.id,toNodeId:f.id,points:[],curvePoints:g,type:"outgoing"}):y.length>0&&d.push({id:`overlay_${n.id}___${f.id}`,fromNodeId:n.id,toNodeId:f.id,points:y,type:"outgoing"})}return{renderedEdges:a,highlightedNodes:l,outputsByHighlightedNode:c,overlayEdges:d}}getLastCollapsedAncestorNode(t,n){let r=t,o=[];for(;r&&(yt(r)&&!r.expanded&&o.push(r),r.namespace!==n);)r=this.webglRenderer.curModelGraph.nodesById[r.nsParentId||""];return o.length>0?o[o.length-1]:t}shouldUpdateIncomingAndOutgoingEdgesHighlights(){if(!this.webglRenderer.selectedNodeId)return!1;let t=this.webglRenderer.curModelGraph.nodesById[this.webglRenderer.selectedNodeId];if(yt(t))return!1;let n=this.webglRenderer.curModelGraph.nodesById[this.webglRenderer.rootNodeId||""];return!(n&&yt(n)&&!(n.descendantsOpNodeIds||[]).includes(this.webglRenderer.selectedNodeId)||!this.webglRenderer.isNodeRendered(this.webglRenderer.selectedNodeId))}clearIncomingAndOutgoingHighlights(){this.incomingHighlightedEdges.clear(),this.outgoingHighlightedEdges.clear(),this.inputsByHighlightedNode={},this.outputsByHighlightedNode={},this.inputsRenderedEdges=[],this.outputsRenderedEdges=[];for(let t of[this.ioPickerBgs.mesh,this.ioPickerBgs.meshForRayCasting,this.ioPickerTexts.mesh,this.incomingHighlightedEdgeTexts.mesh,this.outgoingHighlightedEdgeTexts.mesh])t&&(t.geometry&&t.geometry.dispose(),this.webglRendererThreejsService.removeFromScene(t));this.ioPickerBgs.meshForRayCasting=void 0}findEdgeConnectingTwoNodesInNamespace(t,n,r){let o=t===""?"":`${t}___group___`;return this.webglRenderer.curModelGraph.edgesByGroupNodeIds[o].find(s=>{let a=this.webglRenderer.curModelGraph.nodesById[s.fromNodeId],l=this.webglRenderer.curModelGraph.nodesById[s.toNodeId],c=this.containNode(a,n),d=this.containNode(l,r);return c&&d})}containNode(t,n){return Et(t)&&t.id===n||yt(t)&&(t.descendantsOpNodeIds||[]).includes(n)}getDirectEdgeBetweenNodes(t,n){let r=[],o=t.globalX||0,s=t.globalY||0,a=t.width||0,l=t.height||0,c=n.globalX||0,d=n.globalY||0,u=n.width||0,h=n.height||0,p=o+a/2,f=d>s?s+l:s,m=c+u/2,y=d>s?d:d+h;return r.push({x:p+(t.x||0)-o,y:f+(t.y||0)-s},{x:m+(n.x||0)-o,y:y+(n.y||0)-s}),r}getBestAnchorPointOnNode(t,n,r){let o=this.webglRenderer.getNodeX(r),s=this.webglRenderer.getNodeY(r),a=this.webglRenderer.getNodeWidth(r),l=this.webglRenderer.getNodeHeight(r),c=[{point:{x:o+a/2,y:s},distance:0,direction:"horizontal"},{point:{x:o+a,y:s+l/2},distance:0,direction:"vertical"},{point:{x:o+a/2,y:s+l},distance:0,direction:"horizontal"},{point:{x:o,y:s+l/2},distance:0,direction:"vertical"}];for(let d of c)d.distance=this.getDistanceSquared(t,n,d.point.x,d.point.y);if(c.sort((d,u)=>d.distance-u.distance),c[0].direction!==c[1].direction){let d=this.getAngle(t,n,c[0].point.x,c[0].point.y,c[0].direction),u=this.getAngle(t,n,c[1].point.x,c[1].point.y,c[1].direction);return d>=u?c[0].point:c[1].point}return c[0].point}getAngle(t,n,r,o,s){return Math.atan(s==="horizontal"?Math.abs(o-n)/Math.abs(r-t):Math.abs(r-t)/Math.abs(o-n))}getDistanceSquared(t,n,r,o){return Math.pow(t-r,2)+Math.pow(n-o,2)}static \u0275fac=function(n){return new(n||i)};static \u0275prov=J({token:i,factory:i.\u0275fac})}return i})();var TO=IO,OG=68,DO=Nn,CC=(()=>{class i{IDENTICAL_GROUPS_BG_COLOR=new DO.Color("#e2edff");IDENTICAL_GROUPS_INDICATOR_BG_COLOR=new DO.Color("#e3e3e3");IDENTICAL_GROUPS_INDICATOR_BORDER_COLOR=new DO.Color("#ccc");webglRenderer;webglRendererThreejsService;threejsService=te(wr);identicalLayerIndicatorBgs=new Oi(99);identicalLayerIndicatorTexts=new Wi(this.threejsService);init(t){this.webglRenderer=t,this.webglRendererThreejsService=t.webglRendererThreejsService}updateIdenticalLayerIndicators(){if(!this.webglRenderer.curModelGraph)return;this.clearIdenticalLayerIndicators();let t=this.webglRenderer.curModelGraph.nodesById[this.webglRenderer.selectedNodeId],n=[],r=[];if(yt(t)&&t?.identicalGroupIndex!=null){let o=t.identicalGroupIndex,s=this.webglRenderer.nodesToRender.filter(({node:a})=>yt(a)&&a.identicalGroupIndex===o).map(({node:a})=>this.webglRenderer.curModelGraph.nodesById[a.id]);for(let a of s){if(a.id===t.id)continue;let l=this.webglRenderer.getNodeX(a)+OG/2,c=this.webglRenderer.getNodeY(a)-TO/2+TO/4;n.push({id:a.id,index:n.length,bound:{x:l,y:c,width:OG,height:TO},yOffset:95,isRounded:!0,borderColor:this.IDENTICAL_GROUPS_INDICATOR_BORDER_COLOR,bgColor:this.IDENTICAL_GROUPS_INDICATOR_BG_COLOR,borderWidth:1,opacity:1}),r.push({id:a.id,label:"Identical layer",height:8,hAlign:"center",vAlign:"center",weight:mn.MEDIUM,color:{r:0,g:0,b:0},x:l,y:96,z:c})}}this.identicalLayerIndicatorBgs.generateMesh(n,!1,!1,!0,!0),this.webglRendererThreejsService.addToScene(this.identicalLayerIndicatorBgs.mesh),this.identicalLayerIndicatorTexts.generateMesh(r,!1,!0,!0),this.webglRendererThreejsService.addToScene(this.identicalLayerIndicatorTexts.mesh),this.webglRenderer.animateIntoPositions(o=>{this.identicalLayerIndicatorBgs.updateAnimationProgress(o),this.identicalLayerIndicatorTexts.updateAnimationProgress(o)})}clearIdenticalLayerIndicators(){for(let t of[this.identicalLayerIndicatorBgs.mesh,this.identicalLayerIndicatorTexts.mesh])t&&(t.geometry&&t.geometry.dispose(),this.webglRendererThreejsService.removeFromScene(t))}static \u0275fac=function(n){return new(n||i)};static \u0275prov=J({token:i,factory:i.\u0275fac})}return i})();var SC=(()=>{class i{curIoTracingData;webglRenderer;init(t){this.webglRenderer=t}genTracingData(){if(!this.webglRenderer.selectedNodeId||!Et(this.webglRenderer.curModelGraph.nodesById[this.webglRenderer.selectedNodeId]))return;let t=new Set,n=new Set,r=[this.webglRenderer.selectedNodeId];for(;r.length>0;){let s=r.shift();if(n.has(s))continue;n.add(s);let a=this.webglRenderer.curModelGraph.nodesById[s];a.hideInLayout||t.add(s);for(let l of a.incomingEdges||[])r.push(l.sourceNodeId)}let o=new Set;for(r=[this.webglRenderer.selectedNodeId];r.length>0;){let s=r.shift();if(o.has(s))continue;o.add(s);let a=this.webglRenderer.curModelGraph.nodesById[s];a.hideInLayout||t.add(s);for(let l of a.outgoingEdges||[])r.push(l.targetNodeId)}for(let s of[...t]){let a=s;for(;;){let l=this.webglRenderer.curModelGraph.nodesById[a];if(!l.nsParentId||t.has(l.nsParentId))break;a=l.nsParentId,t.add(a)}}this.curIoTracingData={tracedNodeId:this.webglRenderer.selectedNodeId,visibleNodeIds:t}}clearTracingData(){this.curIoTracingData=void 0}static \u0275fac=function(n){return new(n||i)};static \u0275prov=J({token:i,factory:i.\u0275fac})}return i})();var gue="/api/v1/read_text_file",_ue="/api/v1/load_node_data",Cr=(()=>{class i{appService;runs=ut({});remoteSourceLoading=ut(!1);leftPaneModelGraph$=jb(Xt(()=>this.appService.panes()[0].modelGraph));rightPaneModelGraph$=jb(Xt(()=>{let t=this.appService.panes();if(!(t.length<=1))return t[1].modelGraph}));constructor(t){this.appService=t,this.leftPaneModelGraph$.subscribe(n=>{n!=null&&this.handleModelGraphInPaneChanged(n,0)}),this.rightPaneModelGraph$.subscribe(n=>{n!=null&&this.handleModelGraphInPaneChanged(n,1)})}addRun(t,n,r,o,s,a=!1,l){let c=o.collectionLabel;this.runs.update(d=>{if(a){let h=[];for(let[p,f]of Object.entries(d))a&&f.collectionId===c&&h.push(p);for(let p of h)delete d[p]}d[t]={runId:t,runName:n,done:s!=null,results:s==null?void 0:{[o.id]:this.processNodeDataProviderDataForGraph(o,s)},extensionId:r,collectionId:c,remotePath:l,nodeDataProviderData:s};let u=this.appService.panes();for(let h of u)h.modelGraph?.id===o.id&&h.modelGraph?.collectionLabel===o.collectionLabel&&this.appService.setSelectedNodeDataProviderRunId(h.id,t);return Z({},d)})}updateRunResults(t,n,r,o){this.runs.update(s=>{let a=s[t];return a.done=!0,a.nodeDataProviderData=n,a.results==null&&(a.results={}),a.results[r.id]=this.processNodeDataProviderDataForGraph(r,n),o&&(a.error=o),Z({},s)})}addRunFromRemoteSource(t,n){return At(this,null,function*(){this.remoteSourceLoading.set(!0);let r=t.split("/"),o=r[r.length-1],s=`/read_file?path=${t}`;if(!0)if(t.startsWith("node_data://")){let d=t.replace("node_data://","").split("/");o=d[0];let u=Number(d[1]);s=`${_ue}?node_data_index=${u}`}else s=`${gue}?path=${t}`;let a=Fr();this.addRun(a,o,"",n,void 0,!1,t);let l=yield fetch(s);if(!l.ok){this.updateRunResults(a,{[n.id]:{results:{}}},n,`Failed to load JSON file "${t}"`),this.remoteSourceLoading.set(!1);return}if(!0){let c=JSON.parse(yield l.text());if(c.error)this.updateRunResults(a,{[n.id]:{results:{}}},n,`Failed to process JSON file. ${c.error}`);else try{this.updateRunResults(a,this.getNodeDataProviderData(c.content,n),n),this.notifyRemoteNodeDataChanges()}catch(d){this.updateRunResults(a,{[n.id]:{results:{}}},n,`Failed to process JSON file. ${d}`)}}else{let c=JSON.parse((yield l.text()).replace(`)]}' -`,""));try{this.updateRunResults(a,this.getNodeDataProviderData(c.content,n),n),this.notifyRemoteNodeDataChanges()}catch(d){this.updateRunResults(a,{[n.id]:{results:{}}},n,`Failed to process JSON file. ${d}`)}}this.remoteSourceLoading.set(!1)})}deleteRun(t){this.runs.update(n=>(delete n[t],Z({},n))),this.notifyRemoteNodeDataChanges();for(let n of this.appService.panes())if(n.selectedNodeDataProviderRunId===t){let r=this.getRunsForModelGraph(n.modelGraph);this.appService.setSelectedNodeDataProviderRunId(n.id,r.length>0?r[0].runId:void 0)}}getSelectedRunForModelGraph(t,n){let r=this.appService.getSelectedNodeDataProviderRunId(t);return r?this.getRunsForModelGraph(n).find(s=>s.runId===r):void 0}getRunsForModelGraph(t){let n=[],r=this.runs();for(let o of Object.values(r)){if(o.collectionId!==t.collectionLabel)continue;let s=o.nodeDataProviderData;s&&s[t.id]!=null&&n.push(o)}return n}processNodeDataProviderDataForGraph(t,n){this.genOutputTensorIdToNodeIdMap(t);let r={},o=n[t.id];if(!o)return{};let s=[];for(let c of o.gradient||[]){let d={stop:c.stop};c.bgColor!=null&&(d.bgColor=this.getRgbFromColor(c.bgColor,"#ffffff")),c.textColor!=null&&(d.textColor=this.getRgbFromColor(c.textColor,"#000000")),s.push(d)}s.sort((c,d)=>c.stop-d.stop);let a=Number.POSITIVE_INFINITY,l=Number.NEGATIVE_INFINITY;if(s.length>0)for(let{value:c}of Object.values(o.results))typeof c=="number"&&(a=Math.min(a,c),l=Math.max(l,c));for(let c of Object.keys(o.results)){let d=o.results[c];if(typeof d.value=="number"&&d.bgColor==null&&(d.bgColor=this.getBgColor(d.value,o.thresholds||[],s,a,l)),typeof d.value=="number"&&d.textColor==null&&(d.textColor=this.getTextColor(d.value,o.thresholds||[],s,a,l)),(d.textColor==null||d.textColor==="")&&d.bgColor!=null){let y=this.getRgbFromColor(d.bgColor,"#ffffff");y!=null&&Math.pow(y.r/255,2.2)*.2126+Math.pow(y.g/255,2.2)*.7152+Math.pow(y.b/255,2.2)*.0722<.38&&(d.textColor="#ffffff")}let u="-",h=d.value;typeof h=="number"||typeof h=="boolean"||typeof h=="string"?u=`${h}`:u=JSON.stringify(h),u=u;let f=`${(t.outputTensorIdToNodeId||{})[c]??c}`,m=r[f];if(!m)r[f]=wt(Z({},d),{strValue:u,allValues:{[c]:d.value}});else{let y=m.allValues;y[c]=d.value,r[f]={value:d.value,bgColor:d.bgColor,textColor:d.textColor,allValues:y,strValue:`${m.strValue}, ${u}`}}}return r}getBgColor(t,n,r,o,s){if(r.length>0)return this.getColorFromGradient(t,r,o,s,!0,"transparent");for(let a of n)if(t<=a.value)return a.bgColor;return"transparent"}getTextColor(t,n,r,o,s){if(r.length>0)return this.getColorFromGradient(t,r,o,s,!1,"");for(let a of n)if(t<=a.value)return a.textColor||"";return""}getColorFromGradient(t,n,r,o,s,a){let l=(t-r)/(o-r);for(let c=0;c=d.stop&&l<=u.stop){if(h==null||p==null)return a;let f=(l-d.stop)/(u.stop-d.stop),m=Math.floor(h.r+(p.r-h.r)*f),y=Math.floor(h.g+(p.g-h.g)*f),g=Math.floor(h.b+(p.b-h.b)*f);return`#${this.numToHex(m)}${this.numToHex(y)}${this.numToHex(g)}`}}return a}genOutputTensorIdToNodeIdMap(t){if(t.outputTensorIdToNodeId==null){t.outputTensorIdToNodeId={};for(let n of t.nodes)if(Et(n)){let r=n.outputsMetadata||{};for(let o of Object.keys(r)){let a=r[o].tensor_name;a!=null&&(t.outputTensorIdToNodeId[a]=n.id)}}}}handleModelGraphInPaneChanged(t,n){let r=this.getRunsForModelGraph(t);if(r.length>0){for(let o of r)o.results==null&&(o.results={}),o.results[t.id]==null&&o.nodeDataProviderData!=null&&(o.results[t.id]=this.processNodeDataProviderDataForGraph(t,o.nodeDataProviderData));this.appService.setSelectedNodeDataProviderRunId(this.appService.panes()[n].id,r[0].runId)}}getRgbFromColor(t,n){let r=t;return t.startsWith("#")||(r=Zb[t]),r||(r=n),r=r.replace("#",""),{r:this.hexStrToInt(r.substring(0,2)),g:this.hexStrToInt(r.substring(2,4)),b:this.hexStrToInt(r.substring(4,6))}}numToHex(t){let n=t.toString(16);return n.length===1?`0${n}`:n}hexStrToInt(t){return/^[a-fA-F0-9]+$/.test(t)?parseInt(t,16):255}getNodeDataProviderData(t,n){let r=JSON.parse(t),o={};return r.results!=null&&r.results.results==null?n&&(o[n.id]=r):o=r,o}notifyRemoteNodeDataChanges(){let t=Object.values(this.runs()).filter(n=>n.remotePath!=null).map(n=>n.remotePath);this.appService.remoteNodeDataPaths.set(t)}static \u0275fac=function(n){return new(n||i)(X(st))};static \u0275prov=J({token:i,factory:i.\u0275fac})}return i})();var vue=Kt*.5,bue=Nn,MC=(()=>{class i{nodeDataProviderExtensionService;curNodeDataProviderResults=Xt(()=>this.webglRenderer?(this.nodeDataProviderExtensionService.getSelectedRunForModelGraph(this.webglRenderer.paneId,this.webglRenderer.curModelGraph)?.results||{})[this.webglRenderer.curModelGraph.id]:void 0);webglRenderer;webglRendererThreejsService;nodeDataProviderDistributionBars=new Oi(0);constructor(t){this.nodeDataProviderExtensionService=t}init(t){this.webglRenderer=t,this.webglRendererThreejsService=t.webglRendererThreejsService}renderNodeDataProviderDistributionBars(){let t=this.curNodeDataProviderResults()||{};if(Object.keys(t).length===0)return;let{groupIdToDescendantsBgColorCounts:n,sortedBgColors:r}=this.genGroupIdToDescendantsBgColorCounts(),o=[];for(let{node:s,index:a}of this.webglRenderer.nodesToRender){if(!n[s.id])continue;let l=s,c=l.width||0,d=n[s.id],u=0;for(let f of Object.values(d))u+=f;let h=0,p=0;for(let f of r){if(d[f]==null||f==="transparent")continue;let y=d[f]/u*c,g=VI,_=h;o.push({id:`${s.id}_${p}`,index:o.length,bound:{x:this.webglRenderer.getNodeX(l)+_+y/2,y:this.webglRenderer.getNodeY(l)+this.webglRenderer.getNodeHeight(l)-VI+g/2,width:y,height:g},yOffset:Kt*a+vue,isRounded:!1,borderColor:{r:1,g:1,b:1},bgColor:new bue.Color(f),borderWidth:0,opacity:1}),h+=y,p++}}this.nodeDataProviderDistributionBars.generateMesh(o),this.webglRendererThreejsService.addToScene(this.nodeDataProviderDistributionBars.mesh)}updateAnimationProgress(t){this.nodeDataProviderDistributionBars.updateAnimationProgress(t)}genGroupIdToDescendantsBgColorCounts(){let t=this.curNodeDataProviderResults()||{},n={},r=new Set;for(let{node:o}of this.webglRenderer.nodesToRender)if(yt(o)&&!o.expanded){let s={};for(let a of o.descendantsOpNodeIds||[]){let l=this.webglRenderer.curModelGraph.nodesById[a],c=t[l.id]?.bgColor||"";c&&(s[c]==null&&(s[c]=0),s[c]++,r.add(c))}n[o.id]=s}return{groupIdToDescendantsBgColorCounts:n,sortedBgColors:[...r].sort((o,s)=>o.localeCompare(s))}}static \u0275fac=function(n){return new(n||i)(X(Cr))};static \u0275prov=J({token:i,factory:i.\u0275fac})}return i})();var xue=-Kt*.3,wue=Kt*.3,Cue=Nn,EC=(()=>{class i{appService;SEARCH_RESULTS_HIGHLIGHT_COLOR=new Cue.Color("#f5d55a");searchResultsHighlightBorders=new Oi(8);searchResultsNodeLabelHighlightBg=new Oi(4);webglRenderer;webglRendererThreejsService;curSearchResults=void 0;constructor(t){this.appService=t}init(t){this.webglRenderer=t,this.webglRendererThreejsService=t.webglRendererThreejsService,lt(()=>{let n=this.appService.getPaneById(this.webglRenderer.paneId);!n||!n.modelGraph||this.curSearchResults!==n.searchResults&&(this.curSearchResults=n.searchResults,this.renderSearchResults(),this.webglRendererThreejsService.render())})}renderSearchResults(){if(!this.curSearchResults)return;this.clearSearchResults();let t=new Set;for(let s of Object.keys(this.curSearchResults.results)){let a=this.webglRenderer.curModelGraph.nodesById[s];if(this.webglRenderer.isNodeRendered(s))t.add(s);else{let l=a;for(;l&&(l=this.webglRenderer.curModelGraph.nodesById[l.nsParentId||""],!(!l||this.webglRenderer.isNodeRendered(l.id))););t.add(l.id)}}let n=[];for(let s of t){let a=this.webglRenderer.curModelGraph.nodesById[s],l=this.webglRenderer.nodesToRenderMap[s].index,c=this.webglRenderer.getNodeX(a)-2,d=this.webglRenderer.getNodeY(a)-2,u=this.webglRenderer.getNodeWidth(a)+4,h=this.webglRenderer.getNodeHeight(a)+4;n.push({id:s,index:n.length,bound:{x:c+u/2,y:d+h/2,width:u,height:h},yOffset:Kt*l+xue,isRounded:!0,borderColor:{r:1,g:1,b:1},bgColor:this.SEARCH_RESULTS_HIGHLIGHT_COLOR,borderWidth:0,opacity:1})}this.searchResultsHighlightBorders.generateMesh(n),this.webglRendererThreejsService.addToScene(this.searchResultsHighlightBorders.mesh);let r=[],o=Fo/this.webglRenderer.texts.getFontSize();for(let s of Object.keys(this.curSearchResults.results)){if(!this.webglRenderer.isNodeRendered(s))continue;let a=this.curSearchResults.results[s];for(let l of a)if(l.type===bt.NODE_LABEL){let c=this.webglRenderer.curModelGraph.nodesById[s],d=this.webglRenderer.nodesToRenderMap[s].index,u=this.webglRenderer.getNodeX(c)+this.webglRenderer.getNodeWidth(c)/2,h=0,p=0,f=0,m=hd(c.label);if(m.length===1){let y=this.webglRenderer.texts.getLabelSizes(c.label,yt(c)?mn.BOLD:mn.MEDIUM,Fo).sizes;f=(y.maxX-y.minX)*o+4,p=(y.maxZ-y.minZ)*o+4,h=this.webglRenderer.getNodeY(c)+this.webglRenderer.getNodeLabelRelativeY(c)-2*o}else{let{minX:y,maxX:g}=this.webglRenderer.getNodeLabelSizes(c);f=(g-y)*o+4,p=m.length*vh+4,h=this.webglRenderer.getNodeY(c)+p/2+4.5-2*o}r.push({id:s,index:n.length,bound:{x:u,y:h,width:f,height:p},yOffset:Kt*d+wue,isRounded:!0,borderColor:{r:1,g:1,b:1},bgColor:this.SEARCH_RESULTS_HIGHLIGHT_COLOR,borderWidth:0,opacity:1})}}this.searchResultsNodeLabelHighlightBg.generateMesh(r),this.webglRendererThreejsService.addToScene(this.searchResultsNodeLabelHighlightBg.mesh),this.webglRenderer.animateIntoPositions(s=>{this.searchResultsHighlightBorders.updateAnimationProgress(s),this.searchResultsNodeLabelHighlightBg.updateAnimationProgress(s)})}clearSearchResults(){for(let t of[this.searchResultsHighlightBorders.mesh,this.searchResultsNodeLabelHighlightBg.mesh])t&&(t.geometry&&t.geometry.dispose(),this.webglRendererThreejsService.removeFromScene(t))}static \u0275fac=function(n){return new(n||i)(X(st))};static \u0275prov=J({token:i,factory:i.\u0275fac})}return i})();var RG=320,IC=(()=>{class i{appService;destroyRef;webglRenderer;webglRendererThreejsService;constructor(t,n){this.appService=t,this.destroyRef=n}init(t){this.webglRenderer=t,this.webglRendererThreejsService=t.webglRendererThreejsService,this.appService.addSnapshotClicked.pipe(Vi(this.destroyRef)).subscribe(n=>{n.rendererId===this.webglRenderer.rendererId&&this.addSnapshot()}),this.appService.curSnapshotToRestore.pipe(Vi(this.destroyRef)).subscribe(n=>{n.rendererId===this.webglRenderer.rendererId&&this.restoreSnapshot(n.snapshot)})}addSnapshot(){return At(this,null,function*(){this.webglRenderer.flash();let t=yield this.takeSnapshot();this.webglRenderer.appService.addSnapshot(t,this.webglRenderer.curModelGraph.id,this.webglRenderer.paneId)})}takeSnapshot(){return At(this,null,function*(){let t=this.webglRenderer.container.nativeElement,n=this.webglRendererThreejsService.convertScreenPosToScene(0,0),r=this.webglRendererThreejsService.convertScreenPosToScene(t.clientWidth,t.clientHeight),o={x:n.x,y:n.y,width:r.x-n.x,height:r.y-n.y},s=[];Pm(void 0,this.webglRenderer.curModelGraph,s);let a=this.webglRenderer.canvas.nativeElement,l=this.webglRenderer.snapshotCanvas.nativeElement,c=RG,d=RG/a.width*a.height;this.webglRendererThreejsService.renderSnapshot(c,d);let u=window.devicePixelRatio,h=new OffscreenCanvas(c*u,d*u),p=h.getContext("2d");p.imageSmoothingQuality="high",p.drawImage(l,0,0,l.width,l.height,0,0,h.width,h.height);let f=yield createImageBitmap(h),m=this.webglRenderer.appService.getFlattenLayers(this.webglRenderer.paneId);return{id:Fr(),rect:o,imageBitmap:f,selectedNodeId:this.webglRenderer.selectedNodeId,deepestExpandedGroupNodeIds:s,showOnNodeItemTypes:Z({},this.webglRenderer.curShowOnNodeItemTypes),showOnEdgeItemTypes:Z({},this.webglRenderer.curShowOnEdgeItemTypes),flattenLayers:m}})}restoreSnapshot(t){t.showOnNodeItemTypes&&(this.webglRenderer.curShowOnNodeItemTypes=Z({},t.showOnNodeItemTypes),this.webglRenderer.appService.setShowOnNode(this.webglRenderer.paneId,this.webglRenderer.rendererId,this.webglRenderer.curShowOnNodeItemTypes)),t.showOnEdgeItemTypes&&(this.webglRenderer.curShowOnEdgeItemTypes=Z({},t.showOnEdgeItemTypes),this.webglRenderer.appService.setShowOnEdge(this.webglRenderer.paneId,this.webglRenderer.rendererId,this.webglRenderer.curShowOnEdgeItemTypes));let n=this.webglRenderer.appService.getFlattenLayers(this.webglRenderer.paneId),r=t.flattenLayers===!0;n!==r?(this.webglRenderer.appService.processGraph(this.webglRenderer.paneId,r,t),this.webglRenderer.appService.setFlattenLayersInCurrentPane(r)):this.webglRenderer.sendRelayoutGraphRequest(t.selectedNodeId||"",t.deepestExpandedGroupNodeIds||[],!1,t.rect,!0,t.showOnNodeItemTypes)}static \u0275fac=function(n){return new(n||i)(X(st),X(Ni))};static \u0275prov=J({token:i,factory:i.\u0275fac})}return i})();var AG={r:1,g:1,b:1},TC=14,Eue=Nn,DC=(()=>{class i{appService;subgraphSelectionService;SUBGRAPH_SELECTED_NODE_MARKER_BG_COLOR=new Eue.Color("#09B83E");webglRenderer;webglRendererThreejsService;threejsService=te(wr);curSubgraphSelectedNodeIds={};subgraphsSelectedNodeMarkerBgs=new Oi(99);subgraphSelectedNodeMarkerTexts=new Wi(this.threejsService);constructor(t,n){this.appService=t,this.subgraphSelectionService=n}init(t){this.webglRenderer=t,this.webglRendererThreejsService=t.webglRendererThreejsService,lt(()=>{this.curSubgraphSelectedNodeIds=this.subgraphSelectionService.selectedNodeIds(),this.renderSubgraphSelectedNodeMarkers()})}renderSubgraphSelectedNodeMarkers(){if(!this.enableSubgraphSelection)return;let t=Object.keys(this.curSubgraphSelectedNodeIds),n=new Set(t);if(this.clearSubgraphSelectedNodeMarkers(),t.length===0){this.webglRendererThreejsService.render();return}let r=[],o=new Set;for(let a of t){let c=this.webglRenderer.curModelGraph.nodesById[a];for(;;){let d=this.webglRenderer.curModelGraph.nodesById[c.nsParentId||""];if(d)o.add(d.id),c=d;else break}}let s=[];for(let a of o){if(!this.webglRenderer.isNodeRendered(a))continue;let l=this.webglRenderer.curModelGraph.nodesById[a],c=this.webglRenderer.getNodeX(l)+this.webglRenderer.getNodeWidth(l),d=this.webglRenderer.getNodeY(l),u=(l.descendantsOpNodeIds||[]).filter(f=>{let m=this.webglRenderer.curModelGraph.nodesById[f];return n.has(m.id)}).length;s.push({id:`${a}_subgraph_count_label`,nodeId:a,label:`${u}`,height:8,hAlign:"center",vAlign:"center",weight:mn.MEDIUM,color:this.webglRenderer.NODE_LABEL_COLOR,x:c,y:96,z:d+1});let h=TC*(u>=1e3?2:1.5),p=TC;r.push({id:a,index:r.length,bound:{x:c,y:d,width:h,height:p},yOffset:95.5,isRounded:!0,borderColor:this.SUBGRAPH_SELECTED_NODE_MARKER_BG_COLOR,bgColor:AG,borderWidth:1.5,opacity:1})}for(let a of t){if(!this.webglRenderer.isNodeRendered(a))continue;let l=this.webglRenderer.curModelGraph.nodesById[a],c=this.webglRenderer.getNodeX(l)+this.webglRenderer.getNodeWidth(l),d=this.webglRenderer.getNodeY(l),u=TC,h=TC;r.push({id:a,index:r.length,bound:{x:c,y:d,width:u,height:h},yOffset:95.5,isRounded:!0,borderColor:this.SUBGRAPH_SELECTED_NODE_MARKER_BG_COLOR,bgColor:AG,borderWidth:1.5,opacity:1}),s.push({id:`${l.id}_checkmark`,nodeId:l.id,label:"0xe876",height:24,hAlign:"center",vAlign:"center",weight:mn.ICONS,color:this.SUBGRAPH_SELECTED_NODE_MARKER_BG_COLOR,x:c,y:96,z:d+14,treatLabelAsAWhole:!0,weightLevel:.9})}this.subgraphsSelectedNodeMarkerBgs.generateMesh(r,!1,!1,!1,!0),this.webglRendererThreejsService.addToScene(this.subgraphsSelectedNodeMarkerBgs.mesh),this.subgraphSelectedNodeMarkerTexts.generateMesh(s,!1,!0,!0),this.webglRendererThreejsService.addToScene(this.subgraphSelectedNodeMarkerTexts.mesh),this.webglRenderer.animateIntoPositions(a=>{this.subgraphsSelectedNodeMarkerBgs.updateAnimationProgress(a),this.subgraphSelectedNodeMarkerTexts.updateAnimationProgress(a)})}get enableSubgraphSelection(){return this.appService.config()?.enableSubgraphSelection===!0}clearSubgraphSelectedNodeMarkers(){for(let t of[this.subgraphsSelectedNodeMarkerBgs.mesh,this.subgraphSelectedNodeMarkerTexts.mesh])t&&(t.geometry&&t.geometry.dispose(),this.webglRendererThreejsService.removeFromScene(t))}static \u0275fac=function(n){return new(n||i)(X(st),X(Xo))};static \u0275prov=J({token:i,factory:i.\u0275fac})}return i})();var Sr=500,NG=200,ts=Nn,PC=(()=>{class i{curScale=1;fps="";camera;raycaster;zoom=fD();webglRenderer;curTranslateX=0;curTranslateY=0;scene;renderer;snapshotRenderer;pngDownloaderRenderer;savedCenterX=null;savedCenterY=null;resizeTimeoutRef=-1;fpsStartTime=-1;frames=0;init(t){this.webglRenderer=t}setupZoomAndPan(t,n=.1,r=10){let o=Go(t),s=0,a=0;this.zoom.scaleExtent([n,r]).wheelDelta(()=>-ht.deltaY*(ht.deltaMode?120:1)/150).filter(()=>{if(ht.type==="mousedown"&&(s=this.curTranslateX,a=this.curTranslateY),ht.button===2||Dm&&ht.ctrlKey&&ht.button===0&&ht.type==="mousedown")return!1;if(ht.type==="dblclick")return ht.stopPropagation(),this.webglRenderer.handleDoubleClickOnGraph(ht.altKey,ht.shiftKey),!1;if(ht.type==="wheel"&&!ht.ctrlKey){let l=.5/this.curScale;return this.zoom.translateBy(o,-Number(ht.deltaX)*l,-Number(ht.deltaY)*l),ht.preventDefault(),!1}return!0}).on("zoom",()=>{this.handleZoom()}).on("end",()=>{this.handleZoomEnd(s,a)}),this.zoom.interpolate(Ed),o.call(this.zoom)}setupThreeJs(){let t=this.webglRenderer.canvas.nativeElement;this.scene=new ts.Scene,this.scene.background=new ts.Color(16777215);let n=t.clientWidth/t.clientHeight;this.camera=new ts.OrthographicCamera(0,2*Sr*n,0,-2*Sr,.001,1e3),this.camera.position.y=NG,this.camera.lookAt(new ts.Vector3(0,0,0)),this.camera.updateMatrixWorld(),this.camera.updateProjectionMatrix(),this.renderer=new ts.WebGLRenderer({canvas:t,powerPreference:"high-performance",precision:"highp",antialias:!0,alpha:!0});let r=dd();this.renderer.setPixelRatio(r),this.renderer.setSize(t.clientWidth,t.clientHeight);let o=this.webglRenderer.snapshotCanvas.nativeElement;this.snapshotRenderer=new ts.WebGLRenderer({canvas:o,powerPreference:"high-performance",precision:"highp",antialias:!0,alpha:!0,preserveDrawingBuffer:!0}),this.snapshotRenderer.setPixelRatio(r),this.render(),new ResizeObserver(()=>{requestAnimationFrame(()=>{this.resizeRendererToDisplaySize()})}).observe(this.webglRenderer.container.nativeElement),this.raycaster=new ts.Raycaster,this.raycaster.params.Points.threshold=5.5}clearScene(t=[]){for(let n=this.scene.children.length-1;n>=0;n--){let r=this.scene.children[n];t.includes(r)||(r.geometry&&r.geometry.dispose(),this.scene.remove(r))}}setupPngDownloaderRenderer(t,n,r,o){this.pngDownloaderRenderer||(this.pngDownloaderRenderer=new ts.WebGLRenderer({canvas:t,powerPreference:"high-performance",precision:"highp",antialias:!0,alpha:!0,preserveDrawingBuffer:!0}),this.pngDownloaderRenderer.setPixelRatio(dd())),n&&(this.scene.background=null,this.pngDownloaderRenderer.setClearColor(0,0)),this.pngDownloaderRenderer.setSize(r,o,!1)}renderPngDownloader(t){this.pngDownloaderRenderer.render(this.scene,t)}renderSnapshot(t,n){this.snapshotRenderer.setSize(t,n,!1),this.snapshotRenderer.render(this.scene,this.camera)}setSceneBackground(t){this.scene.background=t}createOrthographicCamera(t,n,r,o){let s=new ts.OrthographicCamera(t,n,r,o,.001,1e3);return s.position.y=NG,s.lookAt(new ts.Vector3(0,0,0)),s.updateMatrixWorld(),s.updateProjectionMatrix(),s}dispose(){this.renderer&&(this.renderer.dispose(),this.renderer.forceContextLoss()),this.snapshotRenderer&&(this.snapshotRenderer.dispose(),this.snapshotRenderer.forceContextLoss()),this.pngDownloaderRenderer&&(this.pngDownloaderRenderer.dispose(),this.pngDownloaderRenderer.forceContextLoss())}render(t=!1){if(!(!this.renderer||!this.scene||!this.camera)&&(this.renderer.render(this.scene,this.camera),this.webglRenderer.benchmark&&t)){this.fpsStartTime<0&&(this.fpsStartTime=performance.now()),this.frames+=1;let n=performance.now()-this.fpsStartTime;n>1e3&&(this.fps=(this.frames/n*1e3).toFixed(1),this.fpsStartTime=-1,this.frames=0,this.webglRenderer.changeDetectorRef.markForCheck())}}zoomFitGraph(t=.9,n=200){this.zoomFit({x:this.webglRenderer.currentMinX,y:this.webglRenderer.currentMinZ,width:this.webglRenderer.currentMaxX-this.webglRenderer.currentMinX,height:this.webglRenderer.currentMaxZ-this.webglRenderer.currentMinZ},t,n)}zoomFit(t,n=.9,r=300,o=!1,s=!0,a=!1){if(!this.webglRenderer.container)return;let l=this.webglRenderer.container.nativeElement,c=l.clientWidth*n,d=l.clientHeight*n,u=t.width/t.height,h=c/d,p=o?this.curScale:Math.abs(u>h?this.convertXFromScreenToScene(c)/t.width:this.convertZFromScreenToScene(d)/t.height),f=t.x+t.width/2,m=t.y+t.height/2;if(!o&&s){let y=this.convertZFromScreenToScene(45)/30;if(p=Math.min(y,p),a){let g=this.convertZFromScreenToScene(20)/30;p{let o=n.nodesById[t];this.zoomFit({x:this.webglRenderer.getNodeX(o),y:this.webglRenderer.getNodeY(o),width:this.webglRenderer.getNodeWidth(o),height:this.webglRenderer.getNodeHeight(o)},.9,r,!1,!0,!0)},0):setTimeout(()=>{this.zoomFitGraph(.9,r)})}addToScene(t){t&&this.scene.add(t)}removeFromScene(t){t&&this.scene.remove(t)}convertXFromSceneToScreen(t){if(!this.webglRenderer.container)return 0;let n=this.webglRenderer.container.nativeElement,r=n.clientWidth,o=r/n.clientHeight;return t/(Sr/1*o)/-2*r}convertZFromSceneToScreen(t){if(!this.webglRenderer.container)return 0;let r=this.webglRenderer.container.nativeElement.clientHeight;return t*1*r/Sr/2}convertXFromScreenToScene(t){if(!this.webglRenderer.container)return 0;let n=this.webglRenderer.container.nativeElement,r=n.clientWidth,o=r/n.clientHeight;return t/r*-2*(Sr/1*o)}convertZFromScreenToScene(t,n=1){if(!this.webglRenderer.container)return 0;let o=this.webglRenderer.container.nativeElement.clientHeight;return t*Sr*2/n/o}convertScenePosToScreen(t,n){let r=this.webglRenderer.container.nativeElement,o=r.clientWidth,s=r.clientHeight,a=new ts.Vector3(t,0,n);return a.project(this.camera),{x:a.x*o/2+o/2,y:-(a.y*s/2)+s/2}}convertScreenPosToScene(t,n){let r=new ts.Vector3;r.set(t/this.webglRenderer.canvas.nativeElement.offsetWidth*2-1,-(n/this.webglRenderer.canvas.nativeElement.offsetHeight)*2+1,-1);let o=r.unproject(this.camera);return{x:o.x,y:o.z}}handleZoom(){this.curScale=ht.transform.k,this.curTranslateX=ht.transform.x,this.curTranslateY=ht.transform.y,requestAnimationFrame(()=>{this.camera&&(this.setCameraFrustum(),this.webglRenderer.updateNodeBgColorWhenFar(),this.render(),this.webglRenderer.handleHoveredGroupNodeIconChanged())})}handleZoomEnd(t,n){if(ht.sourceEvent&&ht.sourceEvent.type==="mouseup"){let r=Math.abs(this.curTranslateX-t),o=Math.abs(this.curTranslateY-n);r>=0&&r<=3&&o>=0&&o<=3&&this.webglRenderer.handleClickOnGraph(ht.sourceEvent.shiftKey)}}setCameraFrustum(){let t=this.webglRenderer.container.nativeElement,n=t.clientWidth,r=t.clientHeight,o=n/r,s=this.curTranslateX-n/2,a=this.curTranslateY-r/2;this.camera.left=-Sr/this.curScale*o-s/n*2*Sr/this.curScale*o,this.camera.right=Sr/this.curScale*o-s/n*2*Sr/this.curScale*o,this.camera.top=Sr/this.curScale+a*Sr/this.curScale/r*2,this.camera.bottom=-Sr/this.curScale+a*Sr/this.curScale/r*2,this.camera.updateProjectionMatrix()}resizeRendererToDisplaySize(t=!0){let n=this.webglRenderer.container.nativeElement,r=this.renderer.domElement,o=n.clientWidth,s=n.clientHeight;if(o===0||s===0)return;if(r.width!==o||r.height!==s){if(this.savedCenterX==null&&this.savedCenterY==null){let{x:l,y:c}=this.convertScreenPosToScene(o/2,s/2);this.savedCenterX=l,this.savedCenterY=c}this.renderer.setSize(o,s,!1),this.webglRenderer.canvas.nativeElement.style.width="100%",this.webglRenderer.canvas.nativeElement.style.height="100%",this.setCameraFrustum(),this.render(),this.zoomFit({x:this.savedCenterX,y:this.savedCenterY,width:1e-7,height:1e-7},.9,0,!0),this.resizeTimeoutRef>=0&&window.clearTimeout(this.resizeTimeoutRef),this.resizeTimeoutRef=window.setTimeout(()=>{this.savedCenterX=null,this.savedCenterY=null},500)}}centerViewAt(t,n,r,o=300){if(!this.webglRenderer.container)return;let s=this.webglRenderer.container.nativeElement,a=s.clientWidth,l=s.clientHeight,c=a/l,d=-2*Sr*c/2/r+t,u=-n+Sr/r,h=Nd.scale(r).translate(this.convertXFromSceneToScreen(d),this.convertZFromSceneToScreen(u)),p=Go(s);o===0?p.call(this.zoom.transform,h):p.transition().duration(this.webglRenderer.appService.testMode?0:o).ease(XT).call(this.zoom.transform,h)}static \u0275fac=function(n){return new(n||i)};static \u0275prov=J({token:i,factory:i.\u0275fac})}return i})();var rf=function(i){return i.COLOR="COLOR",i.NUMBER="NUMBER",i}(rf||{}),Due={type:rf.COLOR,label:"Bg color",id:Ws.NODE_BG_COLOR,defaultValue:"#ffffff"},Pue={type:rf.COLOR,label:"Border color",id:Ws.NODE_BORDER_COLOR,defaultValue:"#777777"},Oue={type:rf.COLOR,label:"Text color",id:Ws.NODE_TEXT_COLOR,defaultValue:"#041e49"},LG=[Due,Pue,Oue],kG="model_explorer_node_styler_rules",ua=(()=>{class i{appService;localStorageService;rules=ut([]);matchedNodes=ut({});hasNonEmptyNodeStylerRules=Xt(()=>this.rules().filter(t=>yh(t.queries)&&Object.keys(t.styles).length>0).length>0);constructor(t,n){if(this.appService=t,this.localStorageService=n,lt(()=>{let r=this.rules();this.appService.testMode||this.localStorageService.setItem(kG,JSON.stringify(r)),this.computeMatchedNodes(r)},{allowSignalWrites:!0}),this.appService.testMode){let r=new URLSearchParams(document.location.search),o=decodeURIComponent(r.get("test_node_styler_rules")||"");this.updateRules(o===""?[]:JSON.parse(o))}else{let r=this.localStorageService.getItem(kG)||"",o=r===""?[]:JSON.parse(r);this.updateRules(o)}}addNewRule(){this.rules.update(t=>{let n=[...t];return n.push({queries:[{type:Fn.NODE_TYPE,nodeType:mr.OP_NODES},{type:Fn.REGEX,queryRegex:"",matchTypes:[bt.NODE_LABEL]}],nodeType:mr.OP_NODES,styles:{},version:Gb.V2}),n})}moveUpRule(t){this.rules.update(n=>{let r=[...n],o=n[t];return r.splice(t,1),r.splice(t-1,0,o),r})}moveDownRule(t){this.rules.update(n=>{let r=[...n],o=n[t];return r.splice(t,1),r.splice(t+1,0,o),r})}duplicateRule(t){this.rules.update(n=>{let r=JSON.parse(JSON.stringify(n[t]));return[...n.slice(0,t),r,...n.slice(t)]})}updateRules(t){this.rules.set(this.convertOldRulesIfNecessary(t))}updateQueries(t,n){this.rules.update(r=>{let o=r[t];return o.queries=n,[...r]})}toggleStyle(t,n,r){this.rules.update(o=>{let s=o[t];return r==null?s.styles[n.id]==null?s.styles[n.id]={id:n.id,value:n.defaultValue}:delete s.styles[n.id]:r?s.styles[n.id]={id:n.id,value:n.defaultValue}:delete s.styles[n.id],[...o]})}updateStyleValue(t,n,r){this.rules.update(o=>{let s=o[t],a=s.styles[n.id];return a&&(typeof a=="string"?s.styles[n.id]=r:a.value=r),[...o]})}deleteRule(t){this.rules.update(n=>{let r=[...n];return r.splice(t,1),r})}convertOldRulesIfNecessary(t){return t.map(n=>{if(n.version==null&&n.nodeType){let r={type:Fn.NODE_TYPE,nodeType:n.nodeType};n.queries.unshift(r),n.version=Gb.V2}return n})}computeMatchedNodes(t){let n=Jb(t),r={};if(t.length>0&&t.some(o=>yh(o.queries))){let o=this.appService.panes();for(let s=0;sthis._finishDismiss())}dismiss(){this._afterDismissed.closed||this.containerInstance.exit(),clearTimeout(this._durationTimeoutId)}dismissWithAction(){this._onAction.closed||(this._dismissedByAction=!0,this._onAction.next(),this._onAction.complete(),this.dismiss()),clearTimeout(this._durationTimeoutId)}closeWithAction(){this.dismissWithAction()}_dismissAfter(e){this._durationTimeoutId=setTimeout(()=>this.dismiss(),Math.min(e,kue))}_open(){this._afterOpened.closed||(this._afterOpened.next(),this._afterOpened.complete())}_finishDismiss(){this._overlayRef.dispose(),this._onAction.closed||this._onAction.complete(),this._afterDismissed.next({dismissedByAction:this._dismissedByAction}),this._afterDismissed.complete(),this._dismissedByAction=!1}afterDismissed(){return this._afterDismissed}afterOpened(){return this.containerInstance._onEnter}onAction(){return this._onAction}},FG=new ge("MatSnackBarData"),of=class{constructor(){this.politeness="assertive",this.announcementMessage="",this.duration=0,this.data=null,this.horizontalPosition="center",this.verticalPosition="bottom"}},Lue=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275dir=ze({type:e,selectors:[["","matSnackBarLabel",""]],hostAttrs:[1,"mat-mdc-snack-bar-label","mdc-snackbar__label"],standalone:!0});let i=e;return i})(),Fue=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275dir=ze({type:e,selectors:[["","matSnackBarActions",""]],hostAttrs:[1,"mat-mdc-snack-bar-actions","mdc-snackbar__actions"],standalone:!0});let i=e;return i})(),Bue=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275dir=ze({type:e,selectors:[["","matSnackBarAction",""]],hostAttrs:[1,"mat-mdc-snack-bar-action","mdc-snackbar__action"],standalone:!0});let i=e;return i})(),BG=(()=>{let e=class e{constructor(n,r){this.snackBarRef=n,this.data=r}action(){this.snackBarRef.dismissWithAction()}get hasAction(){return!!this.data.action}};e.\u0275fac=function(r){return new(r||e)(M(Y_),M(FG))},e.\u0275cmp=le({type:e,selectors:[["simple-snack-bar"]],hostAttrs:[1,"mat-mdc-simple-snack-bar"],exportAs:["matSnackBar"],standalone:!0,features:[ce],decls:3,vars:2,consts:[["matSnackBarLabel",""],["matSnackBarActions",""],["mat-button","","matSnackBarAction","",3,"click"]],template:function(r,o){r&1&&(v(0,"div",0),S(1),b(),W(2,Rue,3,1,"div",1)),r&2&&(w(),Me(" ",o.data.message,` -`),w(),ae(o.hasAction?2:-1))},dependencies:[zi,Lue,Fue,Bue],styles:[".mat-mdc-simple-snack-bar{display:flex}"],encapsulation:2,changeDetection:0});let i=e;return i})(),Vue={snackBarState:ai("state",[mi("void, hidden",Qt({transform:"scale(0.8)",opacity:0})),mi("visible",Qt({transform:"scale(1)",opacity:1})),On("* => visible",Pn("150ms cubic-bezier(0, 0, 0.2, 1)")),On("* => void, * => hidden",Pn("75ms cubic-bezier(0.4, 0.0, 1, 1)",Qt({opacity:0})))])},zue=0,Uue=(()=>{let e=class e extends la{constructor(n,r,o,s,a){super(),this._ngZone=n,this._elementRef=r,this._changeDetectorRef=o,this._platform=s,this.snackBarConfig=a,this._document=te(Ye),this._trackedModals=new Set,this._announceDelay=150,this._destroyed=!1,this._onAnnounce=new me,this._onExit=new me,this._onEnter=new me,this._animationState="void",this._liveElementId=`mat-snack-bar-container-live-${zue++}`,this.attachDomPortal=l=>{this._assertNotAttached();let c=this._portalOutlet.attachDomPortal(l);return this._afterPortalAttached(),c},a.politeness==="assertive"&&!a.announcementMessage?this._live="assertive":a.politeness==="off"?this._live="off":this._live="polite",this._platform.FIREFOX&&(this._live==="polite"&&(this._role="status"),this._live==="assertive"&&(this._role="alert"))}attachComponentPortal(n){this._assertNotAttached();let r=this._portalOutlet.attachComponentPortal(n);return this._afterPortalAttached(),r}attachTemplatePortal(n){this._assertNotAttached();let r=this._portalOutlet.attachTemplatePortal(n);return this._afterPortalAttached(),r}onAnimationEnd(n){let{fromState:r,toState:o}=n;if((o==="void"&&r!=="void"||o==="hidden")&&this._completeExit(),o==="visible"){let s=this._onEnter;this._ngZone.run(()=>{s.next(),s.complete()})}}enter(){this._destroyed||(this._animationState="visible",this._changeDetectorRef.markForCheck(),this._changeDetectorRef.detectChanges(),this._screenReaderAnnounce())}exit(){return this._ngZone.run(()=>{this._animationState="hidden",this._changeDetectorRef.markForCheck(),this._elementRef.nativeElement.setAttribute("mat-exit",""),clearTimeout(this._announceTimeoutId)}),this._onExit}ngOnDestroy(){this._destroyed=!0,this._clearFromModals(),this._completeExit()}_completeExit(){queueMicrotask(()=>{this._onExit.next(),this._onExit.complete()})}_afterPortalAttached(){let n=this._elementRef.nativeElement,r=this.snackBarConfig.panelClass;r&&(Array.isArray(r)?r.forEach(a=>n.classList.add(a)):n.classList.add(r)),this._exposeToModals();let o=this._label.nativeElement,s="mdc-snackbar__label";o.classList.toggle(s,!o.querySelector(`.${s}`))}_exposeToModals(){let n=this._liveElementId,r=this._document.querySelectorAll('body > .cdk-overlay-container [aria-modal="true"]');for(let o=0;o{let r=n.getAttribute("aria-owns");if(r){let o=r.replace(this._liveElementId,"").trim();o.length>0?n.setAttribute("aria-owns",o):n.removeAttribute("aria-owns")}}),this._trackedModals.clear()}_assertNotAttached(){this._portalOutlet.hasAttached()}_screenReaderAnnounce(){this._announceTimeoutId||this._ngZone.runOutsideAngular(()=>{this._announceTimeoutId=setTimeout(()=>{let n=this._elementRef.nativeElement.querySelector("[aria-hidden]"),r=this._elementRef.nativeElement.querySelector("[aria-live]");if(n&&r){let o=null;this._platform.isBrowser&&document.activeElement instanceof HTMLElement&&n.contains(document.activeElement)&&(o=document.activeElement),n.removeAttribute("aria-hidden"),r.appendChild(n),o?.focus(),this._onAnnounce.next(),this._onAnnounce.complete()}},this._announceDelay)})}};e.\u0275fac=function(r){return new(r||e)(M(Le),M(Re),M(Fe),M(gn),M(of))},e.\u0275cmp=le({type:e,selectors:[["mat-snack-bar-container"]],viewQuery:function(r,o){if(r&1&&(Te(Qo,7),Te(Aue,7)),r&2){let s;be(s=ye())&&(o._portalOutlet=s.first),be(s=ye())&&(o._label=s.first)}},hostAttrs:[1,"mdc-snackbar","mat-mdc-snack-bar-container"],hostVars:1,hostBindings:function(r,o){r&1&&YE("@state.done",function(a){return o.onAnimationEnd(a)}),r&2&&Xf("@state",o._animationState)},standalone:!0,features:[nn,ce],decls:6,vars:3,consts:[["label",""],[1,"mdc-snackbar__surface","mat-mdc-snackbar-surface"],[1,"mat-mdc-snack-bar-label"],["aria-hidden","true"],["cdkPortalOutlet",""]],template:function(r,o){r&1&&(v(0,"div",1)(1,"div",2,0)(3,"div",3),W(4,Nue,0,0,"ng-template",4),b(),ee(5,"div"),b()()),r&2&&(w(5),Ze("aria-live",o._live)("role",o._role)("id",o._liveElementId))},dependencies:[Qo],styles:[".mat-mdc-snack-bar-container{display:flex;align-items:center;justify-content:center;box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0);margin:8px}.mat-mdc-snack-bar-handset .mat-mdc-snack-bar-container{width:100vw}.mat-mdc-snackbar-surface{box-shadow:0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);display:flex;align-items:center;justify-content:flex-start;box-sizing:border-box;padding-left:0;padding-right:8px}[dir=rtl] .mat-mdc-snackbar-surface{padding-right:0;padding-left:8px}.mat-mdc-snack-bar-container .mat-mdc-snackbar-surface{min-width:344px;max-width:672px}.mat-mdc-snack-bar-handset .mat-mdc-snackbar-surface{width:100%;min-width:0}.cdk-high-contrast-active .mat-mdc-snackbar-surface{outline:solid 1px}.mat-mdc-snack-bar-container .mat-mdc-snackbar-surface{color:var(--mdc-snackbar-supporting-text-color);border-radius:var(--mdc-snackbar-container-shape);background-color:var(--mdc-snackbar-container-color)}.mdc-snackbar__label{width:100%;flex-grow:1;box-sizing:border-box;margin:0;padding:14px 8px 14px 16px}[dir=rtl] .mdc-snackbar__label{padding-left:8px;padding-right:16px}.mat-mdc-snack-bar-container .mdc-snackbar__label{font-family:var(--mdc-snackbar-supporting-text-font);font-size:var(--mdc-snackbar-supporting-text-size);font-weight:var(--mdc-snackbar-supporting-text-weight);line-height:var(--mdc-snackbar-supporting-text-line-height)}.mat-mdc-snack-bar-actions{display:flex;flex-shrink:0;align-items:center;box-sizing:border-box}.mat-mdc-snack-bar-handset,.mat-mdc-snack-bar-container,.mat-mdc-snack-bar-label{flex:1 1 auto}.mat-mdc-snack-bar-container .mat-mdc-button.mat-mdc-snack-bar-action:not(:disabled){color:var(--mat-snack-bar-button-color);--mat-text-button-state-layer-color:currentColor;--mat-text-button-ripple-color:currentColor}.mat-mdc-snack-bar-container .mat-mdc-button.mat-mdc-snack-bar-action:not(:disabled) .mat-ripple-element{opacity:.1}"],encapsulation:2,data:{animation:[Vue.snackBarState]}});let i=e;return i})();function Hue(){return new of}var Gue=new ge("mat-snack-bar-default-options",{providedIn:"root",factory:Hue}),wu=(()=>{let e=class e{get _openedSnackBarRef(){let n=this._parentSnackBar;return n?n._openedSnackBarRef:this._snackBarRefAtThisLevel}set _openedSnackBarRef(n){this._parentSnackBar?this._parentSnackBar._openedSnackBarRef=n:this._snackBarRefAtThisLevel=n}constructor(n,r,o,s,a,l){this._overlay=n,this._live=r,this._injector=o,this._breakpointObserver=s,this._parentSnackBar=a,this._defaultConfig=l,this._snackBarRefAtThisLevel=null,this.simpleSnackBarComponent=BG,this.snackBarContainerComponent=Uue,this.handsetCssClass="mat-mdc-snack-bar-handset"}openFromComponent(n,r){return this._attach(n,r)}openFromTemplate(n,r){return this._attach(n,r)}open(n,r="",o){let s=Z(Z({},this._defaultConfig),o);return s.data={message:n,action:r},s.announcementMessage===n&&(s.announcementMessage=void 0),this.openFromComponent(this.simpleSnackBarComponent,s)}dismiss(){this._openedSnackBarRef&&this._openedSnackBarRef.dismiss()}ngOnDestroy(){this._snackBarRefAtThisLevel&&this._snackBarRefAtThisLevel.dismiss()}_attachSnackBarContainer(n,r){let o=r&&r.viewContainerRef&&r.viewContainerRef.injector,s=xt.create({parent:o||this._injector,providers:[{provide:of,useValue:r}]}),a=new Pi(this.snackBarContainerComponent,r.viewContainerRef,s),l=n.attach(a);return l.instance.snackBarConfig=r,l.instance}_attach(n,r){let o=Z(Z(Z({},new of),this._defaultConfig),r),s=this._createOverlay(o),a=this._attachSnackBarContainer(s,o),l=new Y_(a,s);if(n instanceof Hn){let c=new Wr(n,null,{$implicit:o.data,snackBarRef:l});l.instance=a.attachTemplatePortal(c)}else{let c=this._createInjector(o,l),d=new Pi(n,void 0,c),u=a.attachComponentPortal(d);l.instance=u.instance}return this._breakpointObserver.observe(_y.HandsetPortrait).pipe(Xe(s.detachments())).subscribe(c=>{s.overlayElement.classList.toggle(this.handsetCssClass,c.matches)}),o.announcementMessage&&a._onAnnounce.subscribe(()=>{this._live.announce(o.announcementMessage,o.politeness)}),this._animateSnackBar(l,o),this._openedSnackBarRef=l,this._openedSnackBarRef}_animateSnackBar(n,r){n.afterDismissed().subscribe(()=>{this._openedSnackBarRef==n&&(this._openedSnackBarRef=null),r.announcementMessage&&this._live.clear()}),this._openedSnackBarRef?(this._openedSnackBarRef.afterDismissed().subscribe(()=>{n.containerInstance.enter()}),this._openedSnackBarRef.dismiss()):n.containerInstance.enter(),r.duration&&r.duration>0&&n.afterOpened().subscribe(()=>n._dismissAfter(r.duration))}_createOverlay(n){let r=new hi;r.direction=n.direction;let o=this._overlay.position().global(),s=n.direction==="rtl",a=n.horizontalPosition==="left"||n.horizontalPosition==="start"&&!s||n.horizontalPosition==="end"&&s,l=!a&&n.horizontalPosition!=="center";return a?o.left("0"):l?o.right("0"):o.centerHorizontally(),n.verticalPosition==="top"?o.top("0"):o.bottom("0"),r.positionStrategy=o,this._overlay.create(r)}_createInjector(n,r){let o=n&&n.viewContainerRef&&n.viewContainerRef.injector;return xt.create({parent:o||this._injector,providers:[{provide:Y_,useValue:r},{provide:FG,useValue:n.data}]})}};e.\u0275fac=function(r){return new(r||e)(X(Gt),X(Ey),X(xt),X(Th),X(e,12),X(Gue))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();var VG=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=ot({type:e}),e.\u0275inj=rt({providers:[wu],imports:[eo,Ms,In,qt,BG,qt]});let i=e;return i})();var jue=["container"],Wue=["canvas"],$ue=["snapshotCanvas"],que=["pngDownloaderCanvas"],Yue=["hoverToolbar"],Xue=["ioPicker"],Zue=["subgraphMenuTrigger"],Que=["groupNodeIconMatTooltip"],Kue=["ioPickerMatTooltip"],Jue=["moreActionsMenuTrigger"],ehe=["rangeZoomDragArea"],the=["dragToSelectDragArea"];function nhe(i,e){if(i&1){let t=ie();v(0,"div",33),H("click",function(){V(t);let r=I();return z(r.handleClickCollapseAll(r.hoveredNodeIdWhenClickingMoreActions))}),v(1,"mat-icon"),S(2,"unfold_less_double"),b(),S(3," Collapse layer & all sub-layers "),b()}}function ihe(i,e){if(i&1){let t=ie();v(0,"div",34),H("click",function(r){V(t);let o=I();return z(o.handleClickOpenGroupNodeInPopup(r,o.hoveredNodeIdWhenClickingMoreActions))}),v(1,"mat-icon"),S(2,"open_in_new"),b(),S(3," Open layer in popup "),b()}}function rhe(i,e){if(i&1){let t=ie();v(0,"div",35),H("click",function(){let r=V(t).$implicit,o=I();return z(o.handleClickSubgraphId(r))}),v(1,"mat-icon"),S(2,"subdirectory_arrow_right"),b(),S(3),b()}if(i&2){let t=e.$implicit;w(3),Me(" ",t," ")}}function ohe(i,e){if(i&1&&(v(0,"div",32),S(1),b()),i&2){let t=I();w(),Me("FPS: ",t.fps,"")}}var she=1.2,ahe=2,zG=1.5,lhe=200,OO=400,che=1,UG=14,dhe=5e3,uhe=-Kt*.5,RO=Kt*.4,HG=Kt*.3,hhe=Kt*.4,phe="______",vn=Nn,RC=function(i){return i[i.NODE=0]="NODE",i[i.EDGE=1]="EDGE",i}(RC||{}),AC=(()=>{class i{changeDetectorRef;destroyRef;ngZone;nodeDataProviderExtensionService;nodeStylerService;overlay;snackBar;splitPaneService;subgraphSelectionService;uiStateService;viewContainerRef;webglRendererAttrsTableService;webglRendererEdgeTextsService;webglRendererIdenticalLayerService;webglRendererIoHighlightService;webglRendererIoTracingService;webglRendererNdpService;webglRendererSearchResultsService;webglRendererSnapshotService;webglRendererSubgraphSelectionService;webglRendererThreejsService;workerService;modelGraph;rendererId;paneId;rootNodeId;inPopup=!1;benchmark=!1;openInPopupClicked=new Ie;container;canvas;snapshotCanvas;pngDownloaderCanvas;hoverToolbar;ioPicker;subgraphMenuTrigger;groupNodeIconMatTooltip;ioPickerMatTooltip;moreActionsMenuTrigger;rangeZoomDragArea;dragToSelectDragArea;appService=te(st);threejsService=te(wr);SELECTED_NODE_BORDER_COLOR=new vn.Color("#1A73E8");SELECTED_NODE_BG_COLOR=new vn.Color("#C2E7FF");HOVERED_NODE_BORDER_COLOR=new vn.Color("#000");HOVERED_GROUP_NODE_BORDER_COLOR=new vn.Color("#666");IDENTICAL_GROUPS_BG_COLOR=new vn.Color("#e2edff");NODE_LABEL_COLOR=new vn.Color("#041E49");OP_NODE_BORDER_COLOR=new vn.Color("#777");GROUP_NODE_BORDER_COLOR=new vn.Color("#aaa");GROUP_NODE_LABEL_SEPARATOR_COLOR=new vn.Color("#DADCE0");GROUP_NODE_ICON_COLOR=new vn.Color("#444746");GROUP_NODE_PIN_TO_TOP_SEPARATOR_COLOR=new vn.Color("#bbb");EDGE_COLOR=new vn.Color(this.appService.config()?.edgeColor||"#aaa");EDGE_COLOR_INCOMING=new vn.Color("#009e73");EDGE_TEXT_COLOR_INCOMING=new vn.Color("#125341");EDGE_COLOR_OUTGOING=new vn.Color("#d55e00");EDGE_TEXT_COLOR_OUTGOING=new vn.Color("#994d11");ARTIFCIAL_GROUPS_BORDER_COLOR=new vn.Color("#800080");SUBGRAPH_INDICATOR_BORDER_COLOR=new vn.Color("#135cbb");SUBGRAPH_INDICATOR_BG_COLOR=new vn.Color("#d5e7ff");GROUP_NODE_BG_COLORS=(()=>{let s=[];for(let a=0;a<6;a++){let l=96+a*-2.4;s.push(new vn.Color(`hsl(212, 40%, ${Math.round(l)}%)`))}return s})();graphId="";curModelGraph;tracing=!1;showBusySpinner=!1;selectedNodeId="";flashing=!1;hoveredNodeIdWhenClickingMoreActions="";currentMinX=0;currentMaxX=0;currentMinZ=0;currentMaxZ=0;groupNodeIcon={top:-1e3,left:-1e3,width:0,height:0};ioPickerTop=-1e3;ioPickerLeft=-1e3;ioPickerWidth=0;ioPickerHeight=0;ioPickerTooltip="";subgraphIndicatorTop=-1e3;subgraphIndicatorLeft=-1e3;subgraphIndicatorWidth=0;subgraphIndicatorHeight=0;curSubgraphIdsForMenu=[];curShowOnNodeItemTypes={};curShowOnEdgeItemTypes={};nodesToRender=[];nodesToRenderMap={};edgesToRender=[];curNodeDataProviderRuns={};curHiddenInputOpNodeIds={};curHiddenOutputIds={};elementsToRender=[];updateNodesStylesSavedSelectedNodeId="";updateNodesStylesSavedIoTracingData;curSelectedRenderer;portal=null;showBusySpinnerTimeoutRef=-1;prevNodeDataProviderData=void 0;nodeBodies=new Oi(6);groupNodeIcons=new Wi(this.threejsService);groupNodeIconBgs=new Oi(99);artificialGroupBorders=new Oi(6);subgraphIndicatorBgs=new Oi(3);subgraphIndicatorIcons=new Wi(this.threejsService);edges=new yu(this.EDGE_COLOR,che);texts=new Wi(this.threejsService);mousePos=new vn.Vector2;draggingArea=!1;hoveredNodeId="";hoveredGroupNodeIconId="";nodeIdForHoveredGroupNodeIcon="";hoveredIoPickerId="";hoveredSubgraphIndicatorId="";savedUpdateNodeBgWhenFarProgress=-1;curNodeStylerRules=[];curProcessedNodeStylerRules=[];renderedEdgeIdsToHide=[];selectedNodeInfo=Xt(()=>{let t=this.appService.getPaneById(this.paneId);if(t)return t.selectedNodeInfo});messageEventListener=t=>{this.hideBusySpinner();let n=t.data;switch(n.eventType){case Ji.EXPAND_OR_COLLAPSE_GROUP_NODE_RESP:this.rendererId===n.rendererId&&this.handleExpandOrCollapseGroupNodeDone(n.modelGraph,n.rendererId,n.groupNodeId,n.expanded,n.deepestExpandedGroupNodeIds);break;case Ji.RELAYOUT_GRAPH_RESP:this.rendererId===n.rendererId&&this.handleReLayoutGraphDone(n.rendererId,n.modelGraph,n.selectedNodeId,n.forRestoringUiState,n.rectToZoomFit,n.forRestoringSnapshotAfterTogglingFlattenLayers,n.targetDeepestGroupNodeIdsToExpand);break;case Ji.LOCATE_NODE_RESP:this.rendererId===n.rendererId&&this.handleLocateNodeDone(n.rendererId,n.modelGraph,n.nodeId,n.deepestExpandedGroupNodeIds,n.noNodeShake===!0,n.select===!0);break;case Ji.PREPARE_POPUP_RESP:this.paneId===n.paneId&&this.openInPopupClicked.emit({id:n.rendererId,groupNode:n.modelGraph.nodesById[n.groupNodeId],initialPosition:n.initialPosition,curModelGraph:n.modelGraph});break;default:break}};constructor(t,n,r,o,s,a,l,c,d,u,h,p,f,m,y,g,_,x,C,T,D,E){this.changeDetectorRef=t,this.destroyRef=n,this.ngZone=r,this.nodeDataProviderExtensionService=o,this.nodeStylerService=s,this.overlay=a,this.snackBar=l,this.splitPaneService=c,this.subgraphSelectionService=d,this.uiStateService=u,this.viewContainerRef=h,this.webglRendererAttrsTableService=p,this.webglRendererEdgeTextsService=f,this.webglRendererIdenticalLayerService=m,this.webglRendererIoHighlightService=y,this.webglRendererIoTracingService=g,this.webglRendererNdpService=_,this.webglRendererSearchResultsService=x,this.webglRendererSnapshotService=C,this.webglRendererSubgraphSelectionService=T,this.webglRendererThreejsService=D,this.workerService=E,this.webglRendererAttrsTableService.init(this),this.webglRendererEdgeTextsService.init(this),this.webglRendererIdenticalLayerService.init(this),this.webglRendererIoHighlightService.init(this),this.webglRendererIoTracingService.init(this),this.webglRendererNdpService.init(this),this.webglRendererSearchResultsService.init(this),this.webglRendererSnapshotService.init(this),this.webglRendererSubgraphSelectionService.init(this),this.webglRendererThreejsService.init(this),this.workerService.worker.addEventListener("message",this.messageEventListener),lt(()=>{this.curSelectedRenderer=this.appService.curSelectedRenderer()}),this.appService.spaceKeyToZoomFitClicked.pipe(Vi(this.destroyRef)).subscribe(P=>{this.rendererId===this.curSelectedRenderer?.id&&this.webglRendererThreejsService.zoomFitGraph()}),lt(()=>{let P=this.appService.curToLocateNodeInfo();P?.rendererId===this.rendererId&&(P&&this.sendLocateNodeRequest(P.nodeId,P.rendererId,P.noNodeShake,P.select),this.appService.curToLocateNodeInfo.set(void 0))},{allowSignalWrites:!0}),lt(()=>{let P=this.appService.getPaneById(this.paneId);if(!P||!P.modelGraph)return;let Y=P.nodeIdToReveal;if(!Y)return;this.revealNode(Y)&&this.appService.setNodeToReveal(this.paneId,void 0)},{allowSignalWrites:!0}),lt(()=>{let P=this.nodeDataProviderExtensionService.getRunsForModelGraph(this.curModelGraph);this.curNodeDataProviderRuns={};for(let Y of P)this.curNodeDataProviderRuns[Y.runId]=Y}),lt(()=>{let P=this.webglRendererNdpService.curNodeDataProviderResults();P!==this.prevNodeDataProviderData&&(this.handleCurNodeDataProviderResultsChanged(),this.prevNodeDataProviderData=P)}),lt(()=>{if(!this.appService.getPaneById(this.paneId))return;let Y=this.appService.getShowOnNodeItemTypes(this.paneId,this.rendererId);JSON.stringify(Y)!==JSON.stringify(this.curShowOnNodeItemTypes)&&(this.curShowOnNodeItemTypes=Y,this.sendRelayoutGraphRequest(this.selectedNodeId))}),this.appService.expandOrCollapseAllGraphLayersClicked.pipe(Vi(this.destroyRef)).subscribe(P=>{P.rendererId===this.rendererId&&this.sendExpandOrCollapseGroupNodeRequest(void 0,!0,P.expandOrCollapse)}),lt(()=>{let P=this.selectedNodeInfo();P?.rendererId===this.rendererId&&(this.selectedNodeId=P?.nodeId||"",this.tracing&&(this.selectedNodeId&&Et(this.curModelGraph.nodesById[this.selectedNodeId])?this.webglRendererIoTracingService.genTracingData():this.webglRendererIoTracingService.clearTracingData()),this.webglRendererIoHighlightService.updateIncomingAndOutgoingHighlights(),this.webglRendererIdenticalLayerService.updateIdenticalLayerIndicators(),this.updateNodesStyles(),this.webglRendererThreejsService.render())}),this.appService.downloadAsPngClicked.pipe(Vi(this.destroyRef)).subscribe(P=>{P.rendererId===this.rendererId&&this.handleDownloadAsPng(P.fullGraph,P.transparentBackground)}),lt(()=>{let P=this.nodeStylerService.rules().filter($=>yh($.queries)&&Object.keys($.styles).length>0),Y=JSON.stringify(P);JSON.stringify(this.curNodeStylerRules)!==Y&&(this.curNodeStylerRules=JSON.parse(Y),this.curProcessedNodeStylerRules=Jb(this.curNodeStylerRules),this.renderGraph(),this.webglRendererIoHighlightService.updateIncomingAndOutgoingHighlights(),this.webglRendererIdenticalLayerService.updateIdenticalLayerIndicators(),this.updateNodesStyles(),this.webglRendererThreejsService.render())}),lt(()=>{if(!this.appService.getPaneById(this.paneId))return;let Y=this.appService.getShowOnEdgeItemTypes(this.paneId,this.rendererId);JSON.stringify(Y)!==JSON.stringify(this.curShowOnEdgeItemTypes)&&(this.curShowOnEdgeItemTypes=Y,this.renderGraph(),this.webglRendererIoHighlightService.updateIncomingAndOutgoingHighlights(),this.webglRendererIdenticalLayerService.updateIdenticalLayerIndicators(),this.updateNodesStyles(),this.webglRendererThreejsService.render())}),lt(()=>{this.curHiddenInputOpNodeIds=this.splitPaneService.hiddenInputOpNodeIds(),this.curHiddenOutputIds=this.splitPaneService.hiddenOutputIds(),this.webglRendererIoHighlightService.updateIncomingAndOutgoingHighlights(),this.updateNodesStyles(),this.webglRendererThreejsService.render()})}ngOnInit(){this.graphId=this.modelGraph.id,this.curModelGraph=this.modelGraph,this.appService.updateCurrentModelGraph(this.paneId,this.curModelGraph),this.inPopup||(this.curShowOnNodeItemTypes=this.appService.getSavedShowOnNodeItemTypes(),this.curShowOnEdgeItemTypes=this.appService.getSavedShowOnEdgeItemTypes()),this.webglRendererThreejsService.setupZoomAndPan(this.container.nativeElement,1e-4,20),this.webglRendererThreejsService.setupThreeJs(),this.ngZone.runOutsideAngular(()=>{this.canvas.nativeElement.addEventListener("mousemove",s=>{this.handleMouseMove(s)})});let t=this.appService.curInitialUiState(),n=s=>{this.updateNodesAndEdgesToRender(),this.renderGraph(),this.webglRendererThreejsService.zoomFitGraph(.9,0);let a=this.appService.getPaneById(this.paneId);if(a?.snapshotToRestore!=null){let l=a.snapshotToRestore;this.curShowOnNodeItemTypes=a.snapshotToRestore.showOnNodeItemTypes||{},this.appService.setShowOnNode(this.paneId,this.rendererId,this.curShowOnNodeItemTypes),this.sendRelayoutGraphRequest(l.selectedNodeId||"",l.deepestExpandedGroupNodeIds||[],!1,l.rect,!0,l.showOnNodeItemTypes,!0),a.snapshotToRestore=void 0}else s!=null&&s!==""&&setTimeout(()=>{this.appService.curToLocateNodeInfo.set({nodeId:s,rendererId:this.rendererId,isGroupNode:!1,noNodeShake:!0})});this.sendExpandGroupNodeRequest(this.rootNodeId||"")};if(!t||t.paneStates.length===0||this.inPopup){let s=this.inPopup?void 0:this.appService.getPaneById(this.paneId)?.selectedNodeInfo?.nodeId;n(s)}else{let s=this.appService.getPaneIndexById(this.paneId),a=t.paneStates[s];if(!a)n();else{let l=a.deepestExpandedGroupNodeIds;if(l.length===1&&l[0]==="___all___"){let c=[];Pm(void 0,this.curModelGraph,c,!0),l=c}a.selectedNodeId!=""||l.length>0?this.sendRelayoutGraphRequest(a.selectedNodeId,l,!0):n(),this.uiStateService.setDeepestExpandedGroupNodeIds(a.deepestExpandedGroupNodeIds,s)}}let r=window;r[$b]==null&&(r[$b]={renderers:{}});let o=this.inPopup?-1:this.appService.getPaneIndexById(this.paneId);r[$b].renderers[o]=this,this.benchmark&&this.startBenchmark()}ngOnDestroy(){this.workerService.worker.removeEventListener("message",this.messageEventListener),this.webglRendererThreejsService.dispose(),document.body.style.cursor="default"}getActiveSelectedNodeInfo(){if(this.selectedNodeId)return{nodeId:this.selectedNodeId,rendererId:this.rendererId,isGroupNode:yt(this.curModelGraph.nodesById[this.selectedNodeId])}}toggleIoTrace(){this.tracing=!this.tracing,this.tracing?this.webglRendererIoTracingService.genTracingData():this.webglRendererIoTracingService.clearTracingData(),this.webglRendererIoHighlightService.updateIncomingAndOutgoingHighlights(),this.updateNodesStyles(),this.webglRendererThreejsService.render()}setZoomFactor(t){let n=this.container.nativeElement,r=this.webglRendererThreejsService.convertScreenPosToScene(0,0),o=this.webglRendererThreejsService.convertScreenPosToScene(n.offsetWidth,n.offsetHeight),s=Math.min(r.x,o.x),a=Math.max(r.x,o.x),l=Math.min(r.y,o.y),c=Math.max(r.y,o.y),d=a-s,u=c-l,h=(s+a)/2,p=(l+c)/2,f=h-d/2/t,m=h+d/2/t,y=p-u/2/t,g=p+u/2/t;this.webglRendererThreejsService.zoomFit({x:f,y,width:m-f,height:g-y},.9,0,!1,!1)}handleMouseDownCanvas(t){Dm&&(t.metaKey||t.ctrlKey)||!Dm&&t.ctrlKey?(this.draggingArea=!0,this.rangeZoomDragArea.start(t,(n,r,o,s,a)=>{let l=this.webglRendererThreejsService.convertScreenPosToScene(r,o),c=this.webglRendererThreejsService.convertScreenPosToScene(s,a),d=Math.min(l.x,c.x),u=Math.max(l.x,c.x),h=Math.min(l.y,c.y),p=Math.max(l.y,c.y);this.webglRendererThreejsService.zoomFit({x:d,y:h,width:u-d,height:p-h},.9,200,!1,!1),this.draggingArea=!1})):t.shiftKey&&this.webglRendererSubgraphSelectionService.enableSubgraphSelection&&(this.draggingArea=!0,this.dragToSelectDragArea.start(t,(n,r,o,s,a)=>{if(this.draggingArea=!1,n)this.hoveredNodeId?this.curModelGraph.nodesById[this.hoveredNodeId]&&this.handleShiftSelectNode(this.hoveredNodeId):this.handleClearSubgraphSelectedNodes();else{let l=this.webglRendererThreejsService.convertScreenPosToScene(r,o),c=this.webglRendererThreejsService.convertScreenPosToScene(s,a),d=Math.min(l.x,c.x),u=Math.max(l.x,c.x),h=Math.min(l.y,c.y),p=Math.max(l.y,c.y),f=[];for(let{node:m}of this.nodesToRender){let y=this.getNodeX(m),g=this.getNodeY(m),_=this.getNodeWidth(m),x=this.getNodeHeight(m),C=y,T=g,D=y+_,E=g+x,P=uD,$=h>E,U=p1&&(this.curSubgraphIdsForMenu=n,this.subgraphMenuTrigger.openMenu())}handleClickSubgraphId(t){this.openSubgraph(t)}handleDoubleClickOnGraph(t,n){this.selectedNodeId!==""&&!n&&(this.appService.updateDoubleClickedNode(this.selectedNodeId,this.curModelGraph.id,this.curModelGraph.collectionLabel||"",this.curModelGraph.nodesById[this.selectedNodeId]),this.handleToggleExpandCollapse(this.curModelGraph.nodesById[this.selectedNodeId],t))}handleClickOnGraph(t){this.hoveredNodeId?this.curModelGraph.nodesById[this.hoveredNodeId]&&(t||this.handleSelectNode(this.hoveredNodeId)):this.handleSelectNode("")}handleMouseEnterGroupNodeIcon(){this.groupNodeIconMatTooltip.show()}handleMouseLeaveGroupNodeIcon(){this.groupNodeIconMatTooltip.hide()}handleMouseEnterIoPicker(){this.ioPickerMatTooltip.show()}handleMouseLeaveIoPicker(){this.ioPickerMatTooltip.hide()}handleHoveredGroupNodeIconChanged(t){if(this.groupNodeIcon.top=-1e3,this.groupNodeIcon.left=-1e3,this.groupNodeIcon.width=0,this.groupNodeIcon.height=0,this.groupNodeIcon.tooltip=void 0,this.hoveredGroupNodeIconId!==""&&t!=null){let{x:n,y:r}=this.webglRendererThreejsService.convertScenePosToScreen(t.bound.x-t.bound.width/2,t.bound.y-t.bound.height/2),{x:o,y:s}=this.webglRendererThreejsService.convertScenePosToScreen(t.bound.x+t.bound.width/2,t.bound.y+t.bound.height/2);if(this.groupNodeIcon.top=r,this.groupNodeIcon.left=n,this.groupNodeIcon.width=o-n,this.groupNodeIcon.height=s-r,t.id.includes("_left")){let a=this.curModelGraph.nodesById[t.nodeId];this.groupNodeIcon.tooltip=a.expanded?"Collapse layer":"Expand layer"}else t.id.includes("_right")&&(this.groupNodeIcon.tooltip="More actions")}this.changeDetectorRef.detectChanges()}isNodeRendered(t){return this.nodesToRenderMap[t]!=null}sendLocateNodeRequest(t,n,r=!1,o=!1){if(this.showBusySpinnerWithDelay(),this.isNodeRendered(t))this.hideBusySpinner(),this.handleLocateNodeDone(n,this.curModelGraph,t,[],r,o,!0);else{let s={eventType:Ji.LOCATE_NODE_REQ,modelGraphId:this.curModelGraph.id,showOnNodeItemTypes:this.curShowOnNodeItemTypes,nodeDataProviderRuns:this.curNodeDataProviderRuns,nodeId:t,rendererId:n,noNodeShake:r,select:o};this.workerService.worker.postMessage(s)}}sendRelayoutGraphRequest(t,n,r=!1,o,s=!1,a,l){this.showBusySpinnerWithDelay();let c={eventType:Ji.RELAYOUT_GRAPH_REQ,modelGraphId:this.curModelGraph.id,showOnNodeItemTypes:a||this.curShowOnNodeItemTypes,nodeDataProviderRuns:this.curNodeDataProviderRuns,selectedNodeId:t,targetDeepestGroupNodeIdsToExpand:n,rendererId:this.rendererId,forRestoringUiState:r,rectToZoomFit:o,clearAllExpandStates:s,forRestoringSnapshotAfterTogglingFlattenLayers:l};this.workerService.worker.postMessage(c)}animateIntoPositions(t=n=>{this.updateAnimatinProgress(n)}){let n=Date.now(),r=()=>{let o=Date.now()-n,s=this.appService.testMode?1:Math.min(1,o/lhe);if(s=Math.sin(s*Math.PI/2),t(s),this.webglRendererThreejsService.render(),s>=1){t(s),this.webglRendererThreejsService.render();return}requestAnimationFrame(r)};r()}flash(){this.flashing=!0,this.changeDetectorRef.detectChanges(),setTimeout(()=>{this.flashing=!1,this.changeDetectorRef.detectChanges()},300)}updateNodeBgColorWhenFar(){let t=this.webglRendererThreejsService.convertZFromSceneToScreen(30)*this.webglRendererThreejsService.curScale,n=7.5,o=Math.max(0,Math.min(1,(n-t)/(n-7)));Math.abs(o-this.savedUpdateNodeBgWhenFarProgress)<1e-5||(this.savedUpdateNodeBgWhenFarProgress=o,this.nodeBodies.setBgColorWhenFar(this.NODE_LABEL_COLOR,o/3))}showIoTree(t,n,r){let o=this.createOverlay(t),s=o.attach(this.portal),a=cl(n,[],r);s.instance.solidBackground=!0,s.instance.rendererId=this.rendererId,s.instance.updateData(a),s.instance.onClose.subscribe(()=>{o.dispose()})}getNodeX(t){return(t.x||0)+(t.globalX||0)}getNodeY(t){return(t.y||0)+(t.globalY||0)}getNodeWidth(t){return t.width||0}getNodeHeight(t){return t.height||0}getNodeLabelRelativeY(t){return 14}getNodeLabelSizes(t){let n=Fo/this.texts.getFontSize(),r=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY,s=0,a=hd(this.getNodeLabel(t));for(let l=0;l{this.webglRendererThreejsService.zoomFit(s,1,200,!1,!1)};a?setTimeout(()=>{c()}):c()}else r!==phe&&this.webglRendererThreejsService.zoomFitOnNode(r,n,o?0:OO);this.selectedNodeId!==r&&this.handleSelectNode(r||""),this.inPopup||this.uiStateService.setDeepestExpandedGroupNodeIds(l||[],this.appService.getPaneIndexById(this.paneId))}handleCurNodeDataProviderResultsChanged(){this.renderGraph(),this.updateNodesStyles(),this.webglRendererThreejsService.render()}handleLocateNodeDone(t,n,r,o,s,a,l=!1){this.updateCurModelGraph(n),this.updateNodesAndEdgesToRender(),a&&this.appService.selectNode(this.paneId,{nodeId:r,rendererId:t,isGroupNode:yt(this.curModelGraph.nodesById[r])}),this.webglRendererThreejsService.zoomFitOnNode(r,n,OO),l||(this.renderGraph(),this.webglRendererIoHighlightService.updateIncomingAndOutgoingHighlights(),this.webglRendererIdenticalLayerService.updateIdenticalLayerIndicators(),this.updateNodesStyles(),this.webglRendererThreejsService.render(),this.inPopup||this.uiStateService.setDeepestExpandedGroupNodeIds(o,this.appService.getPaneIndexById(this.paneId))),s||setTimeout(()=>{this.shakeNode(r)},250)}sendExpandGroupNodeRequest(t){let n=this.curModelGraph.nodesById[t];n!=null&&!n.expanded&&this.sendExpandOrCollapseGroupNodeRequest(n,!1,!0)}sendExpandOrCollapseGroupNodeRequest(t,n=!1,r){this.showBusySpinnerWithDelay();let o={eventType:Ji.EXPAND_OR_COLLAPSE_GROUP_NODE_REQ,modelGraphId:this.curModelGraph.id,groupNodeId:t?.id,expand:r??!t?.expanded,showOnNodeItemTypes:this.curShowOnNodeItemTypes,nodeDataProviderRuns:this.curNodeDataProviderRuns,rendererId:this.rendererId,paneId:this.paneId,all:n,ts:Date.now()};this.workerService.worker.postMessage(o)}renderGraph(){this.clearScene(),this.renderEdges(),this.renderTexts(),this.curShowOnEdgeItemTypes[Fl.TENSOR_SHAPE]?.selected&&this.webglRendererEdgeTextsService.renderEdgeTexts(),this.webglRendererAttrsTableService.renderAttrsTable(),this.renderNodes(),this.webglRendererNdpService.renderNodeDataProviderDistributionBars(),this.renderArtificialGroupBorders(),this.webglRendererSearchResultsService.renderSearchResults(),this.webglRendererSubgraphSelectionService.renderSubgraphSelectedNodeMarkers(),this.updateNodeBgColorWhenFar(),this.animateIntoPositions()}renderNodes(){this.currentMinX=Number.POSITIVE_INFINITY,this.currentMinZ=Number.POSITIVE_INFINITY,this.currentMaxX=Number.NEGATIVE_INFINITY,this.currentMaxZ=Number.NEGATIVE_INFINITY;let t=this.nodesToRender.length,n=[],r=[],o=[],s=[],a=[],l=Fo/this.texts.getFontSize();for(let c=0;c0){if(this.appService.config()?.showOpNodeOutOfLayerEdgesWithoutSelecting){for(let{node:t}of this.nodesToRender)if(Et(t)&&t.nsParentId){let{overlayEdges:n,renderedEdges:r}=this.webglRendererIoHighlightService.getHighlightedIncomingNodesAndEdges(this.curHiddenInputOpNodeIds,t,{ignoreEdgesWithinSameNamespace:!0,reuseRenderedEdgeCurvePoints:!0});if(n.length>0){this.renderedEdgeIdsToHide.push(...r.map(a=>a.id));for(let a of n)this.edgesToRender.push({edge:a,index:92/Kt})}let{overlayEdges:o,renderedEdges:s}=this.webglRendererIoHighlightService.getHighlightedOutgoingNodesAndEdges(this.curHiddenOutputIds,t,{ignoreEdgesWithinSameNamespace:!0,reuseRenderedEdgeCurvePoints:!0});if(o.length>0){this.renderedEdgeIdsToHide.push(...s.map(a=>a.id));for(let a of o)this.edgesToRender.push({edge:a,index:92/Kt})}}}this.edges.generateMesh(this.edgesToRender,this.curModelGraph),this.webglRendererThreejsService.addToScene(this.edges.edgesMesh),this.webglRendererThreejsService.addToScene(this.edges.arrowHeadsMesh)}}renderTexts(){let t=[];for(let{node:n,index:r}of this.nodesToRender){let o=this.NODE_LABEL_COLOR;for(let a of this.curProcessedNodeStylerRules)if(Om(n,a.queries,this.curModelGraph)){let l=ud(a,Ws.NODE_TEXT_COLOR);l!==""&&(o=new vn.Color(l));break}let s=hd(this.getNodeLabel(n));for(let a=0;a{this.setHoveredNodeId(r),this.updateNodesStyles(),this.webglRendererThreejsService.render()}),this.groupNodeIconBgs.raycast(this.webglRendererThreejsService.raycaster,(r,o)=>{this.hoveredGroupNodeIconId=r,this.nodeIdForHoveredGroupNodeIcon=o?.nodeId||"",this.updateNodesStyles(),this.handleHoveredGroupNodeIconChanged(o),this.webglRendererThreejsService.render()},!1),this.webglRendererIoHighlightService.ioPickerBgs.raycast(this.webglRendererThreejsService.raycaster,(r,o)=>{this.hoveredIoPickerId=r,this.handleHoveredIoPickerChanged(o)}),this.subgraphIndicatorBgs.raycast(this.webglRendererThreejsService.raycaster,(r,o)=>{this.hoveredSubgraphIndicatorId=r,this.handleHoveredSubgraphIndicatorChanged(o)})}handleHoveredIoPickerChanged(t){this.ioPickerTop=-1e3,this.ioPickerLeft=-1e3,this.ioPickerTooltip="";let n=this.hoveredIoPickerId.endsWith("input");if(this.hoveredIoPickerId!==""){let{x:r,y:o}=this.webglRendererThreejsService.convertScenePosToScreen(t.bound.x-t.bound.width/2,t.bound.y-t.bound.height/2),{x:s,y:a}=this.webglRendererThreejsService.convertScenePosToScreen(t.bound.x+t.bound.width/2,t.bound.y+t.bound.height/2);this.ioPickerTop=o,this.ioPickerLeft=r,this.ioPickerWidth=s-r,this.ioPickerHeight=a-o,this.ioPickerTooltip=`Click to reveal ${n?"input":"output"} node(s)`}this.changeDetectorRef.detectChanges()}handleHoveredSubgraphIndicatorChanged(t){if(this.subgraphIndicatorTop=-1e3,this.subgraphIndicatorLeft=-1e3,this.hoveredSubgraphIndicatorId!==""){let{x:n,y:r}=this.webglRendererThreejsService.convertScenePosToScreen(t.bound.x-t.bound.width/2,t.bound.y-t.bound.height/2),{x:o,y:s}=this.webglRendererThreejsService.convertScenePosToScreen(t.bound.x+t.bound.width/2,t.bound.y+t.bound.height/2);this.subgraphIndicatorTop=r,this.subgraphIndicatorLeft=n,this.subgraphIndicatorWidth=o-n,this.subgraphIndicatorHeight=s-r}this.changeDetectorRef.detectChanges()}updateNodesStyles(){let t=!1;this.selectedNodeId!==this.updateNodesStylesSavedSelectedNodeId&&(this.updateNodesStylesSavedSelectedNodeId=this.selectedNodeId,t=!0);let n=!1;this.webglRendererIoTracingService.curIoTracingData!==this.updateNodesStylesSavedIoTracingData&&(this.updateNodesStylesSavedIoTracingData=this.webglRendererIoTracingService.curIoTracingData,n=!0),this.nodeBodies.restoreBorderColors(),this.nodeBodies.restoreBgColors(),this.nodeBodies.restoreBorderWidths(),this.nodeBodies.restoreOpacities(),this.groupNodeIconBgs.restoreOpacities(),this.texts.restoreOpacities(),this.texts.restoreColors(),this.webglRendererEdgeTextsService.edgeTexts.restoreOpacities(),this.groupNodeIcons.restoreOpacities(),this.webglRendererAttrsTableService.attrsTableTexts.restoreOpacities(),(t||n)&&this.edges.restoreColors(),this.edges.restoreYOffsets();let r=this.curModelGraph.nodesById[this.selectedNodeId];if(r!=null&&yt(r)){let u=r.identicalGroupIndex;if(u!=null){let h=this.nodesToRender.filter(({node:p})=>yt(p)&&p.identicalGroupIndex===u).map(({node:p})=>p.id);this.nodeBodies.updateBgColor(h,this.IDENTICAL_GROUPS_BG_COLOR)}}let o=this.curModelGraph.nodesById[this.hoveredNodeId],s=yt(o)?this.HOVERED_GROUP_NODE_BORDER_COLOR:this.HOVERED_NODE_BORDER_COLOR;Et(o)&&o.style?.hoveredBorderColor&&(s=new vn.Color(o.style.hoveredBorderColor)),this.nodeBodies.updateBorderColor([this.hoveredNodeId],s),this.selectedNodeId&&r!=null&&(this.nodeBodies.updateBorderColor([this.selectedNodeId],this.SELECTED_NODE_BORDER_COLOR),this.nodeBodies.updateBorderWidth([this.selectedNodeId],ahe),this.nodeBodies.updateBgColor([this.selectedNodeId],this.SELECTED_NODE_BG_COLOR,Et(r))),this.groupNodeIconBgs.updateOpacity([this.hoveredGroupNodeIconId],.07);let a=Object.keys(this.webglRendererIoHighlightService.inputsByHighlightedNode);if(a.length>0){this.nodeBodies.updateBorderColor(a,new vn.Color(this.EDGE_COLOR_INCOMING.r,this.EDGE_COLOR_INCOMING.g,this.EDGE_COLOR_INCOMING.b));for(let u of a)this.nodeBodies.updateBorderWidth([u],zG)}let l=Object.keys(this.webglRendererIoHighlightService.outputsByHighlightedNode);if(l.length>0){this.nodeBodies.updateBorderColor(l,new vn.Color(this.EDGE_COLOR_OUTGOING.r,this.EDGE_COLOR_OUTGOING.g,this.EDGE_COLOR_OUTGOING.b));for(let u of l)this.nodeBodies.updateBorderWidth([u],zG)}let c=[...this.webglRendererIoHighlightService.inputsRenderedEdges,...this.webglRendererIoHighlightService.outputsRenderedEdges].map(u=>u.id);c.push(...this.renderedEdgeIdsToHide),this.edges.updateYOffsets(c,1e3);let d=this.webglRendererNdpService.curNodeDataProviderResults()||{};for(let u of Object.keys(d)){if(!this.isNodeRendered(u)||!Et(this.curModelGraph.nodesById[u]))continue;let h=d[u].bgColor;h&&h!=="transparent"&&this.nodeBodies.updateBgColor([u],new vn.Color(h));let p=d[u].textColor;p&&this.texts.updateColorInNode([u],new vn.Color(p))}if(this.webglRendererIoTracingService.curIoTracingData!=null){let u=Object.keys(this.curModelGraph.nodesById).filter(p=>!this.webglRendererIoTracingService.curIoTracingData.visibleNodeIds.has(p)&&this.isNodeRendered(p));this.nodeBodies.updateOpacity(u,.2),this.texts.updateOpacityInNode(u,.3),this.groupNodeIcons.updateOpacityInNode(u,.3),this.webglRendererAttrsTableService.attrsTableTexts.updateOpacityInNode(u,.3),this.webglRendererEdgeTextsService.edgeTexts.updateOpacityInNode(u,.3);let h=this.edgesToRender.filter(({edge:p})=>!this.webglRendererIoTracingService.curIoTracingData.visibleNodeIds.has(p.fromNodeId)||!this.webglRendererIoTracingService.curIoTracingData.visibleNodeIds.has(p.toNodeId)).map(({edge:p})=>p.id);this.edges.updateColors(h,{r:.92,g:.92,b:.92})}}shakeNode(t){if(this.appService.testMode)return;let n=Date.now(),r=()=>{let o=Date.now()-n,s=Math.min(1,o/1100);s=-(Math.cos(Math.PI*s)-1)/2;let a=Math.sin(s*Math.PI*9)*8;if(this.nodeBodies.updateAngle(t,a),this.webglRendererSearchResultsService.searchResultsHighlightBorders.updateAngle(t,a),this.webglRendererThreejsService.render(),s>=1){this.nodeBodies.updateAngle(t,0),this.webglRendererSearchResultsService.searchResultsHighlightBorders.updateAngle(t,0),this.webglRendererThreejsService.render();return}requestAnimationFrame(r)};r()}clearScene(){let t=[this.webglRendererSearchResultsService.searchResultsHighlightBorders.mesh,this.webglRendererSearchResultsService.searchResultsNodeLabelHighlightBg.mesh];this.webglRendererThreejsService.clearScene(t),this.updateNodesStylesSavedSelectedNodeId="",this.updateNodesStylesSavedIoTracingData=void 0}handleDownloadAsPng(t,n){return At(this,null,function*(){let r=this.container.nativeElement.offsetWidth/dd(),o=this.container.nativeElement.offsetHeight/dd(),s=this.webglRendererThreejsService.camera;if(t){let d=this.currentMaxX+20,u=this.currentMinX-20,h=this.currentMaxZ+20,p=this.currentMinZ-20;r=d-u,o=h-p;let f=dhe/dd();r>f&&(o=o*f/r,r=f),o>f&&(r=r*f/o,o=f),s=this.webglRendererThreejsService.createOrthographicCamera(u,d,-p,-h)}let a=this.pngDownloaderCanvas.nativeElement;this.webglRendererThreejsService.setupPngDownloaderRenderer(a,n,r,o),this.nodeBodies.setBgColorWhenFar(this.NODE_LABEL_COLOR,0),this.webglRendererThreejsService.renderPngDownloader(s),this.nodeBodies.setBgColorWhenFar(this.NODE_LABEL_COLOR,this.savedUpdateNodeBgWhenFarProgress/3);let l=document.createElement("a");l.download="model_explorer_graph.png",da.setHref(l,a.toDataURL()),l.click(),this.webglRendererThreejsService.setSceneBackground(new vn.Color(16777215))})}openSubgraph(t){return At(this,null,function*(){this.appService.addSubgraphBreadcrumbItem(this.paneId,this.curModelGraph.id,t,yield this.webglRendererSnapshotService.takeSnapshot());let n=this.appService.getGraphById(t);n&&(this.appService.selectNode(this.paneId,void 0),this.appService.setFlattenLayersInCurrentPane(!1),this.appService.curInitialUiState.set(void 0),this.appService.curToLocateNodeInfo.set(void 0),this.appService.selectGraphInCurrentPane(n))})}getGroupNodeLabelSeparatorId(t,n){return`${t}_${n}`}getGroupNodeBgColor(t){let r=(t.namespace||"").split("/").filter(s=>s!=="").length,o=this.GROUP_NODE_BG_COLORS[Math.min(this.GROUP_NODE_BG_COLORS.length-1,r)];return this.threeColorToRgb(o)}threeColorToRgb(t){return{r:t.r,g:t.g,b:t.b}}startBenchmark(){let t=()=>{this.webglRendererThreejsService.render(!0),requestAnimationFrame(t)};t()}handleShiftSelectNode(t){this.webglRendererSubgraphSelectionService.enableSubgraphSelection&&this.subgraphSelectionService.toggleNode(t)}handleClearSubgraphSelectedNodes(){this.webglRendererSubgraphSelectionService.enableSubgraphSelection&&this.subgraphSelectionService.clearSelection()}createOverlay(t){let n=new hi({positionStrategy:this.overlay.position().flexibleConnectedTo(t).withPositions([{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom"}]).withDefaultOffsetX(t.clientWidth).withViewportMargin(20),hasBackdrop:!0,backdropClass:"cdk-overlay-transparent-backdrop",maxHeight:"400px",panelClass:"io-tree-popup-container"}),r=this.overlay.create(n);return this.portal=new Pi(xc,this.viewContainerRef),r.backdropClick().subscribe(()=>{r.dispose()}),r}showBusySpinnerWithDelay(){this.hideBusySpinner(),this.showBusySpinnerTimeoutRef=window.setTimeout(()=>{this.showBusySpinnerTimeoutRef<0||(this.snackBar.open("Processing. Please wait..."),this.showBusySpinner=!0,this.changeDetectorRef.detectChanges())},1e3)}hideBusySpinner(){this.showBusySpinnerTimeoutRef>=0&&(clearTimeout(this.showBusySpinnerTimeoutRef),this.showBusySpinnerTimeoutRef=-1),this.snackBar.dismiss(),this.showBusySpinner=!1,this.changeDetectorRef.detectChanges()}revealNode(t){let n=this.curModelGraph.nodesById[t];return n?(this.sendRelayoutGraphRequest(t,n.nsParentId?[n.nsParentId]:[]),!0):!1}updateCurModelGraph(t){let n=this.curModelGraph.edgesByGroupNodeIds;this.curModelGraph=wt(Z({},t),{edgesByGroupNodeIds:Z(Z({},n),t.edgesByGroupNodeIds)}),this.appService.updateCurrentModelGraph(this.paneId,this.curModelGraph)}updateNodesAndEdgesToRender(){if(!this.curModelGraph)return;this.elementsToRender=[],this.nodesToRender=[],this.nodesToRenderMap={},this.edgesToRender=[];let t=!0,n=!1,r=o=>{let s=this.curModelGraph.nodesById[o||""];if(t&&s){this.elementsToRender.push({type:RC.NODE,id:s.id,node:s});let l={node:s,index:this.elementsToRender.length-1};this.nodesToRender.push(l),this.nodesToRenderMap[l.node.id]=l,yt(s)&&s.sectionContainer&&(n=!0)}if(t=!1,o&&s&&s.expanded||!o)for(let l of this.curModelGraph.edgesByGroupNodeIds[o||""]||[])this.elementsToRender.push({type:RC.EDGE,id:l.id,edge:l}),this.edgesToRender.push({edge:l,index:this.elementsToRender.length-1});let a=[];o?s.expanded&&(a=(s.nsChildrenIds||[]).map(l=>this.curModelGraph.nodesById[l])):a=this.curModelGraph.rootNodes;for(let l of a){let c={type:RC.NODE,id:l.id,node:l};!n&&yt(l)&&l.sectionContainer&&(n=!0),this.elementsToRender.push(c);let d={node:l,index:this.elementsToRender.length-1};this.nodesToRender.push(d),this.nodesToRenderMap[d.node.id]=d,yt(l)&&l.expanded&&r(l.id)}};r(this.rootNodeId),this.appService.setPaneHasArtificialLayers(this.paneId,n)}getNodeLabel(t){return Et(t)?t.label==="Placeholder"?t.id:t.label:yt(t)?t.label:"-"}setHoveredNodeId(t){this.hoveredNodeId=t,this.appService.updateHoveredNode(t,this.curModelGraph.id,this.curModelGraph.collectionLabel||"",this.curModelGraph.nodesById[t])}static \u0275fac=function(n){return new(n||i)(M(Fe),M(Ni),M(Le),M(Cr),M(ua),M(Gt),M(wu),M(_c),M(Xo),M(zl),M(Yt),M(bC),M(yC),M(CC),M(wC),M(SC),M(MC),M(EC),M(IC),M(DC),M(PC),M(Ul))};static \u0275cmp=le({type:i,selectors:[["webgl-renderer"]],viewQuery:function(n,r){if(n&1&&(Te(jue,7),Te(Wue,7),Te($ue,7),Te(que,7),Te(Yue,7),Te(Xue,7),Te(Zue,7),Te(Que,5),Te(Kue,5),Te(Jue,7),Te(ehe,7),Te(the,7)),n&2){let o;be(o=ye())&&(r.container=o.first),be(o=ye())&&(r.canvas=o.first),be(o=ye())&&(r.snapshotCanvas=o.first),be(o=ye())&&(r.pngDownloaderCanvas=o.first),be(o=ye())&&(r.hoverToolbar=o.first),be(o=ye())&&(r.ioPicker=o.first),be(o=ye())&&(r.subgraphMenuTrigger=o.first),be(o=ye())&&(r.groupNodeIconMatTooltip=o.first),be(o=ye())&&(r.ioPickerMatTooltip=o.first),be(o=ye())&&(r.moreActionsMenuTrigger=o.first),be(o=ye())&&(r.rangeZoomDragArea=o.first),be(o=ye())&&(r.dragToSelectDragArea=o.first)}},inputs:{modelGraph:"modelGraph",rendererId:"rendererId",paneId:"paneId",rootNodeId:"rootNodeId",inPopup:"inPopup",benchmark:"benchmark"},outputs:{openInPopupClicked:"openInPopupClicked"},standalone:!0,features:[Bt([bC,yC,CC,wC,SC,MC,EC,IC,DC,PC]),ce],decls:39,vars:59,consts:[["container",""],["canvas",""],["snapshotCanvas",""],["pngDownloaderCanvas",""],["groupNodeIconMatTooltip","matTooltip"],["moreActionsMenuTrigger","matMenuTrigger"],["moreActionsMenu","matMenu"],["ioPicker",""],["ioPickerMatTooltip","matTooltip"],["subgraphIndicator",""],["subgraphMenuTrigger","matMenuTrigger"],["menu","matMenu"],["rangeZoomDragArea",""],["dragToSelectDragArea",""],[1,"container",3,"mouseleave"],[1,"main",3,"mousedown","contextmenu"],[1,"snapshot"],[1,"download-png"],[1,"group-node-icon",3,"mouseenter","mouseleave","mousedown"],["matTooltipPosition","above",1,"group-node-icon-tooltip",3,"matTooltip","matTooltipShowDelay","matTooltipDisabled"],[1,"more-actions-menu-trigger",3,"matMenuTriggerFor"],[1,"model-explorer-menu-item-with-icon","expand-all",3,"click"],["class","model-explorer-menu-item-with-icon collapse-all",3,"click",4,"ngIf"],["class","model-explorer-menu-item-with-icon open-in-popup",3,"click",4,"ngIf"],[1,"io-picker",3,"mousedown","mouseenter","mouseleave"],["matTooltipPosition","above",1,"io-picker-tooltip",3,"matTooltip"],["matTooltip","Jump to subgraph","matTooltipPosition","above",1,"subgraph-indicator",3,"mousedown","click"],[1,"subgraph-indicator-menu-trigger",3,"matMenuTriggerFor"],[1,"model-explorer-menu-item-with-icon"],["bgColor","rgba(97, 175, 252, 0.2)","borderColor","#1976d2"],["bgColor","rgba(9, 184, 62, 0.2)","borderColor","#09b83e"],[1,"flash"],[1,"fps"],[1,"model-explorer-menu-item-with-icon","collapse-all",3,"click"],[1,"model-explorer-menu-item-with-icon","open-in-popup",3,"click"],[1,"model-explorer-menu-item-with-icon",3,"click"]],template:function(n,r){if(n&1){let o=ie();v(0,"div",14,0),H("mouseleave",function(a){return V(o),z(r.handleMouseLeaveRenderer(a))}),v(2,"canvas",15,1),H("mousedown",function(a){return V(o),z(r.handleMouseDownCanvas(a))})("contextmenu",function(a){return V(o),z(a.preventDefault())}),b(),ee(4,"canvas",16,2)(6,"canvas",17,3),v(8,"div",18),H("mouseenter",function(){return V(o),z(r.handleMouseEnterGroupNodeIcon())})("mouseleave",function(){return V(o),z(r.handleMouseLeaveGroupNodeIcon())})("mousedown",function(a){return V(o),z(r.handleClickGroupNodeIcon(a))}),b(),ee(9,"div",19,4)(11,"div",20,5),v(13,"mat-menu",null,6)(15,"div",21),H("click",function(){return V(o),z(r.handleClickExpandAll(r.hoveredNodeIdWhenClickingMoreActions))}),v(16,"mat-icon"),S(17,"unfold_more_double"),b(),S(18," Expand layer & all sub-layers "),b(),W(19,nhe,4,0,"div",22)(20,ihe,4,0,"div",23),b(),v(21,"div",24,7),H("mousedown",function(a){return V(o),z(r.handleClickIoPicker(a))})("mouseenter",function(){return V(o),z(r.handleMouseEnterIoPicker())})("mouseleave",function(){return V(o),z(r.handleMouseLeaveIoPicker())}),b(),ee(23,"div",25,8),v(25,"div",26,9),H("mousedown",function(a){return V(o),z(a.stopPropagation())})("click",function(){return V(o),z(r.handleClickSubgraphIndicator())}),b(),ee(27,"div",27,10),v(29,"mat-menu",null,11),ln(31,rhe,4,1,"div",28,Kr),b(),ee(33,"drag-area",29,12)(35,"drag-area",30,13)(37,"div",31),W(38,ohe,2,1,"div",32),b()}if(n&2){let o=ve(14),s=ve(30);w(8),tn("top",r.groupNodeIcon.top,"px")("left",r.groupNodeIcon.left,"px")("width",r.groupNodeIcon.width,"px")("height",r.groupNodeIcon.height,"px"),w(),tn("top",r.groupNodeIcon.top,"px")("left",r.groupNodeIcon.left,"px")("width",r.groupNodeIcon.width,"px")("height",r.groupNodeIcon.height,"px"),N("matTooltip",r.groupNodeIcon.tooltip||"")("matTooltipShowDelay",200)("matTooltipDisabled",r.groupNodeIcon.tooltip==null),w(2),tn("top",r.groupNodeIcon.top+r.groupNodeIcon.height,"px")("left",r.groupNodeIcon.left,"px"),N("matMenuTriggerFor",o),w(8),N("ngIf",r.getShowCollapseAllButton(r.hoveredNodeIdWhenClickingMoreActions)),w(),N("ngIf",r.showOpenInPopupButton),w(),tn("top",r.ioPickerTop,"px")("left",r.ioPickerLeft,"px")("width",r.ioPickerWidth,"px")("height",r.ioPickerHeight,"px"),w(2),tn("top",r.ioPickerTop,"px")("left",r.ioPickerLeft,"px")("width",r.ioPickerWidth,"px")("height",r.ioPickerHeight,"px"),N("matTooltip",r.ioPickerTooltip),w(2),tn("top",r.subgraphIndicatorTop,"px")("left",r.subgraphIndicatorLeft,"px")("width",r.subgraphIndicatorWidth,"px")("height",r.subgraphIndicatorHeight,"px"),w(2),tn("top",r.subgraphIndicatorTop+r.subgraphIndicatorHeight,"px")("left",r.subgraphIndicatorLeft,"px"),N("matMenuTriggerFor",s),w(4),cn(r.curSubgraphIdsForMenu),w(6),se("flashing",r.flashing),w(),ae(r.benchmark?38:-1)}},dependencies:[Ae,Mn,uG,it,_t,ca,Jo,vc,Jt,Wn],styles:[`.container[_ngcontent-%COMP%]{width:100%;height:100%;overflow:hidden;position:relative}.container[_ngcontent-%COMP%] canvas.main[_ngcontent-%COMP%]{width:100%!important;height:100%!important;box-sizing:border-box}.container[_ngcontent-%COMP%] canvas.snapshot[_ngcontent-%COMP%], .container[_ngcontent-%COMP%] canvas.download-png[_ngcontent-%COMP%]{position:absolute;left:0;bottom:0;width:400px;height:300px;border:1px solid red;box-sizing:border-box;background-color:#fff;display:none}.container[_ngcontent-%COMP%] .hover-toolbar[_ngcontent-%COMP%]{position:absolute;width:50px;height:40px;box-sizing:border-box;display:flex;transition:opacity .15s;opacity:1;pointer-events:none}.container[_ngcontent-%COMP%] .hover-toolbar.hide[_ngcontent-%COMP%]{transition:none;opacity:0}.container[_ngcontent-%COMP%] .hover-toolbar[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{width:100%;display:flex;align-items:center;justify-content:center}.container[_ngcontent-%COMP%] .hover-toolbar[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .main-content-wrapper[_ngcontent-%COMP%]{height:100%;display:flex;align-items:center;justify-content:center;pointer-events:all}.container[_ngcontent-%COMP%] .hover-toolbar[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%]{font-size:12px;border:1px solid #ccc;background-color:#fafafae6;border-radius:99px;padding:0 8px;box-sizing:border-box;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a;display:flex;align-items:center}.container[_ngcontent-%COMP%] .hover-toolbar[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:.8;width:24px;padding:4px 0}.container[_ngcontent-%COMP%] .hover-toolbar[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]:hover{opacity:1;background-color:#eee}.container[_ngcontent-%COMP%] .hover-toolbar[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;font-weight:700;width:16px;height:16px;line-height:16px;color:#ea8600}.container[_ngcontent-%COMP%] .io-picker[_ngcontent-%COMP%], .container[_ngcontent-%COMP%] .group-node-icon[_ngcontent-%COMP%], .container[_ngcontent-%COMP%] .subgraph-indicator[_ngcontent-%COMP%]{position:absolute;box-sizing:border-box;display:flex;background-color:transparent}.container[_ngcontent-%COMP%] .group-node-icon[_ngcontent-%COMP%], .container[_ngcontent-%COMP%] .io-picker[_ngcontent-%COMP%]{z-index:100}.container[_ngcontent-%COMP%] .group-node-icon-tooltip[_ngcontent-%COMP%], .container[_ngcontent-%COMP%] .io-picker-tooltip[_ngcontent-%COMP%]{position:absolute;z-index:50}.container[_ngcontent-%COMP%] .subgraph-indicator-menu-trigger[_ngcontent-%COMP%], .container[_ngcontent-%COMP%] .more-actions-menu-trigger[_ngcontent-%COMP%]{position:absolute;visibility:hidden}.container[_ngcontent-%COMP%] .flash[_ngcontent-%COMP%]{position:absolute;top:0;left:0;width:100%;height:100%;z-index:5000;box-sizing:border-box;border:5px solid #1976d2;pointer-events:none;opacity:0}@keyframes _ngcontent-%COMP%_flashing{5%{opacity:1}to{opacity:0}}.container[_ngcontent-%COMP%] .flashing[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_flashing .3s ease-out}.container[_ngcontent-%COMP%] .fps[_ngcontent-%COMP%]{position:absolute;top:12px;left:12px;z-index:100;font-size:32px;border:1px solid #777;padding:8px;border-radius:4px;background-color:#fff} .multiline-tooltip{white-space:pre-line} .multiline-tooltip-left{white-space:pre-line} .multiline-tooltip-left>div{text-align:left} .model-explorer-menu-item-with-icon{font-family:Google Sans Text,Arial,Helvetica,sans-serif;display:flex;align-items:center;font-size:12px;padding:5px 8px;line-height:15px;letter-spacing:normal} .model-explorer-menu-item-with-icon mat-icon{font-size:16px;width:16px;height:16px;margin-right:4px;color:#999} .model-explorer-menu-item-with-icon:hover{background-color:#0000000a} +`,qi=class{threejsService;mesh;material;planeGeo;labelCharSizesCache={};fontSize;distanceRange;savedBounds={};nodeIdToOpacityIndexRanges={};nodeIdToColorIndexRanges={};lastOpacityUpdateIndexRanges=[];lastColorUpdateIndexRanges=[];originalColors=[];curAnimationProgrssUniform={value:-1};constructor(e){this.threejsService=e,this.planeGeo=new so.PlaneGeometry(1,1),this.planeGeo.rotateX(-Math.PI/2),this.fontSize=this.threejsService.fontInfoRegular.info.size,this.distanceRange=this.threejsService.fontInfoRegular.distanceField.distanceRange,this.material=new so.ShaderMaterial({uniforms:{textureRegular:{value:this.threejsService.textureRegular},textureMedium:{value:this.threejsService.textureMedium},textureBold:{value:this.threejsService.textureBold},textureIcons:{value:this.threejsService.textureIcons},distanceRange:{value:this.distanceRange},animationProgress:this.curAnimationProgrssUniform},extensions:{derivatives:!0},vertexShader:_ue,fragmentShader:vue,transparent:!0,alphaToCoverage:!0})}generateMesh(e,t=!1,n=!1,r=!1){let o=0;this.nodeIdToOpacityIndexRanges={},this.nodeIdToColorIndexRanges={};let s=[],a=[],c=[],l=[],d=[],u=[],h=[],p=[],f=[],m=[],y=Object.keys(this.savedBounds).length>0,g=Z({},this.savedBounds);this.savedBounds={};for(let x of e){let C=this.threejsService.getCharsInfo(x.weight),D=this.threejsService.getFontInfo(x.weight).common.scaleW,E=this.getLabelSizes(x.label,x.weight,x.height,x.maxWidth,x.treatLabelAsAWhole,x.angle,x.edgeTextMode).sizes,A=x.height/this.fontSize,j=x.x,q=x.z,P=(x.treatLabelAsAWhole?{rects:[{x:0,y:0,width:20,height:x.height}]}:this.getLabelSizes("a",x.weight,x.height).sizes).rects[0].height*A;switch(x.vAlign){case"top":q-=E.minZ*A;break;case"bottom":q-=E.maxZ*A;break;case"center":q-=(E.minZ+E.maxZ)/2*A+P/2;break;default:break}switch(x.hAlign){case"left":j-=E.minX*A;break;case"right":j-=E.maxX*A;break;case"center":j-=(E.minX+E.maxX)/2*A;break;default:break}let U=x.y,W=u.length;for(let Y=0;Y0){for(let r of e)if(this.nodeIdToOpacityIndexRanges[r])for(let{minIndex:o,maxIndex:s}of this.nodeIdToOpacityIndexRanges[r]){for(let a=o;a<=s;a++)n.setX(a,t);this.lastOpacityUpdateIndexRanges.push({minIndex:o,maxIndex:s})}}n.needsUpdate=!0}updateColorInNode(e,t){if(!this.mesh)return;let n=this.mesh.geometry.getAttribute("color");if(e.length>0){for(let r of e)if(this.nodeIdToColorIndexRanges[r])for(let{minIndex:o,maxIndex:s}of this.nodeIdToColorIndexRanges[r]){for(let a=o;a<=s;a++)n.setXYZ(a,t.r,t.g,t.b);this.lastColorUpdateIndexRanges.push({minIndex:o,maxIndex:s})}}n.needsUpdate=!0}restoreOpacities(){if(!this.mesh)return;let e=this.mesh.geometry.getAttribute("opacity");if(this.lastOpacityUpdateIndexRanges.length>=0){for(let{minIndex:t,maxIndex:n}of this.lastOpacityUpdateIndexRanges)for(let r=t;r<=n;r++)e.setX(r,1);e.needsUpdate=!0}this.lastOpacityUpdateIndexRanges=[]}restoreColors(){if(!this.mesh)return;let e=this.mesh.geometry.getAttribute("color");if(this.lastColorUpdateIndexRanges.length>=0){for(let{minIndex:t,maxIndex:n}of this.lastColorUpdateIndexRanges)for(let r=t;r<=n;r++)e.setXYZ(r,this.originalColors[r*3],this.originalColors[r*3+1],this.originalColors[r*3+2]);e.needsUpdate=!0}this.lastColorUpdateIndexRanges=[]}updateAnimationProgress(e){this.curAnimationProgrssUniform.value=e}getLabelSizes(e,t,n,r,o,s,a){let c=this.getLabelCharSizesKey(e,t,s),l=this.labelCharSizesCache[c],d;if(l==null){if(l=this.getLabelSizesInternal(e,t,o,s,a),r!=null){let u=n/this.fontSize,h=e;for(let p=0;pr){h=h.substring(0,p-1),h+="...";break}}d=h,l=this.getLabelSizesInternal(h,t,o),c=this.getLabelCharSizesKey(h,t)}this.labelCharSizesCache[c]=l}return{sizes:this.labelCharSizesCache[c],updatedLabel:d}}updateLabelSizesCache(e,t,n){let r=this.getLabelCharSizesKey(e,t);this.labelCharSizesCache[r]=n}getFontSize(){return this.fontSize}clearSavedDataForAnimation(){this.savedBounds={}}getLabelCharSizesKey(e,t,n){return`${e}__${t}__${n}`}getLabelSizesInternal(e,t,n,r,o){let s=this.threejsService.getCharsInfo(t),a=[],c=0,l=Number.MAX_VALUE,d=Number.MAX_VALUE,u=Number.NEGATIVE_INFINITY,h=Number.NEGATIVE_INFINITY;for(let p of n?[e]:e){let f=s[p];f||(f=s["?"]);let m=f.yoffset;o?(c+=Math.sin(r||0)*(f.yoffset+f.height/2),m=Math.cos(r||0)*(f.yoffset+f.height/2)):c+=f.xoffset;let y=f.width,g=f.height,_={x:c,y:m,width:y,height:g};a.push(_),l=Math.min(l,_.x),d=Math.min(d,_.y),u=Math.max(u,_.x+_.width),h=Math.max(h,_.y+_.height),c+=f.xadvance*.98}return{rects:a,minX:l,minZ:0,maxX:u,maxZ:this.fontSize}}};var OG=26;var bue=en*.2,RG=en*.4,AG=Ln,yC=(()=>{class i{ATTRS_TABLE_KEY_COLOR=new AG.Color("#808080");ATTRS_TABLE_VALUE_COLOR=new AG.Color("#0d0d0d");threejsService=te(Sr);attrsTableTexts=new qi(this.threejsService);webglRenderer;webglRendererThreejsService;attrsTableBgs=new Ni(4);init(t){this.webglRenderer=t,this.webglRendererThreejsService=t.webglRendererThreejsService}renderAttrsTable(){if(Object.keys(this.webglRenderer.curShowOnNodeItemTypes).filter(s=>this.webglRenderer.curShowOnNodeItemTypes[s].selected).length===0)return;let t=[],r=9/this.attrsTableTexts.getFontSize(),o=[];for(let{node:s,index:a}of this.webglRenderer.nodesToRender){let c=[],l=OG+LI-4+ZI(s.label),d=0,u=0,h=[];if(St(s)){let m=UI(this.webglRenderer.curShowOnNodeItemTypes);for(let y of m){let g=ey(s,y);h.push({key:y,value:g})}this.webglRenderer.curShowOnNodeItemTypes[Nn.OP_ATTRS]?.selected&&h.push(...GI(s,this.webglRenderer.curShowOnNodeItemTypes[Nn.OP_ATTRS]?.filterRegex||"")),this.webglRenderer.curShowOnNodeItemTypes[Nn.OP_INPUTS]?.selected&&h.push(...WI(s,this.webglRenderer.curModelGraph)),this.webglRenderer.curShowOnNodeItemTypes[Nn.OP_OUTPUTS]?.selected&&h.push(...$I(s)),h.push(...qI(s,this.webglRenderer.curModelGraph.id,this.webglRenderer.curShowOnNodeItemTypes,this.webglRenderer.curNodeDataProviderRuns))}else if(wt(s)){let m=HI(this.webglRenderer.curShowOnNodeItemTypes);for(let y of m){let g=ey(s,y);h.push({key:y,value:g})}this.webglRenderer.curShowOnNodeItemTypes[Nn.LAYER_NODE_ATTRS]?.selected&&h.push(...jI(s,this.webglRenderer.curModelGraph,this.webglRenderer.curShowOnNodeItemTypes[Nn.LAYER_NODE_ATTRS]?.filterRegex||""))}for(let{key:m,value:y}of h){let{keyLabelData:g,keyLabelWidth:_,valueLabelData:x,valueLabelWidth:C}=this.createAttrsTableKeyValueLabels(s,a,m,y,l,r);t.push(g,x),d=Math.max(_,d),u=Math.max(C,u),c.push({keyLabelData:g,valueLabelData:x}),l+=Om}let p=d+u+Yb,f=(this.webglRenderer.getNodeWidth(s)-p)/2;for(let m of c)m.keyLabelData.x=this.webglRenderer.getNodeX(s)+d,m.valueLabelData.x=this.webglRenderer.getNodeX(s)+d+Yb,m.keyLabelData.x+=f,m.valueLabelData.x+=f;if(c.length>0&&St(s)){let y=this.webglRenderer.getNodeWidth(s)-16,g=c.length*Om;o.push({id:s.id,index:o.length,bound:{x:this.webglRenderer.getNodeX(s)+16/2+y/2,y:c[0].keyLabelData.z+g/2-Om/2,width:y,height:g},yOffset:en*a+bue,isRounded:!0,borderColor:{r:1,g:1,b:1},bgColor:{r:1,g:1,b:1},borderWidth:1,opacity:1})}}t.length>0&&(this.attrsTableTexts.generateMesh(t),this.webglRendererThreejsService.addToScene(this.attrsTableTexts.mesh),this.attrsTableBgs.generateMesh(o),this.webglRendererThreejsService.addToScene(this.attrsTableBgs.mesh))}updateAnimationProgress(t){this.attrsTableTexts.updateAnimationProgress(t),this.attrsTableBgs.updateAnimationProgress(t)}createAttrsTableKeyValueLabels(t,n,r,o,s,a){let c={id:`${t.id}_attrs_table_${r}_key`,nodeId:t.id,label:`${r}:`,height:9,hAlign:"right",vAlign:"center",weight:mn.MEDIUM,x:this.webglRenderer.getNodeX(t),y:n*en+RG,z:this.webglRenderer.getNodeY(t)+s,color:this.ATTRS_TABLE_KEY_COLOR},l=this.attrsTableTexts.getLabelSizes(c.label,c.weight,c.height).sizes,d=(l.maxX-l.minX)*a,u={id:`${t.id}_attrs_table_${r}_value`,nodeId:t.id,label:o,height:9,hAlign:"left",vAlign:"center",weight:mn.REGULAR,x:this.webglRenderer.getNodeX(t),y:n*en+RG,z:this.webglRenderer.getNodeY(t)+s,color:this.ATTRS_TABLE_VALUE_COLOR,maxWidth:FI},{sizes:h,updatedLabel:p}=this.attrsTableTexts.getLabelSizes(u.label,u.weight,u.height,u.maxWidth);p!=null&&(u.label=p);let f=(h.maxX-h.minX)*a;return{keyLabelData:c,keyLabelWidth:d,valueLabelData:u,valueLabelWidth:f}}static \u0275fac=function(n){return new(n||i)};static \u0275prov=J({token:i,factory:i.\u0275fac})}return i})();var Z_=Ln,xC=(()=>{class i{appService;EDGE_TEXT_COLOR=new Z_.Color("#041E49");threejsService=te(Sr);edgeTexts=new qi(this.threejsService);webglRenderer;webglRendererThreejsService;constructor(t){this.appService=t}init(t){this.webglRenderer=t,this.webglRendererThreejsService=t.webglRendererThreejsService}renderEdgeTexts(){let t=this.genLabelsOnEdges(this.webglRenderer.edgesToRender,this.EDGE_TEXT_COLOR);this.edgeTexts.generateMesh(t),this.webglRendererThreejsService.addToScene(this.edgeTexts.mesh)}genLabelsOnEdges(t,n){let r=this.appService.config()?.edgeLabelFontSize||Kb,o=this.appService.config()?.disallowVerticalEdgeLabels||!1,s=[],a=this.threejsService.getCharsInfo(mn.MEDIUM);for(let{edge:c}of t){let l=this.webglRenderer.curModelGraph.nodesById[c.fromNodeId],d=this.webglRenderer.curModelGraph.nodesById[c.toNodeId];if(!St(l)||!St(d))continue;let u="?",h=l.outputsMetadata||{};for(let T of Object.keys(h))if((l.outgoingEdges||[]).find(E=>E.sourceNodeOutputId===T&&E.targetNodeId===c.toNodeId)!=null){u=h[T].shape||"?",u=u.split("").map(E=>(E==="x"&&(E="x"),E==="\u2217"&&(E="*"),E===""&&(E=""),a[E]==null?"?":E)).join("");break}let p=c.curvePoints||[],f=l.globalX||0,m=l.globalY||0,y=new Z_.CurvePath;for(let T=0;T1,C=()=>{let T=y.getPointAt(.5);s.push({id:`${c.id}_${u}`,nodeId:c.toNodeId,label:u,height:r,hAlign:"center",vAlign:"center",weight:mn.MEDIUM,x:T.x,y:95,z:T.y,color:n,borderColor:{r:1,g:1,b:1}})};if(x)C();else{let T=[],D=Math.max(0,Math.min(.25,1-u.length*_-5/g)),E=Math.max(.05,1-5/g-D-_*u.length),A=.05,j=!0,q=r/this.edgeTexts.getFontSize();for(let z=0;z=Math.PI/4&&de<=Math.PI*1.75){j=!1;break}if(T.push({pos:G,position:Math.min(W,1),angle:de,tan:K,char:k}),U!=null){let he=Math.abs(de-U);if(Math.min(he,Math.abs(he-Math.PI))>.15&&(j=!1,z+.05=T[T.length-1].pos.x;if(z){let P=[],U=T[0].position;for(let W=u.length-1;W>=0;W--){let Y=u[W],k=y.getPointAt(Math.min(1,U)),G=y.getTangentAt(Math.min(1,U)),K=(Math.PI*2-Math.atan(G.y/G.x))%(Math.PI*2);K<0&&(K+=Math.PI*2),P.push({pos:k,angle:K,tan:G,position:U,char:Y});let de=a[Y],De=0;W>=1&&(De=a[u[W-1]].xadvance);let Te=(de.xadvance/2+De/2)*q/g;U+=Te}T=P}for(let P=0;P{class i{EDGE_COLOR_INCOMING=new af.Color("#009e73");EDGE_TEXT_COLOR_INCOMING=new af.Color("#125341");EDGE_COLOR_OUTGOING=new af.Color("#d55e00");EDGE_TEXT_COLOR_OUTGOING=new af.Color("#994d11");inputsRenderedEdges=[];outputsRenderedEdges=[];inputsByHighlightedNode={};outputsByHighlightedNode={};webglRenderer;webglRendererThreejsService;threejsService=te(Sr);ioPickerBgs=new Ni(99);ioPickerTexts=new qi(this.threejsService);incomingHighlightedEdges=new Su(this.EDGE_COLOR_INCOMING,NG);outgoingHighlightedEdges=new Su(this.EDGE_COLOR_OUTGOING,NG);incomingHighlightedEdgeTexts=new qi(this.threejsService);outgoingHighlightedEdgeTexts=new qi(this.threejsService);init(t){this.webglRenderer=t,this.webglRendererThreejsService=t.webglRendererThreejsService}updateIncomingAndOutgoingHighlights(){if(!this.webglRenderer.curModelGraph)return;if(this.clearIncomingAndOutgoingHighlights(),!this.shouldUpdateIncomingAndOutgoingEdgesHighlights()){this.incomingHighlightedEdges.clearSavedDataForAnimation(),this.outgoingHighlightedEdges.clearSavedDataForAnimation(),this.incomingHighlightedEdgeTexts.clearSavedDataForAnimation(),this.outgoingHighlightedEdgeTexts.clearSavedDataForAnimation(),this.ioPickerBgs.clearSavedDataForAnimation(),this.ioPickerTexts.clearSavedDataForAnimation();return}let t=this.webglRenderer.appService.config()?.showOpNodeOutOfLayerEdgesWithoutSelecting,n=this.getHighlightedIncomingNodesAndEdges(this.webglRenderer.curHiddenInputOpNodeIds,void 0,{reuseRenderedEdgeCurvePoints:t});if(n.overlayEdges.length>0){let a=n.overlayEdges.map(c=>t?{edge:c,index:95/en}:{edge:yt(Z({},c),{curvePoints:wh(c.points,Qh,Kh,af)}),index:95/en});if(this.incomingHighlightedEdges.generateMesh(a,this.webglRenderer.curModelGraph),this.webglRendererThreejsService.addToScene(this.incomingHighlightedEdges.edgesMesh),this.webglRendererThreejsService.addToScene(this.incomingHighlightedEdges.arrowHeadsMesh),this.webglRenderer.curShowOnEdgeItemTypes[zc.TENSOR_SHAPE]?.selected){let c=this.webglRenderer.webglRendererEdgeTextsService.genLabelsOnEdges(a,this.EDGE_TEXT_COLOR_INCOMING);this.incomingHighlightedEdgeTexts.generateMesh(c,!1,!0,!0),this.webglRendererThreejsService.addToScene(this.incomingHighlightedEdgeTexts.mesh)}}this.inputsByHighlightedNode=n.inputsByHighlightedNode,this.inputsRenderedEdges=n.renderedEdges;let r=this.getHighlightedOutgoingNodesAndEdges(this.webglRenderer.curHiddenOutputIds,void 0,{reuseRenderedEdgeCurvePoints:t});if(r.overlayEdges.length>0){let a=r.overlayEdges.map(c=>t?{edge:c,index:95/en}:{edge:yt(Z({},c),{curvePoints:wh(c.points,Qh,Kh,af)}),index:95/en});if(this.outgoingHighlightedEdges.generateMesh(a,this.webglRenderer.curModelGraph),this.webglRendererThreejsService.addToScene(this.outgoingHighlightedEdges.edgesMesh),this.webglRendererThreejsService.addToScene(this.outgoingHighlightedEdges.arrowHeadsMesh),this.webglRenderer.curShowOnEdgeItemTypes[zc.TENSOR_SHAPE]?.selected){let c=this.webglRenderer.webglRendererEdgeTextsService.genLabelsOnEdges(a,this.EDGE_TEXT_COLOR_OUTGOING);this.outgoingHighlightedEdgeTexts.generateMesh(c,!1,!0,!0),this.webglRendererThreejsService.addToScene(this.outgoingHighlightedEdgeTexts.mesh)}}this.outputsByHighlightedNode=r.outputsByHighlightedNode,this.outputsRenderedEdges=r.renderedEdges;let o=[],s=[];for(let a of Object.keys(Z(Z({},this.inputsByHighlightedNode),this.outputsByHighlightedNode))){let c=this.webglRenderer.curModelGraph.nodesById[a];if(wt(c)){let l=wue,d=TO,u=this.inputsByHighlightedNode[a]!=null,h=u?this.inputsByHighlightedNode[a].length:this.outputsByHighlightedNode[a].length;o.push({id:`${a}${wC}${u?"input":"output"}`,index:o.length,bound:{x:this.webglRenderer.getNodeX(c)+l/2,y:this.webglRenderer.getNodeY(c)-d/4,width:l,height:d},yOffset:95,isRounded:!0,borderColor:{r:1,g:1,b:1},bgColor:u?this.EDGE_COLOR_INCOMING:this.EDGE_COLOR_OUTGOING,borderWidth:0,opacity:1}),s.push({id:`${a}${wC}${u?"input":"output"}`,nodeId:a,label:`${h} ${u?"input":"output"}${h!==1?"s":""}`,height:8,hAlign:"center",vAlign:"center",weight:mn.MEDIUM,color:{r:1,g:1,b:1},x:this.webglRenderer.getNodeX(c)+l/2,y:96,z:this.webglRenderer.getNodeY(c)-d/4+1})}}this.ioPickerTexts.generateMesh(s,!1,!0,!0),this.webglRendererThreejsService.addToScene(this.ioPickerTexts.mesh),this.ioPickerBgs.generateMesh(o,!0,!1,!1,!0),this.webglRendererThreejsService.addToScene(this.ioPickerBgs.mesh),this.webglRendererThreejsService.addToScene(this.ioPickerBgs.meshForRayCasting),this.webglRenderer.animateIntoPositions(a=>{this.incomingHighlightedEdges.updateAnimationProgress(a),this.outgoingHighlightedEdges.updateAnimationProgress(a),this.incomingHighlightedEdgeTexts.updateAnimationProgress(a),this.outgoingHighlightedEdgeTexts.updateAnimationProgress(a),this.ioPickerBgs.updateAnimationProgress(a),this.ioPickerTexts.updateAnimationProgress(a)})}handleClickIoPicker(t,n){t?this.inputsByHighlightedNode[n].length===1?this.webglRenderer.sendLocateNodeRequest(this.inputsByHighlightedNode[n][0].id,this.webglRenderer.rendererId):this.webglRenderer.showIoTree(this.webglRenderer.ioPicker.nativeElement,this.inputsByHighlightedNode[n],"incoming"):this.outputsByHighlightedNode[n].length===1?this.webglRenderer.sendLocateNodeRequest(this.outputsByHighlightedNode[n][0].id,this.webglRenderer.rendererId):this.webglRenderer.showIoTree(this.webglRenderer.ioPicker.nativeElement,this.outputsByHighlightedNode[n],"outgoing")}getHighlightedIncomingNodesAndEdges(t,n,r){let o=r?.ignoreEdgesWithinSameNamespace??!1,s=r?.reuseRenderedEdgeCurvePoints??!1;n||(n=this.webglRenderer.curModelGraph.nodesById[this.webglRenderer.selectedNodeId]);let a=[],c=[],l={},d=[];for(let u of n.incomingEdges||[]){if(t[u.sourceNodeId])continue;let h=this.webglRenderer.curModelGraph.nodesById[u.sourceNodeId];if(!h||o&&h.namespace===n.namespace)continue;let p=YI(h.namespace,n.namespace),f=this.getLastCollapsedAncestorNode(h,p);c.push(f),l[f.id]==null&&(l[f.id]=[]),l[f.id].push(h);let m=this.findEdgeConnectingTwoNodesInNamespace(p,h.id,n.id),y=[],g=[];if(m){a.push(m);let _=m.curvePoints||[],x=this.webglRenderer.curModelGraph.nodesById[m.fromNodeId];if(m.fromNodeId!==f.id){let D=m.points[0].x+(x.globalX||0),E=m.points[0].y+(x.globalY||0),A=this.getBestAnchorPointOnNode(D,E,f);y.push({x:A.x-(f.globalX||0),y:A.y-(f.globalY||0)}),s&&g.push({x:A.x-(f.globalX||0),y:A.y-(f.globalY||0)},{x:_[0].x-(f.globalX||0)+(x.globalX||0),y:_[0].y-(f.globalY||0)+(x.globalY||0)})}let C=y,T=m.points;if(s&&(C=g,T=_),C.push(...T.map(D=>({x:D.x-(f.globalX||0)+(x.globalX||0),y:D.y-(f.globalY||0)+(x.globalY||0)}))),m.toNodeId!==n?.id){let D=m.points[m.points.length-1].x+(x.globalX||0),E=m.points[m.points.length-1].y+(x.globalY||0),A=this.getBestAnchorPointOnNode(D,E,n);s?g.push({x:_[_.length-1].x-(f.globalX||0)+(x.globalX||0),y:_[_.length-1].y-(f.globalY||0)+(x.globalY||0)},{x:A.x-(f.globalX||0),y:A.y-(f.globalY||0)}):y.push({x:A.x-(f.globalX||0),y:A.y-(f.globalY||0)})}}else(wt(f)||St(f)&&!f.hideInLayout)&&(s?g:y).push(...this.getDirectEdgeBetweenNodes(f,n));s?g.length>0&&d.push({id:`overlay_${f.id}___${n.id}`,fromNodeId:f.id,toNodeId:n.id,points:[],curvePoints:g,type:"incoming"}):y.length>0&&d.push({id:`overlay_${f.id}___${n.id}`,fromNodeId:f.id,toNodeId:n.id,points:y,type:"incoming"})}return{renderedEdges:a,highlightedNodes:c,inputsByHighlightedNode:l,overlayEdges:d}}getHighlightedOutgoingNodesAndEdges(t,n,r){let o=r?.ignoreEdgesWithinSameNamespace??!1,s=r?.reuseRenderedEdgeCurvePoints??!1;n||(n=this.webglRenderer.curModelGraph.nodesById[this.webglRenderer.selectedNodeId]);let a=[],c=[],l={},d=[];for(let u of n.outgoingEdges||[]){if(t[u.sourceNodeOutputId])continue;let h=this.webglRenderer.curModelGraph.nodesById[u.targetNodeId];if(!h||o&&h.namespace===n.namespace)continue;let p=YI(h.namespace,n.namespace),f=this.getLastCollapsedAncestorNode(h,p);c.push(f),l[f.id]==null&&(l[f.id]=[]),l[f.id].push(h);let m=this.findEdgeConnectingTwoNodesInNamespace(p,n.id,h.id),y=[],g=[];if(m){a.push(m);let _=m.curvePoints||[],x=this.webglRenderer.curModelGraph.nodesById[m.fromNodeId];if(m.fromNodeId!==n?.id){let D=m.points[0].x+(x.globalX||0),E=m.points[0].y+(x.globalY||0),A=this.getBestAnchorPointOnNode(D,E,n);y.push({x:A.x-(n.globalX||0),y:A.y-(n.globalY||0)}),s&&g.push({x:A.x-(n.globalX||0),y:A.y-(n.globalY||0)},{x:_[0].x-(n.globalX||0)+(x.globalX||0),y:_[0].y-(n.globalY||0)+(x.globalY||0)})}let C=y,T=m.points;if(s&&(C=g,T=_),C.push(...T.map(D=>({x:D.x-(n.globalX||0)+(x.globalX||0),y:D.y-(n.globalY||0)+(x.globalY||0)}))),m.toNodeId!==f.id){let D=m.points[m.points.length-1].x+(x.globalX||0),E=m.points[m.points.length-1].y+(x.globalY||0),A=this.getBestAnchorPointOnNode(D,E,f);s?g.push({x:_[_.length-1].x-(n.globalX||0)+(x.globalX||0),y:_[_.length-1].y-(n.globalY||0)+(x.globalY||0)},{x:A.x-(n.globalX||0),y:A.y-(n.globalY||0)}):y.push({x:A.x-(n.globalX||0),y:A.y-(n.globalY||0)})}}else(wt(f)||St(f)&&!f.hideInLayout)&&(s?g:y).push(...this.getDirectEdgeBetweenNodes(n,f));s?g.length>0&&d.push({id:`overlay_${n.id}___${f.id}`,fromNodeId:n.id,toNodeId:f.id,points:[],curvePoints:g,type:"outgoing"}):y.length>0&&d.push({id:`overlay_${n.id}___${f.id}`,fromNodeId:n.id,toNodeId:f.id,points:y,type:"outgoing"})}return{renderedEdges:a,highlightedNodes:c,outputsByHighlightedNode:l,overlayEdges:d}}getLastCollapsedAncestorNode(t,n){let r=t,o=[];for(;r&&(wt(r)&&!r.expanded&&o.push(r),r.namespace!==n);)r=this.webglRenderer.curModelGraph.nodesById[r.nsParentId||""];return o.length>0?o[o.length-1]:t}shouldUpdateIncomingAndOutgoingEdgesHighlights(){if(!this.webglRenderer.selectedNodeId)return!1;let t=this.webglRenderer.curModelGraph.nodesById[this.webglRenderer.selectedNodeId];if(wt(t))return!1;let n=this.webglRenderer.curModelGraph.nodesById[this.webglRenderer.rootNodeId||""];return!(n&&wt(n)&&!(n.descendantsOpNodeIds||[]).includes(this.webglRenderer.selectedNodeId)||!this.webglRenderer.isNodeRendered(this.webglRenderer.selectedNodeId))}clearIncomingAndOutgoingHighlights(){this.incomingHighlightedEdges.clear(),this.outgoingHighlightedEdges.clear(),this.inputsByHighlightedNode={},this.outputsByHighlightedNode={},this.inputsRenderedEdges=[],this.outputsRenderedEdges=[];for(let t of[this.ioPickerBgs.mesh,this.ioPickerBgs.meshForRayCasting,this.ioPickerTexts.mesh,this.incomingHighlightedEdgeTexts.mesh,this.outgoingHighlightedEdgeTexts.mesh])t&&(t.geometry&&t.geometry.dispose(),this.webglRendererThreejsService.removeFromScene(t));this.ioPickerBgs.meshForRayCasting=void 0}findEdgeConnectingTwoNodesInNamespace(t,n,r){let o=t===""?"":`${t}___group___`;return this.webglRenderer.curModelGraph.edgesByGroupNodeIds[o].find(s=>{let a=this.webglRenderer.curModelGraph.nodesById[s.fromNodeId],c=this.webglRenderer.curModelGraph.nodesById[s.toNodeId],l=this.containNode(a,n),d=this.containNode(c,r);return l&&d})}containNode(t,n){return St(t)&&t.id===n||wt(t)&&(t.descendantsOpNodeIds||[]).includes(n)}getDirectEdgeBetweenNodes(t,n){let r=[],o=t.globalX||0,s=t.globalY||0,a=t.width||0,c=t.height||0,l=n.globalX||0,d=n.globalY||0,u=n.width||0,h=n.height||0,p=o+a/2,f=d>s?s+c:s,m=l+u/2,y=d>s?d:d+h;return r.push({x:p+(t.x||0)-o,y:f+(t.y||0)-s},{x:m+(n.x||0)-o,y:y+(n.y||0)-s}),r}getBestAnchorPointOnNode(t,n,r){let o=this.webglRenderer.getNodeX(r),s=this.webglRenderer.getNodeY(r),a=this.webglRenderer.getNodeWidth(r),c=this.webglRenderer.getNodeHeight(r),l=[{point:{x:o+a/2,y:s},distance:0,direction:"horizontal"},{point:{x:o+a,y:s+c/2},distance:0,direction:"vertical"},{point:{x:o+a/2,y:s+c},distance:0,direction:"horizontal"},{point:{x:o,y:s+c/2},distance:0,direction:"vertical"}];for(let d of l)d.distance=this.getDistanceSquared(t,n,d.point.x,d.point.y);if(l.sort((d,u)=>d.distance-u.distance),l[0].direction!==l[1].direction){let d=this.getAngle(t,n,l[0].point.x,l[0].point.y,l[0].direction),u=this.getAngle(t,n,l[1].point.x,l[1].point.y,l[1].direction);return d>=u?l[0].point:l[1].point}return l[0].point}getAngle(t,n,r,o,s){return Math.atan(s==="horizontal"?Math.abs(o-n)/Math.abs(r-t):Math.abs(r-t)/Math.abs(o-n))}getDistanceSquared(t,n,r,o){return Math.pow(t-r,2)+Math.pow(n-o,2)}static \u0275fac=function(n){return new(n||i)};static \u0275prov=J({token:i,factory:i.\u0275fac})}return i})();var DO=TO,kG=68,PO=Ln,SC=(()=>{class i{IDENTICAL_GROUPS_BG_COLOR=new PO.Color("#e2edff");IDENTICAL_GROUPS_INDICATOR_BG_COLOR=new PO.Color("#e3e3e3");IDENTICAL_GROUPS_INDICATOR_BORDER_COLOR=new PO.Color("#ccc");webglRenderer;webglRendererThreejsService;threejsService=te(Sr);identicalLayerIndicatorBgs=new Ni(99);identicalLayerIndicatorTexts=new qi(this.threejsService);init(t){this.webglRenderer=t,this.webglRendererThreejsService=t.webglRendererThreejsService}updateIdenticalLayerIndicators(){if(!this.webglRenderer.curModelGraph)return;this.clearIdenticalLayerIndicators();let t=this.webglRenderer.curModelGraph.nodesById[this.webglRenderer.selectedNodeId],n=[],r=[];if(wt(t)&&t?.identicalGroupIndex!=null){let o=t.identicalGroupIndex,s=this.webglRenderer.nodesToRender.filter(({node:a})=>wt(a)&&a.identicalGroupIndex===o).map(({node:a})=>this.webglRenderer.curModelGraph.nodesById[a.id]);for(let a of s){if(a.id===t.id)continue;let c=this.webglRenderer.getNodeX(a)+kG/2,l=this.webglRenderer.getNodeY(a)-DO/2+DO/4;n.push({id:a.id,index:n.length,bound:{x:c,y:l,width:kG,height:DO},yOffset:95,isRounded:!0,borderColor:this.IDENTICAL_GROUPS_INDICATOR_BORDER_COLOR,bgColor:this.IDENTICAL_GROUPS_INDICATOR_BG_COLOR,borderWidth:1,opacity:1}),r.push({id:a.id,label:"Identical layer",height:8,hAlign:"center",vAlign:"center",weight:mn.MEDIUM,color:{r:0,g:0,b:0},x:c,y:96,z:l})}}this.identicalLayerIndicatorBgs.generateMesh(n,!1,!1,!0,!0),this.webglRendererThreejsService.addToScene(this.identicalLayerIndicatorBgs.mesh),this.identicalLayerIndicatorTexts.generateMesh(r,!1,!0,!0),this.webglRendererThreejsService.addToScene(this.identicalLayerIndicatorTexts.mesh),this.webglRenderer.animateIntoPositions(o=>{this.identicalLayerIndicatorBgs.updateAnimationProgress(o),this.identicalLayerIndicatorTexts.updateAnimationProgress(o)})}clearIdenticalLayerIndicators(){for(let t of[this.identicalLayerIndicatorBgs.mesh,this.identicalLayerIndicatorTexts.mesh])t&&(t.geometry&&t.geometry.dispose(),this.webglRendererThreejsService.removeFromScene(t))}static \u0275fac=function(n){return new(n||i)};static \u0275prov=J({token:i,factory:i.\u0275fac})}return i})();var MC=(()=>{class i{curIoTracingData;webglRenderer;init(t){this.webglRenderer=t}genTracingData(){if(!this.webglRenderer.selectedNodeId||!St(this.webglRenderer.curModelGraph.nodesById[this.webglRenderer.selectedNodeId]))return;let t=new Set,n=new Set,r=[this.webglRenderer.selectedNodeId];for(;r.length>0;){let s=r.shift();if(n.has(s))continue;n.add(s);let a=this.webglRenderer.curModelGraph.nodesById[s];a.hideInLayout||t.add(s);for(let c of a.incomingEdges||[])r.push(c.sourceNodeId)}let o=new Set;for(r=[this.webglRenderer.selectedNodeId];r.length>0;){let s=r.shift();if(o.has(s))continue;o.add(s);let a=this.webglRenderer.curModelGraph.nodesById[s];a.hideInLayout||t.add(s);for(let c of a.outgoingEdges||[])r.push(c.targetNodeId)}for(let s of[...t]){let a=s;for(;;){let c=this.webglRenderer.curModelGraph.nodesById[a];if(!c.nsParentId||t.has(c.nsParentId))break;a=c.nsParentId,t.add(a)}}this.curIoTracingData={tracedNodeId:this.webglRenderer.selectedNodeId,visibleNodeIds:t}}clearTracingData(){this.curIoTracingData=void 0}static \u0275fac=function(n){return new(n||i)};static \u0275prov=J({token:i,factory:i.\u0275fac})}return i})();var Eue="/api/v1/read_text_file",Iue="/api/v1/load_node_data",Mr=(()=>{class i{appService;runs=ct({});remoteSourceLoading=ct(!1);leftPaneModelGraph$=qb(Bt(()=>this.appService.panes()[0].modelGraph));rightPaneModelGraph$=qb(Bt(()=>{let t=this.appService.panes();if(!(t.length<=1))return t[1].modelGraph}));constructor(t){this.appService=t,this.leftPaneModelGraph$.subscribe(n=>{n!=null&&this.handleModelGraphInPaneChanged(n,0)}),this.rightPaneModelGraph$.subscribe(n=>{n!=null&&this.handleModelGraphInPaneChanged(n,1)})}addRun(t,n,r,o,s,a=!1,c){let l=o.collectionLabel;this.runs.update(d=>{if(a){let h=[];for(let[p,f]of Object.entries(d))a&&f.collectionId===l&&h.push(p);for(let p of h)delete d[p]}d[t]={runId:t,runName:n,done:s!=null,results:s==null?void 0:{[o.id]:this.processNodeDataProviderDataForGraph(o,s)},extensionId:r,collectionId:l,remotePath:c,nodeDataProviderData:s};let u=this.appService.panes();for(let h of u)h.modelGraph?.id===o.id&&h.modelGraph?.collectionLabel===o.collectionLabel&&this.appService.setSelectedNodeDataProviderRunId(h.id,t);return Z({},d)})}updateRunResults(t,n,r,o){this.runs.update(s=>{let a=s[t];return a.done=!0,a.nodeDataProviderData=n,a.results==null&&(a.results={}),a.results[r.id]=this.processNodeDataProviderDataForGraph(r,n),o&&(a.error=o),Z({},s)})}addRunFromRemoteSource(t,n){return It(this,null,function*(){this.remoteSourceLoading.set(!0);let r=t.split("/"),o=r[r.length-1],s=`/read_file?path=${t}`;if(!0)if(t.startsWith("node_data://")){let d=t.replace("node_data://","").split("/");o=d[0];let u=Number(d[1]);s=`${Iue}?node_data_index=${u}`}else s=`${Eue}?path=${t}`;let a=Ur();this.addRun(a,o,"",n,void 0,!1,t);let c=yield fetch(s);if(!c.ok){this.updateRunResults(a,{[n.id]:{results:{}}},n,`Failed to load JSON file "${t}"`),this.remoteSourceLoading.set(!1);return}if(!0){let l=JSON.parse(yield c.text());if(l.error)this.updateRunResults(a,{[n.id]:{results:{}}},n,`Failed to process JSON file. ${l.error}`);else try{this.updateRunResults(a,this.getNodeDataProviderData(l.content,n),n),this.notifyRemoteNodeDataChanges()}catch(d){this.updateRunResults(a,{[n.id]:{results:{}}},n,`Failed to process JSON file. ${d}`)}}else{let l=JSON.parse((yield c.text()).replace(`)]}' +`,""));try{this.updateRunResults(a,this.getNodeDataProviderData(l.content,n),n),this.notifyRemoteNodeDataChanges()}catch(d){this.updateRunResults(a,{[n.id]:{results:{}}},n,`Failed to process JSON file. ${d}`)}}this.remoteSourceLoading.set(!1)})}deleteRun(t){this.runs.update(n=>(delete n[t],Z({},n))),this.notifyRemoteNodeDataChanges();for(let n of this.appService.panes())if(n.selectedNodeDataProviderRunId===t){let r=this.getRunsForModelGraph(n.modelGraph);this.appService.setSelectedNodeDataProviderRunId(n.id,r.length>0?r[0].runId:void 0)}}getSelectedRunForModelGraph(t,n){let r=this.appService.getSelectedNodeDataProviderRunId(t);return r?this.getRunsForModelGraph(n).find(s=>s.runId===r):void 0}getRunsForModelGraph(t){let n=[],r=this.runs();for(let o of Object.values(r)){if(o.collectionId!==t.collectionLabel)continue;let s=o.nodeDataProviderData;s&&s[t.id]!=null&&n.push(o)}return n}processNodeDataProviderDataForGraph(t,n){this.genOutputTensorIdToNodeIdMap(t);let r={},o=n[t.id];if(!o)return{};let s=[];for(let l of o.gradient||[]){let d={stop:l.stop};l.bgColor!=null&&(d.bgColor=this.getRgbFromColor(l.bgColor,"#ffffff")),l.textColor!=null&&(d.textColor=this.getRgbFromColor(l.textColor,"#000000")),s.push(d)}s.sort((l,d)=>l.stop-d.stop);let a=Number.POSITIVE_INFINITY,c=Number.NEGATIVE_INFINITY;if(s.length>0)for(let{value:l}of Object.values(o.results))typeof l=="number"&&(a=Math.min(a,l),c=Math.max(c,l));for(let l of Object.keys(o.results)){let d=o.results[l];if(typeof d.value=="number"&&d.bgColor==null&&(d.bgColor=this.getBgColor(d.value,o.thresholds||[],s,a,c)),typeof d.value=="number"&&d.textColor==null&&(d.textColor=this.getTextColor(d.value,o.thresholds||[],s,a,c)),(d.textColor==null||d.textColor==="")&&d.bgColor!=null){let y=this.getRgbFromColor(d.bgColor,"#ffffff");y!=null&&Math.pow(y.r/255,2.2)*.2126+Math.pow(y.g/255,2.2)*.7152+Math.pow(y.b/255,2.2)*.0722<.38&&(d.textColor="#ffffff")}let u="-",h=d.value;typeof h=="number"||typeof h=="boolean"||typeof h=="string"?u=`${h}`:u=JSON.stringify(h),u=u;let f=`${(t.outputTensorIdToNodeId||{})[l]??l}`,m=r[f];if(!m)r[f]=yt(Z({},d),{strValue:u,allValues:{[l]:d.value}});else{let y=m.allValues;y[l]=d.value,r[f]={value:d.value,bgColor:d.bgColor,textColor:d.textColor,allValues:y,strValue:`${m.strValue}, ${u}`}}}return r}getBgColor(t,n,r,o,s){if(r.length>0)return this.getColorFromGradient(t,r,o,s,!0,"transparent");for(let a of n)if(t<=a.value)return a.bgColor;return"transparent"}getTextColor(t,n,r,o,s){if(r.length>0)return this.getColorFromGradient(t,r,o,s,!1,"");for(let a of n)if(t<=a.value)return a.textColor||"";return""}getColorFromGradient(t,n,r,o,s,a){let c=(t-r)/(o-r);for(let l=0;l=d.stop&&c<=u.stop){if(h==null||p==null)return a;let f=(c-d.stop)/(u.stop-d.stop),m=Math.floor(h.r+(p.r-h.r)*f),y=Math.floor(h.g+(p.g-h.g)*f),g=Math.floor(h.b+(p.b-h.b)*f);return`#${this.numToHex(m)}${this.numToHex(y)}${this.numToHex(g)}`}}return a}genOutputTensorIdToNodeIdMap(t){if(t.outputTensorIdToNodeId==null){t.outputTensorIdToNodeId={};for(let n of t.nodes)if(St(n)){let r=n.outputsMetadata||{};for(let o of Object.keys(r)){let a=r[o].tensor_name;a!=null&&(t.outputTensorIdToNodeId[a]=n.id)}}}}handleModelGraphInPaneChanged(t,n){let r=this.getRunsForModelGraph(t);if(r.length>0){for(let o of r)o.results==null&&(o.results={}),o.results[t.id]==null&&o.nodeDataProviderData!=null&&(o.results[t.id]=this.processNodeDataProviderDataForGraph(t,o.nodeDataProviderData));this.appService.setSelectedNodeDataProviderRunId(this.appService.panes()[n].id,r[0].runId)}}getRgbFromColor(t,n){let r=t;return t.startsWith("#")||(r=Jb[t]),r||(r=n),r=r.replace("#",""),{r:this.hexStrToInt(r.substring(0,2)),g:this.hexStrToInt(r.substring(2,4)),b:this.hexStrToInt(r.substring(4,6))}}numToHex(t){let n=t.toString(16);return n.length===1?`0${n}`:n}hexStrToInt(t){return/^[a-fA-F0-9]+$/.test(t)?parseInt(t,16):255}getNodeDataProviderData(t,n){let r=JSON.parse(t),o={};return r.results!=null&&r.results.results==null?n&&(o[n.id]=r):o=r,o}notifyRemoteNodeDataChanges(){let t=Object.values(this.runs()).filter(n=>n.remotePath!=null).map(n=>n.remotePath);this.appService.remoteNodeDataPaths.set(t)}static \u0275fac=function(n){return new(n||i)(X(at))};static \u0275prov=J({token:i,factory:i.\u0275fac})}return i})();var Tue=en*.5,Due=Ln,EC=(()=>{class i{nodeDataProviderExtensionService;curNodeDataProviderResults=Bt(()=>this.webglRenderer?(this.nodeDataProviderExtensionService.getSelectedRunForModelGraph(this.webglRenderer.paneId,this.webglRenderer.curModelGraph)?.results||{})[this.webglRenderer.curModelGraph.id]:void 0);webglRenderer;webglRendererThreejsService;nodeDataProviderDistributionBars=new Ni(0);constructor(t){this.nodeDataProviderExtensionService=t}init(t){this.webglRenderer=t,this.webglRendererThreejsService=t.webglRendererThreejsService}renderNodeDataProviderDistributionBars(){let t=this.curNodeDataProviderResults()||{};if(Object.keys(t).length===0)return;let{groupIdToDescendantsBgColorCounts:n,sortedBgColors:r}=this.genGroupIdToDescendantsBgColorCounts(),o=[];for(let{node:s,index:a}of this.webglRenderer.nodesToRender){if(!n[s.id])continue;let c=s,l=c.width||0,d=n[s.id],u=0;for(let f of Object.values(d))u+=f;let h=0,p=0;for(let f of r){if(d[f]==null||f==="transparent")continue;let y=d[f]/u*l,g=VI,_=h;o.push({id:`${s.id}_${p}`,index:o.length,bound:{x:this.webglRenderer.getNodeX(c)+_+y/2,y:this.webglRenderer.getNodeY(c)+this.webglRenderer.getNodeHeight(c)-VI+g/2,width:y,height:g},yOffset:en*a+Tue,isRounded:!1,borderColor:{r:1,g:1,b:1},bgColor:new Due.Color(f),borderWidth:0,opacity:1}),h+=y,p++}}this.nodeDataProviderDistributionBars.generateMesh(o),this.webglRendererThreejsService.addToScene(this.nodeDataProviderDistributionBars.mesh)}updateAnimationProgress(t){this.nodeDataProviderDistributionBars.updateAnimationProgress(t)}genGroupIdToDescendantsBgColorCounts(){let t=this.curNodeDataProviderResults()||{},n={},r=new Set;for(let{node:o}of this.webglRenderer.nodesToRender)if(wt(o)&&!o.expanded){let s={};for(let a of o.descendantsOpNodeIds||[]){let c=this.webglRenderer.curModelGraph.nodesById[a],l=t[c.id]?.bgColor||"";l&&(s[l]==null&&(s[l]=0),s[l]++,r.add(l))}n[o.id]=s}return{groupIdToDescendantsBgColorCounts:n,sortedBgColors:[...r].sort((o,s)=>o.localeCompare(s))}}static \u0275fac=function(n){return new(n||i)(X(Mr))};static \u0275prov=J({token:i,factory:i.\u0275fac})}return i})();var Oue=-en*.3,Rue=en*.3,Aue=Ln,IC=(()=>{class i{appService;SEARCH_RESULTS_HIGHLIGHT_COLOR=new Aue.Color("#f5d55a");searchResultsHighlightBorders=new Ni(8);searchResultsNodeLabelHighlightBg=new Ni(4);webglRenderer;webglRendererThreejsService;curSearchResults=void 0;constructor(t){this.appService=t}init(t){this.webglRenderer=t,this.webglRendererThreejsService=t.webglRendererThreejsService,lt(()=>{let n=this.appService.getPaneById(this.webglRenderer.paneId);!n||!n.modelGraph||this.curSearchResults!==n.searchResults&&(this.curSearchResults=n.searchResults,this.renderSearchResults(),this.webglRendererThreejsService.render())})}renderSearchResults(){if(!this.curSearchResults)return;this.clearSearchResults();let t=new Set;for(let s of Object.keys(this.curSearchResults.results)){let a=this.webglRenderer.curModelGraph.nodesById[s];if(this.webglRenderer.isNodeRendered(s))t.add(s);else{let c=a;for(;c&&(c=this.webglRenderer.curModelGraph.nodesById[c.nsParentId||""],!(!c||this.webglRenderer.isNodeRendered(c.id))););t.add(c.id)}}let n=[];for(let s of t){let a=this.webglRenderer.curModelGraph.nodesById[s],c=this.webglRenderer.nodesToRenderMap[s].index,l=this.webglRenderer.getNodeX(a)-2,d=this.webglRenderer.getNodeY(a)-2,u=this.webglRenderer.getNodeWidth(a)+4,h=this.webglRenderer.getNodeHeight(a)+4;n.push({id:s,index:n.length,bound:{x:l+u/2,y:d+h/2,width:u,height:h},yOffset:en*c+Oue,isRounded:!0,borderColor:{r:1,g:1,b:1},bgColor:this.SEARCH_RESULTS_HIGHLIGHT_COLOR,borderWidth:0,opacity:1})}this.searchResultsHighlightBorders.generateMesh(n),this.webglRendererThreejsService.addToScene(this.searchResultsHighlightBorders.mesh);let r=[],o=zo/this.webglRenderer.texts.getFontSize();for(let s of Object.keys(this.curSearchResults.results)){if(!this.webglRenderer.isNodeRendered(s))continue;let a=this.curSearchResults.results[s];for(let c of a)if(c.type===xt.NODE_LABEL){let l=this.webglRenderer.curModelGraph.nodesById[s],d=this.webglRenderer.nodesToRenderMap[s].index,u=this.webglRenderer.getNodeX(l)+this.webglRenderer.getNodeWidth(l)/2,h=0,p=0,f=0,m=md(l.label);if(m.length===1){let y=this.webglRenderer.texts.getLabelSizes(l.label,wt(l)?mn.BOLD:mn.MEDIUM,zo).sizes;f=(y.maxX-y.minX)*o+4,p=(y.maxZ-y.minZ)*o+4,h=this.webglRenderer.getNodeY(l)+this.webglRenderer.getNodeLabelRelativeY(l)-2*o}else{let{minX:y,maxX:g}=this.webglRenderer.getNodeLabelSizes(l);f=(g-y)*o+4,p=m.length*xh+4,h=this.webglRenderer.getNodeY(l)+p/2+4.5-2*o}r.push({id:s,index:n.length,bound:{x:u,y:h,width:f,height:p},yOffset:en*d+Rue,isRounded:!0,borderColor:{r:1,g:1,b:1},bgColor:this.SEARCH_RESULTS_HIGHLIGHT_COLOR,borderWidth:0,opacity:1})}}this.searchResultsNodeLabelHighlightBg.generateMesh(r),this.webglRendererThreejsService.addToScene(this.searchResultsNodeLabelHighlightBg.mesh),this.webglRenderer.animateIntoPositions(s=>{this.searchResultsHighlightBorders.updateAnimationProgress(s),this.searchResultsNodeLabelHighlightBg.updateAnimationProgress(s)})}clearSearchResults(){for(let t of[this.searchResultsHighlightBorders.mesh,this.searchResultsNodeLabelHighlightBg.mesh])t&&(t.geometry&&t.geometry.dispose(),this.webglRendererThreejsService.removeFromScene(t))}static \u0275fac=function(n){return new(n||i)(X(at))};static \u0275prov=J({token:i,factory:i.\u0275fac})}return i})();var LG=320,TC=(()=>{class i{appService;destroyRef;webglRenderer;webglRendererThreejsService;constructor(t,n){this.appService=t,this.destroyRef=n}init(t){this.webglRenderer=t,this.webglRendererThreejsService=t.webglRendererThreejsService,this.appService.addSnapshotClicked.pipe(Ei(this.destroyRef)).subscribe(n=>{n.rendererId===this.webglRenderer.rendererId&&this.addSnapshot()}),this.appService.curSnapshotToRestore.pipe(Ei(this.destroyRef)).subscribe(n=>{n.rendererId===this.webglRenderer.rendererId&&this.restoreSnapshot(n.snapshot)})}addSnapshot(){return It(this,null,function*(){this.webglRenderer.flash();let t=yield this.takeSnapshot();this.webglRenderer.appService.addSnapshot(t,this.webglRenderer.curModelGraph.id,this.webglRenderer.paneId)})}takeSnapshot(){return It(this,null,function*(){let t=this.webglRenderer.container.nativeElement,n=this.webglRendererThreejsService.convertScreenPosToScene(0,0),r=this.webglRendererThreejsService.convertScreenPosToScene(t.clientWidth,t.clientHeight),o={x:n.x,y:n.y,width:r.x-n.x,height:r.y-n.y},s=[];Nm(void 0,this.webglRenderer.curModelGraph,s);let a=this.webglRenderer.canvas.nativeElement,c=this.webglRenderer.snapshotCanvas.nativeElement,l=LG,d=LG/a.width*a.height;this.webglRendererThreejsService.renderSnapshot(l,d);let u=window.devicePixelRatio,h=new OffscreenCanvas(l*u,d*u),p=h.getContext("2d");p.imageSmoothingQuality="high",p.drawImage(c,0,0,c.width,c.height,0,0,h.width,h.height);let f=yield createImageBitmap(h),m=this.webglRenderer.appService.getFlattenLayers(this.webglRenderer.paneId);return{id:Ur(),rect:o,imageBitmap:f,selectedNodeId:this.webglRenderer.selectedNodeId,deepestExpandedGroupNodeIds:s,showOnNodeItemTypes:Z({},this.webglRenderer.curShowOnNodeItemTypes),showOnEdgeItemTypes:Z({},this.webglRenderer.curShowOnEdgeItemTypes),flattenLayers:m}})}restoreSnapshot(t){t.showOnNodeItemTypes&&(this.webglRenderer.curShowOnNodeItemTypes=Z({},t.showOnNodeItemTypes),this.webglRenderer.appService.setShowOnNode(this.webglRenderer.paneId,this.webglRenderer.rendererId,this.webglRenderer.curShowOnNodeItemTypes)),t.showOnEdgeItemTypes&&(this.webglRenderer.curShowOnEdgeItemTypes=Z({},t.showOnEdgeItemTypes),this.webglRenderer.appService.setShowOnEdge(this.webglRenderer.paneId,this.webglRenderer.rendererId,this.webglRenderer.curShowOnEdgeItemTypes));let n=this.webglRenderer.appService.getFlattenLayers(this.webglRenderer.paneId),r=t.flattenLayers===!0;n!==r?(this.webglRenderer.appService.processGraph(this.webglRenderer.paneId,r,t),this.webglRenderer.appService.setFlattenLayersInCurrentPane(r)):this.webglRenderer.sendRelayoutGraphRequest(t.selectedNodeId||"",t.deepestExpandedGroupNodeIds||[],!1,t.rect,!0,t.showOnNodeItemTypes)}static \u0275fac=function(n){return new(n||i)(X(at),X(Fi))};static \u0275prov=J({token:i,factory:i.\u0275fac})}return i})();var FG={r:1,g:1,b:1},DC=14,Lue=Ln,PC=(()=>{class i{appService;subgraphSelectionService;SUBGRAPH_SELECTED_NODE_MARKER_BG_COLOR=new Lue.Color("#09B83E");webglRenderer;webglRendererThreejsService;threejsService=te(Sr);curSubgraphSelectedNodeIds={};subgraphsSelectedNodeMarkerBgs=new Ni(99);subgraphSelectedNodeMarkerTexts=new qi(this.threejsService);constructor(t,n){this.appService=t,this.subgraphSelectionService=n}init(t){this.webglRenderer=t,this.webglRendererThreejsService=t.webglRendererThreejsService,lt(()=>{this.curSubgraphSelectedNodeIds=this.subgraphSelectionService.selectedNodeIds(),this.renderSubgraphSelectedNodeMarkers()})}renderSubgraphSelectedNodeMarkers(){if(!this.enableSubgraphSelection)return;let t=Object.keys(this.curSubgraphSelectedNodeIds),n=new Set(t);if(this.clearSubgraphSelectedNodeMarkers(),t.length===0){this.webglRendererThreejsService.render();return}let r=[],o=new Set;for(let a of t){let l=this.webglRenderer.curModelGraph.nodesById[a];for(;;){let d=this.webglRenderer.curModelGraph.nodesById[l.nsParentId||""];if(d)o.add(d.id),l=d;else break}}let s=[];for(let a of o){if(!this.webglRenderer.isNodeRendered(a))continue;let c=this.webglRenderer.curModelGraph.nodesById[a],l=this.webglRenderer.getNodeX(c)+this.webglRenderer.getNodeWidth(c),d=this.webglRenderer.getNodeY(c),u=(c.descendantsOpNodeIds||[]).filter(f=>{let m=this.webglRenderer.curModelGraph.nodesById[f];return n.has(m.id)}).length;s.push({id:`${a}_subgraph_count_label`,nodeId:a,label:`${u}`,height:8,hAlign:"center",vAlign:"center",weight:mn.MEDIUM,color:this.webglRenderer.NODE_LABEL_COLOR,x:l,y:96,z:d+1});let h=DC*(u>=1e3?2:1.5),p=DC;r.push({id:a,index:r.length,bound:{x:l,y:d,width:h,height:p},yOffset:95.5,isRounded:!0,borderColor:this.SUBGRAPH_SELECTED_NODE_MARKER_BG_COLOR,bgColor:FG,borderWidth:1.5,opacity:1})}for(let a of t){if(!this.webglRenderer.isNodeRendered(a))continue;let c=this.webglRenderer.curModelGraph.nodesById[a],l=this.webglRenderer.getNodeX(c)+this.webglRenderer.getNodeWidth(c),d=this.webglRenderer.getNodeY(c),u=DC,h=DC;r.push({id:a,index:r.length,bound:{x:l,y:d,width:u,height:h},yOffset:95.5,isRounded:!0,borderColor:this.SUBGRAPH_SELECTED_NODE_MARKER_BG_COLOR,bgColor:FG,borderWidth:1.5,opacity:1}),s.push({id:`${c.id}_checkmark`,nodeId:c.id,label:"0xe876",height:24,hAlign:"center",vAlign:"center",weight:mn.ICONS,color:this.SUBGRAPH_SELECTED_NODE_MARKER_BG_COLOR,x:l,y:96,z:d+14,treatLabelAsAWhole:!0,weightLevel:.9})}this.subgraphsSelectedNodeMarkerBgs.generateMesh(r,!1,!1,!1,!0),this.webglRendererThreejsService.addToScene(this.subgraphsSelectedNodeMarkerBgs.mesh),this.subgraphSelectedNodeMarkerTexts.generateMesh(s,!1,!0,!0),this.webglRendererThreejsService.addToScene(this.subgraphSelectedNodeMarkerTexts.mesh),this.webglRenderer.animateIntoPositions(a=>{this.subgraphsSelectedNodeMarkerBgs.updateAnimationProgress(a),this.subgraphSelectedNodeMarkerTexts.updateAnimationProgress(a)})}get enableSubgraphSelection(){return this.appService.config()?.enableSubgraphSelection===!0}clearSubgraphSelectedNodeMarkers(){for(let t of[this.subgraphsSelectedNodeMarkerBgs.mesh,this.subgraphSelectedNodeMarkerTexts.mesh])t&&(t.geometry&&t.geometry.dispose(),this.webglRendererThreejsService.removeFromScene(t))}static \u0275fac=function(n){return new(n||i)(X(at),X(Ko))};static \u0275prov=J({token:i,factory:i.\u0275fac})}return i})();var Er=500,BG=200,is=Ln,OC=(()=>{class i{curScale=1;fps="";camera;raycaster;zoom=fD();webglRenderer;curTranslateX=0;curTranslateY=0;scene;renderer;snapshotRenderer;pngDownloaderRenderer;savedCenterX=null;savedCenterY=null;resizeTimeoutRef=-1;fpsStartTime=-1;frames=0;init(t){this.webglRenderer=t}setupZoomAndPan(t,n=.1,r=10){let o=$o(t),s=0,a=0;this.zoom.scaleExtent([n,r]).wheelDelta(()=>-ht.deltaY*(ht.deltaMode?120:1)/150).filter(()=>{if(ht.type==="mousedown"&&(s=this.curTranslateX,a=this.curTranslateY),ht.button===2||Am&&ht.ctrlKey&&ht.button===0&&ht.type==="mousedown")return!1;if(ht.type==="dblclick")return ht.stopPropagation(),this.webglRenderer.handleDoubleClickOnGraph(ht.altKey,ht.shiftKey),!1;if(ht.type==="wheel"&&!ht.ctrlKey){let c=.5/this.curScale;return this.zoom.translateBy(o,-Number(ht.deltaX)*c,-Number(ht.deltaY)*c),ht.preventDefault(),!1}return!0}).on("zoom",()=>{this.handleZoom()}).on("end",()=>{this.handleZoomEnd(s,a)}),this.zoom.interpolate(Pd),o.call(this.zoom)}setupThreeJs(){let t=this.webglRenderer.canvas.nativeElement;this.scene=new is.Scene,this.scene.background=new is.Color(16777215);let n=t.clientWidth/t.clientHeight;this.camera=new is.OrthographicCamera(0,2*Er*n,0,-2*Er,.001,1e3),this.camera.position.y=BG,this.camera.lookAt(new is.Vector3(0,0,0)),this.camera.updateMatrixWorld(),this.camera.updateProjectionMatrix(),this.renderer=new is.WebGLRenderer({canvas:t,powerPreference:"high-performance",precision:"highp",antialias:!0,alpha:!0});let r=pd();this.renderer.setPixelRatio(r),this.renderer.setSize(t.clientWidth,t.clientHeight);let o=this.webglRenderer.snapshotCanvas.nativeElement;this.snapshotRenderer=new is.WebGLRenderer({canvas:o,powerPreference:"high-performance",precision:"highp",antialias:!0,alpha:!0,preserveDrawingBuffer:!0}),this.snapshotRenderer.setPixelRatio(r),this.render(),new ResizeObserver(()=>{requestAnimationFrame(()=>{this.resizeRendererToDisplaySize()})}).observe(this.webglRenderer.container.nativeElement),this.raycaster=new is.Raycaster,this.raycaster.params.Points.threshold=5.5}clearScene(t=[]){for(let n=this.scene.children.length-1;n>=0;n--){let r=this.scene.children[n];t.includes(r)||(r.geometry&&r.geometry.dispose(),this.scene.remove(r))}}setupPngDownloaderRenderer(t,n,r,o){this.pngDownloaderRenderer||(this.pngDownloaderRenderer=new is.WebGLRenderer({canvas:t,powerPreference:"high-performance",precision:"highp",antialias:!0,alpha:!0,preserveDrawingBuffer:!0}),this.pngDownloaderRenderer.setPixelRatio(pd())),n&&(this.scene.background=null,this.pngDownloaderRenderer.setClearColor(0,0)),this.pngDownloaderRenderer.setSize(r,o,!1)}renderPngDownloader(t){this.pngDownloaderRenderer.render(this.scene,t)}renderSnapshot(t,n){this.snapshotRenderer.setSize(t,n,!1),this.snapshotRenderer.render(this.scene,this.camera)}setSceneBackground(t){this.scene.background=t}createOrthographicCamera(t,n,r,o){let s=new is.OrthographicCamera(t,n,r,o,.001,1e3);return s.position.y=BG,s.lookAt(new is.Vector3(0,0,0)),s.updateMatrixWorld(),s.updateProjectionMatrix(),s}dispose(){this.renderer&&(this.renderer.dispose(),this.renderer.forceContextLoss()),this.snapshotRenderer&&(this.snapshotRenderer.dispose(),this.snapshotRenderer.forceContextLoss()),this.pngDownloaderRenderer&&(this.pngDownloaderRenderer.dispose(),this.pngDownloaderRenderer.forceContextLoss())}render(t=!1){if(!(!this.renderer||!this.scene||!this.camera)&&(this.renderer.render(this.scene,this.camera),this.webglRenderer.benchmark&&t)){this.fpsStartTime<0&&(this.fpsStartTime=performance.now()),this.frames+=1;let n=performance.now()-this.fpsStartTime;n>1e3&&(this.fps=(this.frames/n*1e3).toFixed(1),this.fpsStartTime=-1,this.frames=0,this.webglRenderer.changeDetectorRef.markForCheck())}}zoomFitGraph(t=.9,n=200){this.zoomFit({x:this.webglRenderer.currentMinX,y:this.webglRenderer.currentMinZ,width:this.webglRenderer.currentMaxX-this.webglRenderer.currentMinX,height:this.webglRenderer.currentMaxZ-this.webglRenderer.currentMinZ},t,n)}zoomFit(t,n=.9,r=300,o=!1,s=!0,a=!1){if(!this.webglRenderer.container)return;let c=this.webglRenderer.container.nativeElement,l=c.clientWidth*n,d=c.clientHeight*n,u=t.width/t.height,h=l/d,p=o?this.curScale:Math.abs(u>h?this.convertXFromScreenToScene(l)/t.width:this.convertZFromScreenToScene(d)/t.height),f=t.x+t.width/2,m=t.y+t.height/2;if(!o&&s){let y=this.convertZFromScreenToScene(45)/30;if(p=Math.min(y,p),a){let g=this.convertZFromScreenToScene(20)/30;p{let o=n.nodesById[t];this.zoomFit({x:this.webglRenderer.getNodeX(o),y:this.webglRenderer.getNodeY(o),width:this.webglRenderer.getNodeWidth(o),height:this.webglRenderer.getNodeHeight(o)},.9,r,!1,!0,!0)},0):setTimeout(()=>{this.zoomFitGraph(.9,r)})}addToScene(t){t&&this.scene.add(t)}removeFromScene(t){t&&this.scene.remove(t)}convertXFromSceneToScreen(t){if(!this.webglRenderer.container)return 0;let n=this.webglRenderer.container.nativeElement,r=n.clientWidth,o=r/n.clientHeight;return t/(Er/1*o)/-2*r}convertZFromSceneToScreen(t){if(!this.webglRenderer.container)return 0;let r=this.webglRenderer.container.nativeElement.clientHeight;return t*1*r/Er/2}convertXFromScreenToScene(t){if(!this.webglRenderer.container)return 0;let n=this.webglRenderer.container.nativeElement,r=n.clientWidth,o=r/n.clientHeight;return t/r*-2*(Er/1*o)}convertZFromScreenToScene(t,n=1){if(!this.webglRenderer.container)return 0;let o=this.webglRenderer.container.nativeElement.clientHeight;return t*Er*2/n/o}convertScenePosToScreen(t,n){let r=this.webglRenderer.container.nativeElement,o=r.clientWidth,s=r.clientHeight,a=new is.Vector3(t,0,n);return a.project(this.camera),{x:a.x*o/2+o/2,y:-(a.y*s/2)+s/2}}convertScreenPosToScene(t,n){let r=new is.Vector3;r.set(t/this.webglRenderer.canvas.nativeElement.offsetWidth*2-1,-(n/this.webglRenderer.canvas.nativeElement.offsetHeight)*2+1,-1);let o=r.unproject(this.camera);return{x:o.x,y:o.z}}handleZoom(){this.curScale=ht.transform.k,this.curTranslateX=ht.transform.x,this.curTranslateY=ht.transform.y,requestAnimationFrame(()=>{this.camera&&(this.setCameraFrustum(),this.webglRenderer.updateNodeBgColorWhenFar(),this.render(),this.webglRenderer.handleHoveredGroupNodeIconChanged())})}handleZoomEnd(t,n){if(ht.sourceEvent&&ht.sourceEvent.type==="mouseup"){let r=Math.abs(this.curTranslateX-t),o=Math.abs(this.curTranslateY-n);r>=0&&r<=3&&o>=0&&o<=3&&this.webglRenderer.handleClickOnGraph(ht.sourceEvent.shiftKey)}}setCameraFrustum(){let t=this.webglRenderer.container.nativeElement,n=t.clientWidth,r=t.clientHeight,o=n/r,s=this.curTranslateX-n/2,a=this.curTranslateY-r/2;this.camera.left=-Er/this.curScale*o-s/n*2*Er/this.curScale*o,this.camera.right=Er/this.curScale*o-s/n*2*Er/this.curScale*o,this.camera.top=Er/this.curScale+a*Er/this.curScale/r*2,this.camera.bottom=-Er/this.curScale+a*Er/this.curScale/r*2,this.camera.updateProjectionMatrix()}resizeRendererToDisplaySize(t=!0){let n=this.webglRenderer.container.nativeElement,r=this.renderer.domElement,o=n.clientWidth,s=n.clientHeight;if(o===0||s===0)return;if(r.width!==o||r.height!==s){if(this.savedCenterX==null&&this.savedCenterY==null){let{x:c,y:l}=this.convertScreenPosToScene(o/2,s/2);this.savedCenterX=c,this.savedCenterY=l}this.renderer.setSize(o,s,!1),this.webglRenderer.canvas.nativeElement.style.width="100%",this.webglRenderer.canvas.nativeElement.style.height="100%",this.setCameraFrustum(),this.render(),this.zoomFit({x:this.savedCenterX,y:this.savedCenterY,width:1e-7,height:1e-7},.9,0,!0),this.resizeTimeoutRef>=0&&window.clearTimeout(this.resizeTimeoutRef),this.resizeTimeoutRef=window.setTimeout(()=>{this.savedCenterX=null,this.savedCenterY=null},500)}}centerViewAt(t,n,r,o=300){if(!this.webglRenderer.container)return;let s=this.webglRenderer.container.nativeElement,a=s.clientWidth,c=s.clientHeight,l=a/c,d=-2*Er*l/2/r+t,u=-n+Er/r,h=Bd.scale(r).translate(this.convertXFromSceneToScreen(d),this.convertZFromSceneToScreen(u)),p=$o(s);o===0?p.call(this.zoom.transform,h):p.transition().duration(this.webglRenderer.appService.testMode?0:o).ease(XT).call(this.zoom.transform,h)}static \u0275fac=function(n){return new(n||i)};static \u0275prov=J({token:i,factory:i.\u0275fac})}return i})();var cf=function(i){return i.COLOR="COLOR",i.NUMBER="NUMBER",i}(cf||{}),Vue={type:cf.COLOR,label:"Bg color",id:qs.NODE_BG_COLOR,defaultValue:"#ffffff"},zue={type:cf.COLOR,label:"Border color",id:qs.NODE_BORDER_COLOR,defaultValue:"#777777"},Uue={type:cf.COLOR,label:"Text color",id:qs.NODE_TEXT_COLOR,defaultValue:"#041e49"},zG=[Vue,zue,Uue],VG="model_explorer_node_styler_rules",pa=(()=>{class i{appService;localStorageService;rules=ct([]);matchedNodes=ct({});hasNonEmptyNodeStylerRules=Bt(()=>this.rules().filter(t=>Ch(t.queries)&&Object.keys(t.styles).length>0).length>0);constructor(t,n){if(this.appService=t,this.localStorageService=n,lt(()=>{let r=this.rules();this.appService.testMode||this.localStorageService.setItem(VG,JSON.stringify(r)),this.computeMatchedNodes(r)}),this.appService.testMode){let r=new URLSearchParams(document.location.search),o=decodeURIComponent(r.get("test_node_styler_rules")||"");this.updateRules(o===""?[]:JSON.parse(o))}else{let r=this.localStorageService.getItem(VG)||"",o=r===""?[]:JSON.parse(r);this.updateRules(o)}}addNewRule(){this.rules.update(t=>{let n=[...t];return n.push({queries:[{type:Vn.NODE_TYPE,nodeType:_r.OP_NODES},{type:Vn.REGEX,queryRegex:"",matchTypes:[xt.NODE_LABEL]}],nodeType:_r.OP_NODES,styles:{},version:$b.V2}),n})}moveUpRule(t){this.rules.update(n=>{let r=[...n],o=n[t];return r.splice(t,1),r.splice(t-1,0,o),r})}moveDownRule(t){this.rules.update(n=>{let r=[...n],o=n[t];return r.splice(t,1),r.splice(t+1,0,o),r})}duplicateRule(t){this.rules.update(n=>{let r=JSON.parse(JSON.stringify(n[t]));return[...n.slice(0,t),r,...n.slice(t)]})}updateRules(t){this.rules.set(this.convertOldRulesIfNecessary(t))}updateQueries(t,n){this.rules.update(r=>{let o=r[t];return o.queries=n,[...r]})}toggleStyle(t,n,r){this.rules.update(o=>{let s=o[t];return r==null?s.styles[n.id]==null?s.styles[n.id]={id:n.id,value:n.defaultValue}:delete s.styles[n.id]:r?s.styles[n.id]={id:n.id,value:n.defaultValue}:delete s.styles[n.id],[...o]})}updateStyleValue(t,n,r){this.rules.update(o=>{let s=o[t],a=s.styles[n.id];return a&&(typeof a=="string"?s.styles[n.id]=r:a.value=r),[...o]})}deleteRule(t){this.rules.update(n=>{let r=[...n];return r.splice(t,1),r})}convertOldRulesIfNecessary(t){return t.map(n=>{if(n.version==null&&n.nodeType){let r={type:Vn.NODE_TYPE,nodeType:n.nodeType};n.queries.unshift(r),n.version=$b.V2}return n})}computeMatchedNodes(t){let n=ny(t),r={};if(t.length>0&&t.some(o=>Ch(o.queries))){let o=this.appService.panes();for(let s=0;sthis._finishDismiss())}dismiss(){this._afterDismissed.closed||this.containerInstance.exit(),clearTimeout(this._durationTimeoutId)}dismissWithAction(){this._onAction.closed||(this._dismissedByAction=!0,this._onAction.next(),this._onAction.complete(),this.dismiss()),clearTimeout(this._durationTimeoutId)}closeWithAction(){this.dismissWithAction()}_dismissAfter(e){this._durationTimeoutId=setTimeout(()=>this.dismiss(),Math.min(e,Wue))}_open(){this._afterOpened.closed||(this._afterOpened.next(),this._afterOpened.complete())}_finishDismiss(){this._overlayRef.dispose(),this._onAction.closed||this._onAction.complete(),this._afterDismissed.next({dismissedByAction:this._dismissedByAction}),this._afterDismissed.complete(),this._dismissedByAction=!1}afterDismissed(){return this._afterDismissed}afterOpened(){return this.containerInstance._onEnter}onAction(){return this._onAction}},UG=new me("MatSnackBarData"),lf=class{constructor(){this.politeness="assertive",this.announcementMessage="",this.duration=0,this.data=null,this.horizontalPosition="center",this.verticalPosition="bottom"}},$ue=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275dir=Ve({type:e,selectors:[["","matSnackBarLabel",""]],hostAttrs:[1,"mat-mdc-snack-bar-label","mdc-snackbar__label"],standalone:!0});let i=e;return i})(),que=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275dir=Ve({type:e,selectors:[["","matSnackBarActions",""]],hostAttrs:[1,"mat-mdc-snack-bar-actions","mdc-snackbar__actions"],standalone:!0});let i=e;return i})(),Yue=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275dir=Ve({type:e,selectors:[["","matSnackBarAction",""]],hostAttrs:[1,"mat-mdc-snack-bar-action","mdc-snackbar__action"],standalone:!0});let i=e;return i})(),HG=(()=>{let e=class e{constructor(n,r){this.snackBarRef=n,this.data=r}action(){this.snackBarRef.dismissWithAction()}get hasAction(){return!!this.data.action}};e.\u0275fac=function(r){return new(r||e)(M(Q_),M(UG))},e.\u0275cmp=ce({type:e,selectors:[["simple-snack-bar"]],hostAttrs:[1,"mat-mdc-simple-snack-bar"],exportAs:["matSnackBar"],standalone:!0,features:[le],decls:3,vars:2,consts:[["matSnackBarLabel",""],["matSnackBarActions",""],["mat-button","","matSnackBarAction","",3,"click"]],template:function(r,o){r&1&&(v(0,"div",0),S(1),b(),$(2,Hue,3,1,"div",1)),r&2&&(w(),Se(" ",o.data.message,` +`),w(),oe(o.hasAction?2:-1))},dependencies:[Ti,$ue,que,Yue],styles:[".mat-mdc-simple-snack-bar{display:flex}"],encapsulation:2,changeDetection:0});let i=e;return i})(),Xue={snackBarState:li("state",[vi("void, hidden",Kt({transform:"scale(0.8)",opacity:0})),vi("visible",Kt({transform:"scale(1)",opacity:1})),An("* => visible",Rn("150ms cubic-bezier(0, 0, 0.2, 1)")),An("* => void, * => hidden",Rn("75ms cubic-bezier(0.4, 0.0, 1, 1)",Kt({opacity:0})))])},Zue=0,Que=(()=>{let e=class e extends da{constructor(n,r,o,s,a){super(),this._ngZone=n,this._elementRef=r,this._changeDetectorRef=o,this._platform=s,this.snackBarConfig=a,this._document=te(Xe),this._trackedModals=new Set,this._announceDelay=150,this._destroyed=!1,this._onAnnounce=new pe,this._onExit=new pe,this._onEnter=new pe,this._animationState="void",this._liveElementId=`mat-snack-bar-container-live-${Zue++}`,this.attachDomPortal=c=>{this._assertNotAttached();let l=this._portalOutlet.attachDomPortal(c);return this._afterPortalAttached(),l},a.politeness==="assertive"&&!a.announcementMessage?this._live="assertive":a.politeness==="off"?this._live="off":this._live="polite",this._platform.FIREFOX&&(this._live==="polite"&&(this._role="status"),this._live==="assertive"&&(this._role="alert"))}attachComponentPortal(n){this._assertNotAttached();let r=this._portalOutlet.attachComponentPortal(n);return this._afterPortalAttached(),r}attachTemplatePortal(n){this._assertNotAttached();let r=this._portalOutlet.attachTemplatePortal(n);return this._afterPortalAttached(),r}onAnimationEnd(n){let{fromState:r,toState:o}=n;if((o==="void"&&r!=="void"||o==="hidden")&&this._completeExit(),o==="visible"){let s=this._onEnter;this._ngZone.run(()=>{s.next(),s.complete()})}}enter(){this._destroyed||(this._animationState="visible",this._changeDetectorRef.markForCheck(),this._changeDetectorRef.detectChanges(),this._screenReaderAnnounce())}exit(){return this._ngZone.run(()=>{this._animationState="hidden",this._changeDetectorRef.markForCheck(),this._elementRef.nativeElement.setAttribute("mat-exit",""),clearTimeout(this._announceTimeoutId)}),this._onExit}ngOnDestroy(){this._destroyed=!0,this._clearFromModals(),this._completeExit()}_completeExit(){queueMicrotask(()=>{this._onExit.next(),this._onExit.complete()})}_afterPortalAttached(){let n=this._elementRef.nativeElement,r=this.snackBarConfig.panelClass;r&&(Array.isArray(r)?r.forEach(a=>n.classList.add(a)):n.classList.add(r)),this._exposeToModals();let o=this._label.nativeElement,s="mdc-snackbar__label";o.classList.toggle(s,!o.querySelector(`.${s}`))}_exposeToModals(){let n=this._liveElementId,r=this._document.querySelectorAll('body > .cdk-overlay-container [aria-modal="true"]');for(let o=0;o{let r=n.getAttribute("aria-owns");if(r){let o=r.replace(this._liveElementId,"").trim();o.length>0?n.setAttribute("aria-owns",o):n.removeAttribute("aria-owns")}}),this._trackedModals.clear()}_assertNotAttached(){this._portalOutlet.hasAttached()}_screenReaderAnnounce(){this._announceTimeoutId||this._ngZone.runOutsideAngular(()=>{this._announceTimeoutId=setTimeout(()=>{let n=this._elementRef.nativeElement.querySelector("[aria-hidden]"),r=this._elementRef.nativeElement.querySelector("[aria-live]");if(n&&r){let o=null;this._platform.isBrowser&&document.activeElement instanceof HTMLElement&&n.contains(document.activeElement)&&(o=document.activeElement),n.removeAttribute("aria-hidden"),r.appendChild(n),o?.focus(),this._onAnnounce.next(),this._onAnnounce.complete()}},this._announceDelay)})}};e.\u0275fac=function(r){return new(r||e)(M(Fe),M(Re),M(Ne),M(gn),M(lf))},e.\u0275cmp=ce({type:e,selectors:[["mat-snack-bar-container"]],viewQuery:function(r,o){if(r&1&&(Ee(es,7),Ee(Gue,7)),r&2){let s;be(s=ye())&&(o._portalOutlet=s.first),be(s=ye())&&(o._label=s.first)}},hostAttrs:[1,"mdc-snackbar","mat-mdc-snack-bar-container"],hostVars:1,hostBindings:function(r,o){r&1&&YE("@state.done",function(a){return o.onAnimationEnd(a)}),r&2&&Jf("@state",o._animationState)},standalone:!0,features:[sn,le],decls:6,vars:3,consts:[["label",""],[1,"mdc-snackbar__surface","mat-mdc-snackbar-surface"],[1,"mat-mdc-snack-bar-label"],["aria-hidden","true"],["cdkPortalOutlet",""]],template:function(r,o){r&1&&(v(0,"div",1)(1,"div",2,0)(3,"div",3),$(4,jue,0,0,"ng-template",4),b(),ee(5,"div"),b()()),r&2&&(w(5),Ye("aria-live",o._live)("role",o._role)("id",o._liveElementId))},dependencies:[es],styles:[".mat-mdc-snack-bar-container{display:flex;align-items:center;justify-content:center;box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0);margin:8px}.mat-mdc-snack-bar-handset .mat-mdc-snack-bar-container{width:100vw}.mat-mdc-snackbar-surface{box-shadow:0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);display:flex;align-items:center;justify-content:flex-start;box-sizing:border-box;padding-left:0;padding-right:8px}[dir=rtl] .mat-mdc-snackbar-surface{padding-right:0;padding-left:8px}.mat-mdc-snack-bar-container .mat-mdc-snackbar-surface{min-width:344px;max-width:672px}.mat-mdc-snack-bar-handset .mat-mdc-snackbar-surface{width:100%;min-width:0}.cdk-high-contrast-active .mat-mdc-snackbar-surface{outline:solid 1px}.mat-mdc-snack-bar-container .mat-mdc-snackbar-surface{color:var(--mdc-snackbar-supporting-text-color);border-radius:var(--mdc-snackbar-container-shape);background-color:var(--mdc-snackbar-container-color)}.mdc-snackbar__label{width:100%;flex-grow:1;box-sizing:border-box;margin:0;padding:14px 8px 14px 16px}[dir=rtl] .mdc-snackbar__label{padding-left:8px;padding-right:16px}.mat-mdc-snack-bar-container .mdc-snackbar__label{font-family:var(--mdc-snackbar-supporting-text-font);font-size:var(--mdc-snackbar-supporting-text-size);font-weight:var(--mdc-snackbar-supporting-text-weight);line-height:var(--mdc-snackbar-supporting-text-line-height)}.mat-mdc-snack-bar-actions{display:flex;flex-shrink:0;align-items:center;box-sizing:border-box}.mat-mdc-snack-bar-handset,.mat-mdc-snack-bar-container,.mat-mdc-snack-bar-label{flex:1 1 auto}.mat-mdc-snack-bar-container .mat-mdc-button.mat-mdc-snack-bar-action:not(:disabled){color:var(--mat-snack-bar-button-color);--mat-text-button-state-layer-color:currentColor;--mat-text-button-ripple-color:currentColor}.mat-mdc-snack-bar-container .mat-mdc-button.mat-mdc-snack-bar-action:not(:disabled) .mat-ripple-element{opacity:.1}"],encapsulation:2,data:{animation:[Xue.snackBarState]}});let i=e;return i})();function Kue(){return new lf}var Jue=new me("mat-snack-bar-default-options",{providedIn:"root",factory:Kue}),hc=(()=>{let e=class e{get _openedSnackBarRef(){let n=this._parentSnackBar;return n?n._openedSnackBarRef:this._snackBarRefAtThisLevel}set _openedSnackBarRef(n){this._parentSnackBar?this._parentSnackBar._openedSnackBarRef=n:this._snackBarRefAtThisLevel=n}constructor(n,r,o,s,a,c){this._overlay=n,this._live=r,this._injector=o,this._breakpointObserver=s,this._parentSnackBar=a,this._defaultConfig=c,this._snackBarRefAtThisLevel=null,this.simpleSnackBarComponent=HG,this.snackBarContainerComponent=Que,this.handsetCssClass="mat-mdc-snack-bar-handset"}openFromComponent(n,r){return this._attach(n,r)}openFromTemplate(n,r){return this._attach(n,r)}open(n,r="",o){let s=Z(Z({},this._defaultConfig),o);return s.data={message:n,action:r},s.announcementMessage===n&&(s.announcementMessage=void 0),this.openFromComponent(this.simpleSnackBarComponent,s)}dismiss(){this._openedSnackBarRef&&this._openedSnackBarRef.dismiss()}ngOnDestroy(){this._snackBarRefAtThisLevel&&this._snackBarRefAtThisLevel.dismiss()}_attachSnackBarContainer(n,r){let o=r&&r.viewContainerRef&&r.viewContainerRef.injector,s=vt.create({parent:o||this._injector,providers:[{provide:lf,useValue:r}]}),a=new Ai(this.snackBarContainerComponent,r.viewContainerRef,s),c=n.attach(a);return c.instance.snackBarConfig=r,c.instance}_attach(n,r){let o=Z(Z(Z({},new lf),this._defaultConfig),r),s=this._createOverlay(o),a=this._attachSnackBarContainer(s,o),c=new Q_(a,s);if(n instanceof Wn){let l=new Zr(n,null,{$implicit:o.data,snackBarRef:c});c.instance=a.attachTemplatePortal(l)}else{let l=this._createInjector(o,c),d=new Ai(n,void 0,l),u=a.attachComponentPortal(d);c.instance=u.instance}return this._breakpointObserver.observe(yy.HandsetPortrait).pipe(Ze(s.detachments())).subscribe(l=>{s.overlayElement.classList.toggle(this.handsetCssClass,l.matches)}),o.announcementMessage&&a._onAnnounce.subscribe(()=>{this._live.announce(o.announcementMessage,o.politeness)}),this._animateSnackBar(c,o),this._openedSnackBarRef=c,this._openedSnackBarRef}_animateSnackBar(n,r){n.afterDismissed().subscribe(()=>{this._openedSnackBarRef==n&&(this._openedSnackBarRef=null),r.announcementMessage&&this._live.clear()}),this._openedSnackBarRef?(this._openedSnackBarRef.afterDismissed().subscribe(()=>{n.containerInstance.enter()}),this._openedSnackBarRef.dismiss()):n.containerInstance.enter(),r.duration&&r.duration>0&&n.afterOpened().subscribe(()=>n._dismissAfter(r.duration))}_createOverlay(n){let r=new fi;r.direction=n.direction;let o=this._overlay.position().global(),s=n.direction==="rtl",a=n.horizontalPosition==="left"||n.horizontalPosition==="start"&&!s||n.horizontalPosition==="end"&&s,c=!a&&n.horizontalPosition!=="center";return a?o.left("0"):c?o.right("0"):o.centerHorizontally(),n.verticalPosition==="top"?o.top("0"):o.bottom("0"),r.positionStrategy=o,this._overlay.create(r)}_createInjector(n,r){let o=n&&n.viewContainerRef&&n.viewContainerRef.injector;return vt.create({parent:o||this._injector,providers:[{provide:Q_,useValue:r},{provide:UG,useValue:n.data}]})}};e.\u0275fac=function(r){return new(r||e)(X($t),X(Dy),X(vt),X(Oh),X(e,12),X(Jue))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();var GG=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=rt({type:e}),e.\u0275inj=it({providers:[hc],imports:[oo,Es,xn,Ut,HG,Ut]});let i=e;return i})();var Mn=function(i){return i.DISABLED="disabled",i.MATCH_NODE_ID="match_node_id",i.VISUALIZER_CONFIG="visualizer_config",i.UPLOAD_MAPPING_FROM_COMPUTER="from_computer",i.LOAD_MAPPING_FROM_CNS="from_cns",i}(Mn||{}),jG={[Mn.DISABLED]:"Disabled",[Mn.MATCH_NODE_ID]:"Match node id",[Mn.UPLOAD_MAPPING_FROM_COMPUTER]:"Upload mapping from computer",[Mn.LOAD_MAPPING_FROM_CNS]:"Load mapping from CNS",[Mn.VISUALIZER_CONFIG]:"From Visualizer Config"};var Ml=(()=>{class i{mode=ct(Mn.DISABLED);navigationSourceChanged$=new pe;loadingFromCns=ct(!1);syncNavigationModeChanged$=new pe;savedProcessedSyncNavigationData={};updateNavigationSource(t){this.mode()!==Mn.DISABLED&&this.navigationSourceChanged$.next(t)}updateSyncNavigationData(t,n){let r=yt(Z({},n),{inversedMapping:{}});for(let o of Object.keys(n.mapping))r.inversedMapping[n.mapping[o]]=o;this.savedProcessedSyncNavigationData[t]=r}getMappedNodeId(t,n){let r=this.mode(),o=this.savedProcessedSyncNavigationData[r];switch(r){case Mn.MATCH_NODE_ID:return n;case Mn.VISUALIZER_CONFIG:case Mn.UPLOAD_MAPPING_FROM_COMPUTER:case Mn.LOAD_MAPPING_FROM_CNS:{let s=o?.mapping??{},a=o?.inversedMapping??{};return s[n]??a[n]??n}default:return n}}loadFromCns(t){return It(this,null,function*(){this.loadingFromCns.set(!0);let n=`/read_file?path=${t}`,r=yield fetch(n);if(!r.ok)return`Failed to load JSON file "${t}"`;let o=JSON.parse((yield r.text()).replace(`)]}' +`,"")),s=this.processJsonData(o.content,Mn.LOAD_MAPPING_FROM_CNS);return this.loadingFromCns.set(!1),s})}loadSyncNavigationDataFromEvent(t){return It(this,null,function*(){this.mode.set(t.mode)})}processJsonData(t,n){try{let r=JSON.parse(t);this.updateSyncNavigationData(n,r)}catch(r){return`Failed to parse JSON file. ${r}`}return""}static \u0275fac=function(n){return new(n||i)};static \u0275prov=J({token:i,factory:i.\u0275fac})}return i})();var ehe=["container"],the=["canvas"],nhe=["snapshotCanvas"],ihe=["pngDownloaderCanvas"],rhe=["hoverToolbar"],ohe=["ioPicker"],she=["subgraphMenuTrigger"],ahe=["groupNodeIconMatTooltip"],che=["ioPickerMatTooltip"],lhe=["moreActionsMenuTrigger"],dhe=["rangeZoomDragArea"],uhe=["dragToSelectDragArea"];function hhe(i,e){if(i&1){let t=ne();v(0,"div",33),H("click",function(){B(t);let r=I();return V(r.handleClickCollapseAll(r.hoveredNodeIdWhenClickingMoreActions))}),v(1,"mat-icon"),S(2,"unfold_less_double"),b(),S(3," Collapse layer & all sub-layers "),b()}}function phe(i,e){if(i&1){let t=ne();v(0,"div",34),H("click",function(r){B(t);let o=I();return V(o.handleClickOpenGroupNodeInPopup(r,o.hoveredNodeIdWhenClickingMoreActions))}),v(1,"mat-icon"),S(2,"open_in_new"),b(),S(3," Open layer in popup "),b()}}function fhe(i,e){if(i&1){let t=ne();v(0,"div",35),H("click",function(){let r=B(t).$implicit,o=I();return V(o.handleClickSubgraphId(r))}),v(1,"mat-icon"),S(2,"subdirectory_arrow_right"),b(),S(3),b()}if(i&2){let t=e.$implicit;w(3),Se(" ",t," ")}}function mhe(i,e){if(i&1&&(v(0,"div",32),S(1),b()),i&2){let t=I();w(),Se("FPS: ",t.fps,"")}}var ghe=1.2,_he=2,$G=1.5,vhe=200,RO=400,bhe=1,qG=14,yhe=5e3,xhe=-en*.5,AO=en*.4,YG=en*.3,whe=en*.4,Che="______",vn=Ln,AC=function(i){return i[i.NODE=0]="NODE",i[i.EDGE=1]="EDGE",i}(AC||{}),NC=(()=>{class i{changeDetectorRef;destroyRef;ngZone;nodeDataProviderExtensionService;nodeStylerService;overlay;snackBar;splitPaneService;subgraphSelectionService;syncNavigationService;uiStateService;viewContainerRef;webglRendererAttrsTableService;webglRendererEdgeTextsService;webglRendererIdenticalLayerService;webglRendererIoHighlightService;webglRendererIoTracingService;webglRendererNdpService;webglRendererSearchResultsService;webglRendererSnapshotService;webglRendererSubgraphSelectionService;webglRendererThreejsService;workerService;modelGraph;rendererId;paneId;rootNodeId;inPopup=!1;benchmark=!1;openInPopupClicked=new Ie;container;canvas;snapshotCanvas;pngDownloaderCanvas;hoverToolbar;ioPicker;subgraphMenuTrigger;groupNodeIconMatTooltip;ioPickerMatTooltip;moreActionsMenuTrigger;rangeZoomDragArea;dragToSelectDragArea;appService=te(at);threejsService=te(Sr);SELECTED_NODE_BORDER_COLOR=new vn.Color("#1A73E8");SELECTED_NODE_BG_COLOR=new vn.Color("#C2E7FF");HOVERED_NODE_BORDER_COLOR=new vn.Color("#000");HOVERED_GROUP_NODE_BORDER_COLOR=new vn.Color("#666");IDENTICAL_GROUPS_BG_COLOR=new vn.Color("#e2edff");NODE_LABEL_COLOR=new vn.Color("#041E49");OP_NODE_BORDER_COLOR=new vn.Color("#777");GROUP_NODE_BORDER_COLOR=new vn.Color("#aaa");GROUP_NODE_LABEL_SEPARATOR_COLOR=new vn.Color("#DADCE0");GROUP_NODE_ICON_COLOR=new vn.Color("#444746");GROUP_NODE_PIN_TO_TOP_SEPARATOR_COLOR=new vn.Color("#bbb");EDGE_COLOR=new vn.Color(this.appService.config()?.edgeColor||"#aaa");EDGE_COLOR_INCOMING=new vn.Color("#009e73");EDGE_TEXT_COLOR_INCOMING=new vn.Color("#125341");EDGE_COLOR_OUTGOING=new vn.Color("#d55e00");EDGE_TEXT_COLOR_OUTGOING=new vn.Color("#994d11");ARTIFCIAL_GROUPS_BORDER_COLOR=new vn.Color("#800080");SUBGRAPH_INDICATOR_BORDER_COLOR=new vn.Color("#135cbb");SUBGRAPH_INDICATOR_BG_COLOR=new vn.Color("#d5e7ff");GROUP_NODE_BG_COLORS=(()=>{let s=[];for(let a=0;a<6;a++){let c=96+a*-2.4;s.push(new vn.Color(`hsl(212, 40%, ${Math.round(c)}%)`))}return s})();graphId="";curModelGraph;tracing=!1;showBusySpinner=!1;selectedNodeId="";flashing=!1;hoveredNodeIdWhenClickingMoreActions="";currentMinX=0;currentMaxX=0;currentMinZ=0;currentMaxZ=0;groupNodeIcon={top:-1e3,left:-1e3,width:0,height:0};ioPickerTop=-1e3;ioPickerLeft=-1e3;ioPickerWidth=0;ioPickerHeight=0;ioPickerTooltip="";subgraphIndicatorTop=-1e3;subgraphIndicatorLeft=-1e3;subgraphIndicatorWidth=0;subgraphIndicatorHeight=0;curSubgraphIdsForMenu=[];curShowOnNodeItemTypes={};curShowOnEdgeItemTypes={};nodesToRender=[];nodesToRenderMap={};edgesToRender=[];curNodeDataProviderRuns={};curHiddenInputOpNodeIds={};curHiddenOutputIds={};elementsToRender=[];updateNodesStylesSavedSelectedNodeId="";updateNodesStylesSavedIoTracingData;curSelectedRenderer;portal=null;showBusySpinnerTimeoutRef=-1;prevNodeDataProviderData=void 0;nodeBodies=new Ni(6);groupNodeIcons=new qi(this.threejsService);groupNodeIconBgs=new Ni(99);artificialGroupBorders=new Ni(6);subgraphIndicatorBgs=new Ni(3);subgraphIndicatorIcons=new qi(this.threejsService);edges=new Su(this.EDGE_COLOR,bhe);texts=new qi(this.threejsService);mousePos=new vn.Vector2;draggingArea=!1;hoveredNodeId="";hoveredGroupNodeIconId="";nodeIdForHoveredGroupNodeIcon="";hoveredIoPickerId="";hoveredSubgraphIndicatorId="";savedUpdateNodeBgWhenFarProgress=-1;curNodeStylerRules=[];curProcessedNodeStylerRules=[];renderedEdgeIdsToHide=[];selectedNodeInfo=Bt(()=>{let t=this.appService.getPaneById(this.paneId);if(t)return t.selectedNodeInfo});messageEventListener=t=>{this.hideBusySpinner();let n=t.data;switch(n.eventType){case tr.EXPAND_OR_COLLAPSE_GROUP_NODE_RESP:this.rendererId===n.rendererId&&this.handleExpandOrCollapseGroupNodeDone(n.modelGraph,n.rendererId,n.groupNodeId,n.expanded,n.deepestExpandedGroupNodeIds);break;case tr.RELAYOUT_GRAPH_RESP:this.rendererId===n.rendererId&&this.handleReLayoutGraphDone(n.rendererId,n.modelGraph,n.selectedNodeId,n.forRestoringUiState,n.rectToZoomFit,n.forRestoringSnapshotAfterTogglingFlattenLayers,n.targetDeepestGroupNodeIdsToExpand,n.triggerNavigationSync);break;case tr.LOCATE_NODE_RESP:this.rendererId===n.rendererId&&this.handleLocateNodeDone(n.rendererId,n.modelGraph,n.nodeId,n.deepestExpandedGroupNodeIds,n.noNodeShake===!0,n.select===!0);break;case tr.PREPARE_POPUP_RESP:this.paneId===n.paneId&&this.openInPopupClicked.emit({id:n.rendererId,groupNode:n.modelGraph.nodesById[n.groupNodeId],initialPosition:n.initialPosition,curModelGraph:n.modelGraph});break;default:break}};constructor(t,n,r,o,s,a,c,l,d,u,h,p,f,m,y,g,_,x,C,T,D,E,A){this.changeDetectorRef=t,this.destroyRef=n,this.ngZone=r,this.nodeDataProviderExtensionService=o,this.nodeStylerService=s,this.overlay=a,this.snackBar=c,this.splitPaneService=l,this.subgraphSelectionService=d,this.syncNavigationService=u,this.uiStateService=h,this.viewContainerRef=p,this.webglRendererAttrsTableService=f,this.webglRendererEdgeTextsService=m,this.webglRendererIdenticalLayerService=y,this.webglRendererIoHighlightService=g,this.webglRendererIoTracingService=_,this.webglRendererNdpService=x,this.webglRendererSearchResultsService=C,this.webglRendererSnapshotService=T,this.webglRendererSubgraphSelectionService=D,this.webglRendererThreejsService=E,this.workerService=A,this.webglRendererAttrsTableService.init(this),this.webglRendererEdgeTextsService.init(this),this.webglRendererIdenticalLayerService.init(this),this.webglRendererIoHighlightService.init(this),this.webglRendererIoTracingService.init(this),this.webglRendererNdpService.init(this),this.webglRendererSearchResultsService.init(this),this.webglRendererSnapshotService.init(this),this.webglRendererSubgraphSelectionService.init(this),this.webglRendererThreejsService.init(this),this.workerService.worker.addEventListener("message",this.messageEventListener),lt(()=>{this.curSelectedRenderer=this.appService.curSelectedRenderer()}),this.appService.spaceKeyToZoomFitClicked.pipe(Ei(this.destroyRef)).subscribe(j=>{this.rendererId===this.curSelectedRenderer?.id&&this.webglRendererThreejsService.zoomFitGraph()}),lt(()=>{let j=this.appService.curToLocateNodeInfo();j?.rendererId===this.rendererId&&(j&&this.sendLocateNodeRequest(j.nodeId,j.rendererId,j.noNodeShake,j.select),this.appService.curToLocateNodeInfo.set(void 0))}),lt(()=>{let j=this.appService.getPaneById(this.paneId);if(!j||!j.modelGraph)return;let q=j.nodeIdToReveal;if(!q)return;this.revealNode(q)&&this.appService.setNodeToReveal(this.paneId,void 0)}),lt(()=>{let j=this.nodeDataProviderExtensionService.getRunsForModelGraph(this.curModelGraph);this.curNodeDataProviderRuns={};for(let q of j)this.curNodeDataProviderRuns[q.runId]=q}),lt(()=>{let j=this.webglRendererNdpService.curNodeDataProviderResults();j!==this.prevNodeDataProviderData&&(this.handleCurNodeDataProviderResultsChanged(),this.prevNodeDataProviderData=j)}),lt(()=>{if(!this.appService.getPaneById(this.paneId))return;let q=this.appService.getShowOnNodeItemTypes(this.paneId,this.rendererId);JSON.stringify(q)!==JSON.stringify(this.curShowOnNodeItemTypes)&&(this.curShowOnNodeItemTypes=q,this.sendRelayoutGraphRequest(this.selectedNodeId))}),this.appService.expandOrCollapseAllGraphLayersClicked.pipe(Ei(this.destroyRef)).subscribe(j=>{j.rendererId===this.rendererId&&this.sendExpandOrCollapseGroupNodeRequest(void 0,!0,j.expandOrCollapse)}),lt(()=>{let j=this.selectedNodeInfo();if(j?.rendererId!==this.rendererId)return;let q=j?.nodeId||"",z=this.selectedNodeId!==q;this.selectedNodeId=q,this.tracing&&(this.selectedNodeId&&St(this.curModelGraph.nodesById[this.selectedNodeId])?this.webglRendererIoTracingService.genTracingData():this.webglRendererIoTracingService.clearTracingData()),this.webglRendererIoHighlightService.updateIncomingAndOutgoingHighlights(),this.webglRendererIdenticalLayerService.updateIdenticalLayerIndicators(),this.updateNodesStyles(),this.webglRendererThreejsService.render(),z&&j.triggerNavigationSync&&this.syncNavigationService.updateNavigationSource({paneIndex:this.appService.getPaneIndexById(this.paneId)||0,nodeId:this.selectedNodeId})}),this.appService.downloadAsPngClicked.pipe(Ei(this.destroyRef)).subscribe(j=>{j.rendererId===this.rendererId&&this.handleDownloadAsPng(j.fullGraph,j.transparentBackground)}),lt(()=>{let j=this.nodeStylerService.rules().filter(z=>Ch(z.queries)&&Object.keys(z.styles).length>0),q=JSON.stringify(j);JSON.stringify(this.curNodeStylerRules)!==q&&(this.curNodeStylerRules=JSON.parse(q),this.curProcessedNodeStylerRules=ny(this.curNodeStylerRules),this.renderGraph(),this.webglRendererIoHighlightService.updateIncomingAndOutgoingHighlights(),this.webglRendererIdenticalLayerService.updateIdenticalLayerIndicators(),this.updateNodesStyles(),this.webglRendererThreejsService.render())}),lt(()=>{if(!this.appService.getPaneById(this.paneId))return;let q=this.appService.getShowOnEdgeItemTypes(this.paneId,this.rendererId);JSON.stringify(q)!==JSON.stringify(this.curShowOnEdgeItemTypes)&&(this.curShowOnEdgeItemTypes=q,this.renderGraph(),this.webglRendererIoHighlightService.updateIncomingAndOutgoingHighlights(),this.webglRendererIdenticalLayerService.updateIdenticalLayerIndicators(),this.updateNodesStyles(),this.webglRendererThreejsService.render())}),lt(()=>{this.curHiddenInputOpNodeIds=this.splitPaneService.hiddenInputOpNodeIds(),this.curHiddenOutputIds=this.splitPaneService.hiddenOutputIds(),this.webglRendererIoHighlightService.updateIncomingAndOutgoingHighlights(),this.updateNodesStyles(),this.webglRendererThreejsService.render()}),this.syncNavigationService.navigationSourceChanged$.pipe(Ei(this.destroyRef)).subscribe(j=>{if(j&&j.paneIndex!==this.appService.getPaneIndexById(this.paneId)){let q=this.syncNavigationService.getMappedNodeId(j.paneIndex,j.nodeId),z=this.curModelGraph.nodesById[q],P=St(z)&&z.hideInLayout;z&&z.id!==this.selectedNodeId&&!P&&this.revealNode(q,!1)}})}ngOnInit(){this.graphId=this.modelGraph.id,this.curModelGraph=this.modelGraph,this.appService.updateCurrentModelGraph(this.paneId,this.curModelGraph),this.inPopup||(this.curShowOnNodeItemTypes=this.appService.getSavedShowOnNodeItemTypes(),this.curShowOnEdgeItemTypes=this.appService.getSavedShowOnEdgeItemTypes()),this.webglRendererThreejsService.setupZoomAndPan(this.container.nativeElement,1e-4,20),this.webglRendererThreejsService.setupThreeJs(),this.ngZone.runOutsideAngular(()=>{this.canvas.nativeElement.addEventListener("mousemove",s=>{this.handleMouseMove(s)})});let t=this.appService.curInitialUiState(),n=s=>{this.updateNodesAndEdgesToRender(),this.renderGraph(),this.webglRendererThreejsService.zoomFitGraph(.9,0);let a=this.appService.getPaneById(this.paneId);if(a?.snapshotToRestore!=null){let c=a.snapshotToRestore;this.curShowOnNodeItemTypes=a.snapshotToRestore.showOnNodeItemTypes||{},this.appService.setShowOnNode(this.paneId,this.rendererId,this.curShowOnNodeItemTypes),this.sendRelayoutGraphRequest(c.selectedNodeId||"",c.deepestExpandedGroupNodeIds||[],!1,c.rect,!0,c.showOnNodeItemTypes,!0,!1),a.snapshotToRestore=void 0}else s!=null&&s!==""&&setTimeout(()=>{this.appService.curToLocateNodeInfo.set({nodeId:s,rendererId:this.rendererId,isGroupNode:!1,noNodeShake:!0})});this.sendExpandGroupNodeRequest(this.rootNodeId||"")};if(!t||t.paneStates.length===0||this.inPopup){let s=this.inPopup?void 0:this.appService.getPaneById(this.paneId)?.selectedNodeInfo?.nodeId;n(s)}else{let s=this.appService.getPaneIndexById(this.paneId),a=t.paneStates[s];if(!a)n();else{let c=a.deepestExpandedGroupNodeIds;if(c.length===1&&c[0]==="___all___"){let l=[];Nm(void 0,this.curModelGraph,l,!0),c=l}a.selectedNodeId!==""||c.length>0?this.sendRelayoutGraphRequest(a.selectedNodeId,c,!0,void 0,!1,void 0,!1,!1):n(),this.uiStateService.setDeepestExpandedGroupNodeIds(a.deepestExpandedGroupNodeIds,s)}}let r=window;r[Xb]==null&&(r[Xb]={renderers:{}});let o=this.inPopup?-1:this.appService.getPaneIndexById(this.paneId);r[Xb].renderers[o]=this,this.benchmark&&this.startBenchmark()}ngOnDestroy(){this.workerService.worker.removeEventListener("message",this.messageEventListener),this.webglRendererThreejsService.dispose(),document.body.style.cursor="default"}getActiveSelectedNodeInfo(){if(this.selectedNodeId)return{nodeId:this.selectedNodeId,rendererId:this.rendererId,isGroupNode:wt(this.curModelGraph.nodesById[this.selectedNodeId])}}toggleIoTrace(){this.tracing=!this.tracing,this.tracing?this.webglRendererIoTracingService.genTracingData():this.webglRendererIoTracingService.clearTracingData(),this.webglRendererIoHighlightService.updateIncomingAndOutgoingHighlights(),this.updateNodesStyles(),this.webglRendererThreejsService.render()}setZoomFactor(t){let n=this.container.nativeElement,r=this.webglRendererThreejsService.convertScreenPosToScene(0,0),o=this.webglRendererThreejsService.convertScreenPosToScene(n.offsetWidth,n.offsetHeight),s=Math.min(r.x,o.x),a=Math.max(r.x,o.x),c=Math.min(r.y,o.y),l=Math.max(r.y,o.y),d=a-s,u=l-c,h=(s+a)/2,p=(c+l)/2,f=h-d/2/t,m=h+d/2/t,y=p-u/2/t,g=p+u/2/t;this.webglRendererThreejsService.zoomFit({x:f,y,width:m-f,height:g-y},.9,0,!1,!1)}handleMouseDownCanvas(t){Am&&(t.metaKey||t.ctrlKey)||!Am&&t.ctrlKey?(this.draggingArea=!0,this.rangeZoomDragArea.start(t,(n,r,o,s,a)=>{let c=this.webglRendererThreejsService.convertScreenPosToScene(r,o),l=this.webglRendererThreejsService.convertScreenPosToScene(s,a),d=Math.min(c.x,l.x),u=Math.max(c.x,l.x),h=Math.min(c.y,l.y),p=Math.max(c.y,l.y);this.webglRendererThreejsService.zoomFit({x:d,y:h,width:u-d,height:p-h},.9,200,!1,!1),this.draggingArea=!1})):t.shiftKey&&this.webglRendererSubgraphSelectionService.enableSubgraphSelection&&(this.draggingArea=!0,this.dragToSelectDragArea.start(t,(n,r,o,s,a)=>{if(this.draggingArea=!1,n)this.hoveredNodeId?this.curModelGraph.nodesById[this.hoveredNodeId]&&this.handleShiftSelectNode(this.hoveredNodeId):this.handleClearSubgraphSelectedNodes();else{let c=this.webglRendererThreejsService.convertScreenPosToScene(r,o),l=this.webglRendererThreejsService.convertScreenPosToScene(s,a),d=Math.min(c.x,l.x),u=Math.max(c.x,l.x),h=Math.min(c.y,l.y),p=Math.max(c.y,l.y),f=[];for(let{node:m}of this.nodesToRender){let y=this.getNodeX(m),g=this.getNodeY(m),_=this.getNodeWidth(m),x=this.getNodeHeight(m),C=y,T=g,D=y+_,E=g+x,A=uD,q=h>E,z=p1&&(this.curSubgraphIdsForMenu=n,this.subgraphMenuTrigger.openMenu())}handleClickSubgraphId(t){this.openSubgraph(t)}handleDoubleClickOnGraph(t,n){if(this.selectedNodeId!==""&&!n){let r=this.curModelGraph.nodesById[this.selectedNodeId];this.appService.updateDoubleClickedNode(this.selectedNodeId,this.curModelGraph.id,this.curModelGraph.collectionLabel||"",r),this.handleToggleExpandCollapse(r,t)}}handleClickOnGraph(t){this.hoveredNodeId?this.curModelGraph.nodesById[this.hoveredNodeId]&&(t||this.handleSelectNode(this.hoveredNodeId)):this.handleSelectNode("")}handleMouseEnterGroupNodeIcon(){this.groupNodeIconMatTooltip.show()}handleMouseLeaveGroupNodeIcon(){this.groupNodeIconMatTooltip.hide()}handleMouseEnterIoPicker(){this.ioPickerMatTooltip.show()}handleMouseLeaveIoPicker(){this.ioPickerMatTooltip.hide()}handleHoveredGroupNodeIconChanged(t){if(this.groupNodeIcon.top=-1e3,this.groupNodeIcon.left=-1e3,this.groupNodeIcon.width=0,this.groupNodeIcon.height=0,this.groupNodeIcon.tooltip=void 0,this.hoveredGroupNodeIconId!==""&&t!=null){let{x:n,y:r}=this.webglRendererThreejsService.convertScenePosToScreen(t.bound.x-t.bound.width/2,t.bound.y-t.bound.height/2),{x:o,y:s}=this.webglRendererThreejsService.convertScenePosToScreen(t.bound.x+t.bound.width/2,t.bound.y+t.bound.height/2);if(this.groupNodeIcon.top=r,this.groupNodeIcon.left=n,this.groupNodeIcon.width=o-n,this.groupNodeIcon.height=s-r,t.id.includes("_left")){let a=this.curModelGraph.nodesById[t.nodeId];this.groupNodeIcon.tooltip=a.expanded?"Collapse layer":"Expand layer"}else t.id.includes("_right")&&(this.groupNodeIcon.tooltip="More actions")}this.changeDetectorRef.detectChanges()}isNodeRendered(t){return this.nodesToRenderMap[t]!=null}sendLocateNodeRequest(t,n,r=!1,o=!1){if(this.showBusySpinnerWithDelay(),this.isNodeRendered(t))this.hideBusySpinner(),this.handleLocateNodeDone(n,this.curModelGraph,t,[],r,o,!0);else{let s={eventType:tr.LOCATE_NODE_REQ,modelGraphId:this.curModelGraph.id,showOnNodeItemTypes:this.curShowOnNodeItemTypes,nodeDataProviderRuns:this.curNodeDataProviderRuns,nodeId:t,rendererId:n,noNodeShake:r,select:o};this.workerService.worker.postMessage(s)}}sendRelayoutGraphRequest(t,n,r=!1,o,s=!1,a,c,l=!0){this.showBusySpinnerWithDelay();let d={eventType:tr.RELAYOUT_GRAPH_REQ,modelGraphId:this.curModelGraph.id,showOnNodeItemTypes:a||this.curShowOnNodeItemTypes,nodeDataProviderRuns:this.curNodeDataProviderRuns,selectedNodeId:t,targetDeepestGroupNodeIdsToExpand:n,rendererId:this.rendererId,forRestoringUiState:r,rectToZoomFit:o,clearAllExpandStates:s,forRestoringSnapshotAfterTogglingFlattenLayers:c,triggerNavigationSync:l};this.workerService.worker.postMessage(d)}animateIntoPositions(t=n=>{this.updateAnimatinProgress(n)}){let n=Date.now(),r=()=>{let o=Date.now()-n,s=this.appService.testMode?1:Math.min(1,o/vhe);if(s=Math.sin(s*Math.PI/2),t(s),this.webglRendererThreejsService.render(),s>=1){t(s),this.webglRendererThreejsService.render();return}requestAnimationFrame(r)};r()}flash(){this.flashing=!0,this.changeDetectorRef.detectChanges(),setTimeout(()=>{this.flashing=!1,this.changeDetectorRef.detectChanges()},300)}updateNodeBgColorWhenFar(){let t=this.webglRendererThreejsService.convertZFromSceneToScreen(30)*this.webglRendererThreejsService.curScale,n=7.5,o=Math.max(0,Math.min(1,(n-t)/(n-7)));Math.abs(o-this.savedUpdateNodeBgWhenFarProgress)<1e-5||(this.savedUpdateNodeBgWhenFarProgress=o,this.nodeBodies.setBgColorWhenFar(this.NODE_LABEL_COLOR,o/3))}showIoTree(t,n,r){let o=this.createOverlay(t),s=o.attach(this.portal),a=uc(n,[],r);s.instance.solidBackground=!0,s.instance.rendererId=this.rendererId,s.instance.updateData(a),s.instance.onClose.subscribe(()=>{o.dispose()})}getNodeX(t){return(t.x||0)+(t.globalX||0)}getNodeY(t){return(t.y||0)+(t.globalY||0)}getNodeWidth(t){return t.width||0}getNodeHeight(t){return t.height||0}getNodeLabelRelativeY(t){return 14}getNodeLabelSizes(t){let n=zo/this.texts.getFontSize(),r=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY,s=0,a=md(this.getNodeLabel(t));for(let c=0;c{this.webglRendererThreejsService.zoomFit(s,1,200,!1,!1)};a?setTimeout(()=>{d()}):d()}else r!==Che&&this.webglRendererThreejsService.zoomFitOnNode(r,n,o?0:RO);this.selectedNodeId!==r&&this.handleSelectNode(r||"",l),this.inPopup||this.uiStateService.setDeepestExpandedGroupNodeIds(c||[],this.appService.getPaneIndexById(this.paneId))}handleCurNodeDataProviderResultsChanged(){this.renderGraph(),this.updateNodesStyles(),this.webglRendererThreejsService.render()}handleLocateNodeDone(t,n,r,o,s,a,c=!1){this.updateCurModelGraph(n),this.updateNodesAndEdgesToRender(),a&&this.appService.selectNode(this.paneId,{nodeId:r,rendererId:t,isGroupNode:wt(this.curModelGraph.nodesById[r])}),this.webglRendererThreejsService.zoomFitOnNode(r,n,RO),c||(this.renderGraph(),this.webglRendererIoHighlightService.updateIncomingAndOutgoingHighlights(),this.webglRendererIdenticalLayerService.updateIdenticalLayerIndicators(),this.updateNodesStyles(),this.webglRendererThreejsService.render(),this.inPopup||this.uiStateService.setDeepestExpandedGroupNodeIds(o,this.appService.getPaneIndexById(this.paneId))),s||setTimeout(()=>{this.shakeNode(r)},250)}sendExpandGroupNodeRequest(t){let n=this.curModelGraph.nodesById[t];n!=null&&!n.expanded&&this.sendExpandOrCollapseGroupNodeRequest(n,!1,!0)}sendExpandOrCollapseGroupNodeRequest(t,n=!1,r){this.showBusySpinnerWithDelay();let o={eventType:tr.EXPAND_OR_COLLAPSE_GROUP_NODE_REQ,modelGraphId:this.curModelGraph.id,groupNodeId:t?.id,expand:r??!t?.expanded,showOnNodeItemTypes:this.curShowOnNodeItemTypes,nodeDataProviderRuns:this.curNodeDataProviderRuns,rendererId:this.rendererId,paneId:this.paneId,all:n,ts:Date.now()};this.workerService.worker.postMessage(o)}renderGraph(){this.clearScene(),this.renderEdges(),this.renderTexts(),this.curShowOnEdgeItemTypes[zc.TENSOR_SHAPE]?.selected&&this.webglRendererEdgeTextsService.renderEdgeTexts(),this.webglRendererAttrsTableService.renderAttrsTable(),this.renderNodes(),this.webglRendererNdpService.renderNodeDataProviderDistributionBars(),this.renderArtificialGroupBorders(),this.webglRendererSearchResultsService.renderSearchResults(),this.webglRendererSubgraphSelectionService.renderSubgraphSelectedNodeMarkers(),this.updateNodeBgColorWhenFar(),this.animateIntoPositions()}renderNodes(){this.currentMinX=Number.POSITIVE_INFINITY,this.currentMinZ=Number.POSITIVE_INFINITY,this.currentMaxX=Number.NEGATIVE_INFINITY,this.currentMaxZ=Number.NEGATIVE_INFINITY;let t=this.nodesToRender.length,n=[],r=[],o=[],s=[],a=[],c=zo/this.texts.getFontSize();for(let l=0;l0){if(this.appService.config()?.showOpNodeOutOfLayerEdgesWithoutSelecting){for(let{node:t}of this.nodesToRender)if(St(t)&&t.nsParentId){let{overlayEdges:n,renderedEdges:r}=this.webglRendererIoHighlightService.getHighlightedIncomingNodesAndEdges(this.curHiddenInputOpNodeIds,t,{ignoreEdgesWithinSameNamespace:!0,reuseRenderedEdgeCurvePoints:!0});if(n.length>0){this.renderedEdgeIdsToHide.push(...r.map(a=>a.id));for(let a of n)this.edgesToRender.push({edge:a,index:92/en})}let{overlayEdges:o,renderedEdges:s}=this.webglRendererIoHighlightService.getHighlightedOutgoingNodesAndEdges(this.curHiddenOutputIds,t,{ignoreEdgesWithinSameNamespace:!0,reuseRenderedEdgeCurvePoints:!0});if(o.length>0){this.renderedEdgeIdsToHide.push(...s.map(a=>a.id));for(let a of o)this.edgesToRender.push({edge:a,index:92/en})}}}this.edges.generateMesh(this.edgesToRender,this.curModelGraph),this.webglRendererThreejsService.addToScene(this.edges.edgesMesh),this.webglRendererThreejsService.addToScene(this.edges.arrowHeadsMesh)}}renderTexts(){let t=[];for(let{node:n,index:r}of this.nodesToRender){let o=this.NODE_LABEL_COLOR;for(let a of this.curProcessedNodeStylerRules)if(km(n,a.queries,this.curModelGraph)){let c=fd(a,qs.NODE_TEXT_COLOR);c!==""&&(o=new vn.Color(c));break}let s=md(this.getNodeLabel(n));for(let a=0;a{this.setHoveredNodeId(r),this.updateNodesStyles(),this.webglRendererThreejsService.render()}),this.groupNodeIconBgs.raycast(this.webglRendererThreejsService.raycaster,(r,o)=>{this.hoveredGroupNodeIconId=r,this.nodeIdForHoveredGroupNodeIcon=o?.nodeId||"",this.updateNodesStyles(),this.handleHoveredGroupNodeIconChanged(o),this.webglRendererThreejsService.render()},!1),this.webglRendererIoHighlightService.ioPickerBgs.raycast(this.webglRendererThreejsService.raycaster,(r,o)=>{this.hoveredIoPickerId=r,this.handleHoveredIoPickerChanged(o)}),this.subgraphIndicatorBgs.raycast(this.webglRendererThreejsService.raycaster,(r,o)=>{this.hoveredSubgraphIndicatorId=r,this.handleHoveredSubgraphIndicatorChanged(o)})}handleHoveredIoPickerChanged(t){this.ioPickerTop=-1e3,this.ioPickerLeft=-1e3,this.ioPickerTooltip="";let n=this.hoveredIoPickerId.endsWith("input");if(this.hoveredIoPickerId!==""){let{x:r,y:o}=this.webglRendererThreejsService.convertScenePosToScreen(t.bound.x-t.bound.width/2,t.bound.y-t.bound.height/2),{x:s,y:a}=this.webglRendererThreejsService.convertScenePosToScreen(t.bound.x+t.bound.width/2,t.bound.y+t.bound.height/2);this.ioPickerTop=o,this.ioPickerLeft=r,this.ioPickerWidth=s-r,this.ioPickerHeight=a-o,this.ioPickerTooltip=`Click to reveal ${n?"input":"output"} node(s)`}this.changeDetectorRef.detectChanges()}handleHoveredSubgraphIndicatorChanged(t){if(this.subgraphIndicatorTop=-1e3,this.subgraphIndicatorLeft=-1e3,this.hoveredSubgraphIndicatorId!==""){let{x:n,y:r}=this.webglRendererThreejsService.convertScenePosToScreen(t.bound.x-t.bound.width/2,t.bound.y-t.bound.height/2),{x:o,y:s}=this.webglRendererThreejsService.convertScenePosToScreen(t.bound.x+t.bound.width/2,t.bound.y+t.bound.height/2);this.subgraphIndicatorTop=r,this.subgraphIndicatorLeft=n,this.subgraphIndicatorWidth=o-n,this.subgraphIndicatorHeight=s-r}this.changeDetectorRef.detectChanges()}updateNodesStyles(){let t=!1;this.selectedNodeId!==this.updateNodesStylesSavedSelectedNodeId&&(this.updateNodesStylesSavedSelectedNodeId=this.selectedNodeId,t=!0);let n=!1;this.webglRendererIoTracingService.curIoTracingData!==this.updateNodesStylesSavedIoTracingData&&(this.updateNodesStylesSavedIoTracingData=this.webglRendererIoTracingService.curIoTracingData,n=!0),this.nodeBodies.restoreBorderColors(),this.nodeBodies.restoreBgColors(),this.nodeBodies.restoreBorderWidths(),this.nodeBodies.restoreOpacities(),this.groupNodeIconBgs.restoreOpacities(),this.texts.restoreOpacities(),this.texts.restoreColors(),this.webglRendererEdgeTextsService.edgeTexts.restoreOpacities(),this.groupNodeIcons.restoreOpacities(),this.webglRendererAttrsTableService.attrsTableTexts.restoreOpacities(),(t||n)&&this.edges.restoreColors(),this.edges.restoreYOffsets();let r=this.curModelGraph.nodesById[this.selectedNodeId];if(r!=null&&wt(r)){let u=r.identicalGroupIndex;if(u!=null){let h=this.nodesToRender.filter(({node:p})=>wt(p)&&p.identicalGroupIndex===u).map(({node:p})=>p.id);this.nodeBodies.updateBgColor(h,this.IDENTICAL_GROUPS_BG_COLOR)}}let o=this.curModelGraph.nodesById[this.hoveredNodeId],s=wt(o)?this.HOVERED_GROUP_NODE_BORDER_COLOR:this.HOVERED_NODE_BORDER_COLOR;St(o)&&o.style?.hoveredBorderColor&&(s=new vn.Color(o.style.hoveredBorderColor)),this.nodeBodies.updateBorderColor([this.hoveredNodeId],s),this.selectedNodeId&&r!=null&&(this.nodeBodies.updateBorderColor([this.selectedNodeId],this.SELECTED_NODE_BORDER_COLOR),this.nodeBodies.updateBorderWidth([this.selectedNodeId],_he),this.nodeBodies.updateBgColor([this.selectedNodeId],this.SELECTED_NODE_BG_COLOR,St(r))),this.groupNodeIconBgs.updateOpacity([this.hoveredGroupNodeIconId],.07);let a=Object.keys(this.webglRendererIoHighlightService.inputsByHighlightedNode);if(a.length>0){this.nodeBodies.updateBorderColor(a,new vn.Color(this.EDGE_COLOR_INCOMING.r,this.EDGE_COLOR_INCOMING.g,this.EDGE_COLOR_INCOMING.b));for(let u of a)this.nodeBodies.updateBorderWidth([u],$G)}let c=Object.keys(this.webglRendererIoHighlightService.outputsByHighlightedNode);if(c.length>0){this.nodeBodies.updateBorderColor(c,new vn.Color(this.EDGE_COLOR_OUTGOING.r,this.EDGE_COLOR_OUTGOING.g,this.EDGE_COLOR_OUTGOING.b));for(let u of c)this.nodeBodies.updateBorderWidth([u],$G)}let l=[...this.webglRendererIoHighlightService.inputsRenderedEdges,...this.webglRendererIoHighlightService.outputsRenderedEdges].map(u=>u.id);l.push(...this.renderedEdgeIdsToHide),this.edges.updateYOffsets(l,1e3);let d=this.webglRendererNdpService.curNodeDataProviderResults()||{};for(let u of Object.keys(d)){if(!this.isNodeRendered(u)||!St(this.curModelGraph.nodesById[u]))continue;let h=d[u].bgColor;h&&h!=="transparent"&&this.nodeBodies.updateBgColor([u],new vn.Color(h));let p=d[u].textColor;p&&this.texts.updateColorInNode([u],new vn.Color(p))}if(this.webglRendererIoTracingService.curIoTracingData!=null){let u=Object.keys(this.curModelGraph.nodesById).filter(p=>!this.webglRendererIoTracingService.curIoTracingData.visibleNodeIds.has(p)&&this.isNodeRendered(p));this.nodeBodies.updateOpacity(u,.2),this.texts.updateOpacityInNode(u,.3),this.groupNodeIcons.updateOpacityInNode(u,.3),this.webglRendererAttrsTableService.attrsTableTexts.updateOpacityInNode(u,.3),this.webglRendererEdgeTextsService.edgeTexts.updateOpacityInNode(u,.3);let h=this.edgesToRender.filter(({edge:p})=>!this.webglRendererIoTracingService.curIoTracingData.visibleNodeIds.has(p.fromNodeId)||!this.webglRendererIoTracingService.curIoTracingData.visibleNodeIds.has(p.toNodeId)).map(({edge:p})=>p.id);this.edges.updateColors(h,{r:.92,g:.92,b:.92})}}shakeNode(t){if(this.appService.testMode)return;let n=Date.now(),r=()=>{let o=Date.now()-n,s=Math.min(1,o/1100);s=-(Math.cos(Math.PI*s)-1)/2;let a=Math.sin(s*Math.PI*9)*8;if(this.nodeBodies.updateAngle(t,a),this.webglRendererSearchResultsService.searchResultsHighlightBorders.updateAngle(t,a),this.webglRendererThreejsService.render(),s>=1){this.nodeBodies.updateAngle(t,0),this.webglRendererSearchResultsService.searchResultsHighlightBorders.updateAngle(t,0),this.webglRendererThreejsService.render();return}requestAnimationFrame(r)};r()}clearScene(){let t=[this.webglRendererSearchResultsService.searchResultsHighlightBorders.mesh,this.webglRendererSearchResultsService.searchResultsNodeLabelHighlightBg.mesh];this.webglRendererThreejsService.clearScene(t),this.updateNodesStylesSavedSelectedNodeId="",this.updateNodesStylesSavedIoTracingData=void 0}handleDownloadAsPng(t,n){return It(this,null,function*(){let r=this.container.nativeElement.offsetWidth/pd(),o=this.container.nativeElement.offsetHeight/pd(),s=this.webglRendererThreejsService.camera;if(t){let d=this.currentMaxX+20,u=this.currentMinX-20,h=this.currentMaxZ+20,p=this.currentMinZ-20;r=d-u,o=h-p;let f=yhe/pd();r>f&&(o=o*f/r,r=f),o>f&&(r=r*f/o,o=f),s=this.webglRendererThreejsService.createOrthographicCamera(u,d,-p,-h)}let a=this.pngDownloaderCanvas.nativeElement;this.webglRendererThreejsService.setupPngDownloaderRenderer(a,n,r,o),this.nodeBodies.setBgColorWhenFar(this.NODE_LABEL_COLOR,0),this.webglRendererThreejsService.renderPngDownloader(s),this.nodeBodies.setBgColorWhenFar(this.NODE_LABEL_COLOR,this.savedUpdateNodeBgWhenFarProgress/3);let c=document.createElement("a");c.download="model_explorer_graph.png",dc(c,a.toDataURL()),c.click(),this.webglRendererThreejsService.setSceneBackground(new vn.Color(16777215))})}openSubgraph(t){return It(this,null,function*(){this.appService.addSubgraphBreadcrumbItem(this.paneId,this.curModelGraph.id,t,yield this.webglRendererSnapshotService.takeSnapshot());let n=this.appService.getGraphById(t);n&&(this.appService.selectNode(this.paneId,void 0),this.appService.setFlattenLayersInCurrentPane(!1),this.appService.curInitialUiState.set(void 0),this.appService.curToLocateNodeInfo.set(void 0),this.appService.selectGraphInCurrentPane(n))})}getGroupNodeLabelSeparatorId(t,n){return`${t}_${n}`}getGroupNodeBgColor(t){let r=(t.namespace||"").split("/").filter(s=>s!=="").length,o=this.GROUP_NODE_BG_COLORS[Math.min(this.GROUP_NODE_BG_COLORS.length-1,r)];return this.threeColorToRgb(o)}threeColorToRgb(t){return{r:t.r,g:t.g,b:t.b}}startBenchmark(){let t=()=>{this.webglRendererThreejsService.render(!0),requestAnimationFrame(t)};t()}handleShiftSelectNode(t){this.webglRendererSubgraphSelectionService.enableSubgraphSelection&&this.subgraphSelectionService.toggleNode(t)}handleClearSubgraphSelectedNodes(){this.webglRendererSubgraphSelectionService.enableSubgraphSelection&&this.subgraphSelectionService.clearSelection()}createOverlay(t){let n=new fi({positionStrategy:this.overlay.position().flexibleConnectedTo(t).withPositions([{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom"}]).withDefaultOffsetX(t.clientWidth).withViewportMargin(20),hasBackdrop:!0,backdropClass:"cdk-overlay-transparent-backdrop",maxHeight:"400px",panelClass:"io-tree-popup-container"}),r=this.overlay.create(n);return this.portal=new Ai(Sl,this.viewContainerRef),r.backdropClick().subscribe(()=>{r.dispose()}),r}showBusySpinnerWithDelay(){this.hideBusySpinner(),this.showBusySpinnerTimeoutRef=window.setTimeout(()=>{this.showBusySpinnerTimeoutRef<0||(this.snackBar.open("Processing. Please wait..."),this.showBusySpinner=!0,this.changeDetectorRef.detectChanges())},1e3)}hideBusySpinner(){this.showBusySpinnerTimeoutRef>=0&&(clearTimeout(this.showBusySpinnerTimeoutRef),this.showBusySpinnerTimeoutRef=-1),this.snackBar.dismiss(),this.showBusySpinner=!1,this.changeDetectorRef.detectChanges()}revealNode(t,n=!0){let r=this.curModelGraph.nodesById[t];return r?(this.sendRelayoutGraphRequest(t,r.nsParentId?[r.nsParentId]:[],!1,void 0,!1,void 0,!1,n),!0):!1}updateCurModelGraph(t){let n=this.curModelGraph.edgesByGroupNodeIds;this.curModelGraph=yt(Z({},t),{edgesByGroupNodeIds:Z(Z({},n),t.edgesByGroupNodeIds)}),this.appService.updateCurrentModelGraph(this.paneId,this.curModelGraph)}updateNodesAndEdgesToRender(){if(!this.curModelGraph)return;this.elementsToRender=[],this.nodesToRender=[],this.nodesToRenderMap={},this.edgesToRender=[];let t=!0,n=!1,r=o=>{let s=this.curModelGraph.nodesById[o||""];if(t&&s){this.elementsToRender.push({type:AC.NODE,id:s.id,node:s});let c={node:s,index:this.elementsToRender.length-1};this.nodesToRender.push(c),this.nodesToRenderMap[c.node.id]=c,wt(s)&&s.sectionContainer&&(n=!0)}if(t=!1,o&&s&&s.expanded||!o)for(let c of this.curModelGraph.edgesByGroupNodeIds[o||""]||[])this.elementsToRender.push({type:AC.EDGE,id:c.id,edge:c}),this.edgesToRender.push({edge:c,index:this.elementsToRender.length-1});let a=[];o?s.expanded&&(a=(s.nsChildrenIds||[]).map(c=>this.curModelGraph.nodesById[c])):a=this.curModelGraph.rootNodes;for(let c of a){let l={type:AC.NODE,id:c.id,node:c};!n&&wt(c)&&c.sectionContainer&&(n=!0),this.elementsToRender.push(l);let d={node:c,index:this.elementsToRender.length-1};this.nodesToRender.push(d),this.nodesToRenderMap[d.node.id]=d,wt(c)&&c.expanded&&r(c.id)}};r(this.rootNodeId),this.appService.setPaneHasArtificialLayers(this.paneId,n)}getNodeLabel(t){return St(t)?t.label==="Placeholder"?t.id:t.label:wt(t)?t.label:"-"}setHoveredNodeId(t){this.hoveredNodeId=t,this.appService.updateHoveredNode(t,this.curModelGraph.id,this.curModelGraph.collectionLabel||"",this.curModelGraph.nodesById[t])}static \u0275fac=function(n){return new(n||i)(M(Ne),M(Fi),M(Fe),M(Mr),M(pa),M($t),M(hc),M(yl),M(Ko),M(Ml),M(Gc),M(Zt),M(yC),M(xC),M(SC),M(CC),M(MC),M(EC),M(IC),M(TC),M(PC),M(OC),M(jc))};static \u0275cmp=ce({type:i,selectors:[["webgl-renderer"]],viewQuery:function(n,r){if(n&1&&(Ee(ehe,7),Ee(the,7),Ee(nhe,7),Ee(ihe,7),Ee(rhe,7),Ee(ohe,7),Ee(she,7),Ee(ahe,5),Ee(che,5),Ee(lhe,7),Ee(dhe,7),Ee(uhe,7)),n&2){let o;be(o=ye())&&(r.container=o.first),be(o=ye())&&(r.canvas=o.first),be(o=ye())&&(r.snapshotCanvas=o.first),be(o=ye())&&(r.pngDownloaderCanvas=o.first),be(o=ye())&&(r.hoverToolbar=o.first),be(o=ye())&&(r.ioPicker=o.first),be(o=ye())&&(r.subgraphMenuTrigger=o.first),be(o=ye())&&(r.groupNodeIconMatTooltip=o.first),be(o=ye())&&(r.ioPickerMatTooltip=o.first),be(o=ye())&&(r.moreActionsMenuTrigger=o.first),be(o=ye())&&(r.rangeZoomDragArea=o.first),be(o=ye())&&(r.dragToSelectDragArea=o.first)}},inputs:{modelGraph:"modelGraph",rendererId:"rendererId",paneId:"paneId",rootNodeId:"rootNodeId",inPopup:"inPopup",benchmark:"benchmark"},outputs:{openInPopupClicked:"openInPopupClicked"},standalone:!0,features:[Ft([yC,xC,SC,CC,MC,EC,IC,TC,PC,OC]),le],decls:39,vars:59,consts:[["container",""],["canvas",""],["snapshotCanvas",""],["pngDownloaderCanvas",""],["groupNodeIconMatTooltip","matTooltip"],["moreActionsMenuTrigger","matMenuTrigger"],["moreActionsMenu","matMenu"],["ioPicker",""],["ioPickerMatTooltip","matTooltip"],["subgraphIndicator",""],["subgraphMenuTrigger","matMenuTrigger"],["menu","matMenu"],["rangeZoomDragArea",""],["dragToSelectDragArea",""],[1,"container",3,"mouseleave"],[1,"main",3,"mousedown","contextmenu"],[1,"snapshot"],[1,"download-png"],[1,"group-node-icon",3,"mouseenter","mouseleave","mousedown"],["matTooltipPosition","above",1,"group-node-icon-tooltip",3,"matTooltip","matTooltipShowDelay","matTooltipDisabled"],[1,"more-actions-menu-trigger",3,"matMenuTriggerFor"],[1,"model-explorer-menu-item-with-icon","expand-all",3,"click"],["class","model-explorer-menu-item-with-icon collapse-all",3,"click",4,"ngIf"],["class","model-explorer-menu-item-with-icon open-in-popup",3,"click",4,"ngIf"],[1,"io-picker",3,"mousedown","mouseenter","mouseleave"],["matTooltipPosition","above",1,"io-picker-tooltip",3,"matTooltip"],["matTooltip","Jump to subgraph","matTooltipPosition","above",1,"subgraph-indicator",3,"mousedown","click"],[1,"subgraph-indicator-menu-trigger",3,"matMenuTriggerFor"],[1,"model-explorer-menu-item-with-icon"],["bgColor","rgba(97, 175, 252, 0.2)","borderColor","#1976d2"],["bgColor","rgba(9, 184, 62, 0.2)","borderColor","#09b83e"],[1,"flash"],[1,"fps"],[1,"model-explorer-menu-item-with-icon","collapse-all",3,"click"],[1,"model-explorer-menu-item-with-icon","open-in-popup",3,"click"],[1,"model-explorer-menu-item-with-icon",3,"click"]],template:function(n,r){if(n&1){let o=ne();v(0,"div",14,0),H("mouseleave",function(a){return B(o),V(r.handleMouseLeaveRenderer(a))}),v(2,"canvas",15,1),H("mousedown",function(a){return B(o),V(r.handleMouseDownCanvas(a))})("contextmenu",function(a){return B(o),V(a.preventDefault())}),b(),ee(4,"canvas",16,2)(6,"canvas",17,3),v(8,"div",18),H("mouseenter",function(){return B(o),V(r.handleMouseEnterGroupNodeIcon())})("mouseleave",function(){return B(o),V(r.handleMouseLeaveGroupNodeIcon())})("mousedown",function(a){return B(o),V(r.handleClickGroupNodeIcon(a))}),b(),ee(9,"div",19,4)(11,"div",20,5),v(13,"mat-menu",null,6)(15,"div",21),H("click",function(){return B(o),V(r.handleClickExpandAll(r.hoveredNodeIdWhenClickingMoreActions))}),v(16,"mat-icon"),S(17,"unfold_more_double"),b(),S(18," Expand layer & all sub-layers "),b(),$(19,hhe,4,0,"div",22)(20,phe,4,0,"div",23),b(),v(21,"div",24,7),H("mousedown",function(a){return B(o),V(r.handleClickIoPicker(a))})("mouseenter",function(){return B(o),V(r.handleMouseEnterIoPicker())})("mouseleave",function(){return B(o),V(r.handleMouseLeaveIoPicker())}),b(),ee(23,"div",25,8),v(25,"div",26,9),H("mousedown",function(a){return B(o),V(a.stopPropagation())})("click",function(){return B(o),V(r.handleClickSubgraphIndicator())}),b(),ee(27,"div",27,10),v(29,"mat-menu",null,11),rn(31,fhe,4,1,"div",28,gr),b(),ee(33,"drag-area",29,12)(35,"drag-area",30,13)(37,"div",31),$(38,mhe,2,1,"div",32),b()}if(n&2){let o=ve(14),s=ve(30);w(8),Jt("top",r.groupNodeIcon.top,"px")("left",r.groupNodeIcon.left,"px")("width",r.groupNodeIcon.width,"px")("height",r.groupNodeIcon.height,"px"),w(),Jt("top",r.groupNodeIcon.top,"px")("left",r.groupNodeIcon.left,"px")("width",r.groupNodeIcon.width,"px")("height",r.groupNodeIcon.height,"px"),R("matTooltip",r.groupNodeIcon.tooltip||"")("matTooltipShowDelay",200)("matTooltipDisabled",r.groupNodeIcon.tooltip==null),w(2),Jt("top",r.groupNodeIcon.top+r.groupNodeIcon.height,"px")("left",r.groupNodeIcon.left,"px"),R("matMenuTriggerFor",o),w(8),R("ngIf",r.getShowCollapseAllButton(r.hoveredNodeIdWhenClickingMoreActions)),w(),R("ngIf",r.showOpenInPopupButton),w(),Jt("top",r.ioPickerTop,"px")("left",r.ioPickerLeft,"px")("width",r.ioPickerWidth,"px")("height",r.ioPickerHeight,"px"),w(2),Jt("top",r.ioPickerTop,"px")("left",r.ioPickerLeft,"px")("width",r.ioPickerWidth,"px")("height",r.ioPickerHeight,"px"),R("matTooltip",r.ioPickerTooltip),w(2),Jt("top",r.subgraphIndicatorTop,"px")("left",r.subgraphIndicatorLeft,"px")("width",r.subgraphIndicatorWidth,"px")("height",r.subgraphIndicatorHeight,"px"),w(2),Jt("top",r.subgraphIndicatorTop+r.subgraphIndicatorHeight,"px")("left",r.subgraphIndicatorLeft,"px"),R("matMenuTriggerFor",s),w(4),on(r.curSubgraphIdsForMenu),w(6),re("flashing",r.flashing),w(),oe(r.benchmark?38:-1)}},dependencies:[Ae,Tn,mG,tt,pt,ua,ns,xl,Xt,Yn],styles:[`.container[_ngcontent-%COMP%]{width:100%;height:100%;overflow:hidden;position:relative}.container[_ngcontent-%COMP%] canvas.main[_ngcontent-%COMP%]{width:100%!important;height:100%!important;box-sizing:border-box}.container[_ngcontent-%COMP%] canvas.snapshot[_ngcontent-%COMP%], .container[_ngcontent-%COMP%] canvas.download-png[_ngcontent-%COMP%]{position:absolute;left:0;bottom:0;width:400px;height:300px;border:1px solid red;box-sizing:border-box;background-color:#fff;display:none}.container[_ngcontent-%COMP%] .hover-toolbar[_ngcontent-%COMP%]{position:absolute;width:50px;height:40px;box-sizing:border-box;display:flex;transition:opacity .15s;opacity:1;pointer-events:none}.container[_ngcontent-%COMP%] .hover-toolbar.hide[_ngcontent-%COMP%]{transition:none;opacity:0}.container[_ngcontent-%COMP%] .hover-toolbar[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{width:100%;display:flex;align-items:center;justify-content:center}.container[_ngcontent-%COMP%] .hover-toolbar[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .main-content-wrapper[_ngcontent-%COMP%]{height:100%;display:flex;align-items:center;justify-content:center;pointer-events:all}.container[_ngcontent-%COMP%] .hover-toolbar[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%]{font-size:12px;border:1px solid #ccc;background-color:#fafafae6;border-radius:99px;padding:0 8px;box-sizing:border-box;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a;display:flex;align-items:center}.container[_ngcontent-%COMP%] .hover-toolbar[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:.8;width:24px;padding:4px 0}.container[_ngcontent-%COMP%] .hover-toolbar[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]:hover{opacity:1;background-color:#eee}.container[_ngcontent-%COMP%] .hover-toolbar[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;font-weight:700;width:16px;height:16px;line-height:16px;color:#ea8600}.container[_ngcontent-%COMP%] .io-picker[_ngcontent-%COMP%], .container[_ngcontent-%COMP%] .group-node-icon[_ngcontent-%COMP%], .container[_ngcontent-%COMP%] .subgraph-indicator[_ngcontent-%COMP%]{position:absolute;box-sizing:border-box;display:flex;background-color:transparent}.container[_ngcontent-%COMP%] .group-node-icon[_ngcontent-%COMP%], .container[_ngcontent-%COMP%] .io-picker[_ngcontent-%COMP%]{z-index:100}.container[_ngcontent-%COMP%] .group-node-icon-tooltip[_ngcontent-%COMP%], .container[_ngcontent-%COMP%] .io-picker-tooltip[_ngcontent-%COMP%]{position:absolute;z-index:50}.container[_ngcontent-%COMP%] .subgraph-indicator-menu-trigger[_ngcontent-%COMP%], .container[_ngcontent-%COMP%] .more-actions-menu-trigger[_ngcontent-%COMP%]{position:absolute;visibility:hidden}.container[_ngcontent-%COMP%] .flash[_ngcontent-%COMP%]{position:absolute;top:0;left:0;width:100%;height:100%;z-index:5000;box-sizing:border-box;border:5px solid #1976d2;pointer-events:none;opacity:0}@keyframes _ngcontent-%COMP%_flashing{5%{opacity:1}to{opacity:0}}.container[_ngcontent-%COMP%] .flashing[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_flashing .3s ease-out}.container[_ngcontent-%COMP%] .fps[_ngcontent-%COMP%]{position:absolute;top:12px;left:12px;z-index:100;font-size:32px;border:1px solid #777;padding:8px;border-radius:4px;background-color:#fff} .multiline-tooltip{white-space:pre-line} .multiline-tooltip-left{white-space:pre-line} .multiline-tooltip-left>div{text-align:left} .model-explorer-menu-item-with-icon{font-family:Google Sans Text,Arial,Helvetica,sans-serif;display:flex;align-items:center;font-size:12px;padding:5px 8px;line-height:15px;letter-spacing:normal} .model-explorer-menu-item-with-icon mat-icon{font-size:16px;width:16px;height:16px;margin-right:4px;color:#999} .model-explorer-menu-item-with-icon:hover{background-color:#0000000a} @@ -3669,7 +3670,7 @@ void main() { -`],changeDetection:0})}return i})();function fhe(i,e){if(i&1){let t=ie();v(0,"button",10),H("click",function(){V(t);let r=I(2);return z(r.handleClickStart())}),S(1," Start "),b()}}function mhe(i,e){i&1&&(v(0,"div",9),S(1,"Generating graph. Please wait..."),b())}function ghe(i,e){if(i&1&&(v(0,"div",2)(1,"div",4)(2,"div",5),S(3,"Node count"),b(),ee(4,"input",6),b(),v(5,"div",4)(6,"div",5),S(7,"Edge count"),b(),ee(8,"input",6),b(),v(9,"div",4)(10,"div",5),S(11,"Colorize"),b(),ee(12,"input",7),b(),W(13,fhe,2,0,"button",8)(14,mhe,2,0,"div",9),b()),i&2){let t=I();w(4),N("formControl",t.curNodeCount),w(4),N("formControl",t.curEdgeCount),w(4),N("formControl",t.curColorize),w(),ae(t.generating?14:13)}}function _he(i,e){if(i&1&&ee(0,"webgl-renderer",3),i&2){let t=I();N("modelGraph",t.modelGraph)("benchmark",!0)}}var vhe=Nn,GG=(()=>{class i{changeDetectorRef;curNodeCount=new gr(1e4);curEdgeCount=new gr(5e3);curColorize=new gr(!1);generating=!1;modelGraph;constructor(t){this.changeDetectorRef=t}handleClickStart(){this.generating=!0,this.changeDetectorRef.detectChanges(),setTimeout(()=>{this.genModelGraph()},100)}genModelGraph(){let t=this.curNodeCount.value,n=this.curEdgeCount.value,r=Math.max(500,Math.floor(Math.sqrt(t)*300)),o=[];for(let l=0;l{class i{changeDetectorRef;curNodeCount=new vr(1e4);curEdgeCount=new vr(5e3);curColorize=new vr(!1);generating=!1;modelGraph;constructor(t){this.changeDetectorRef=t}handleClickStart(){this.generating=!0,this.changeDetectorRef.detectChanges(),setTimeout(()=>{this.genModelGraph()},100)}genModelGraph(){let t=this.curNodeCount.value,n=this.curEdgeCount.value,r=Math.max(500,Math.floor(Math.sqrt(t)*300)),o=[];for(let c=0;c{class i{extensionServerAddress=bhe;extensions={};loadExtensions(){return At(this,null,function*(){let t=(yield this.sendGetRequest("api_list_extensions"))||[];t.sort((n,r)=>n.name.localeCompare(r.name));for(let n of t)this.extensions[n.id]=n;return t})}sendCommandToExtension(t){return At(this,null,function*(){return yield this.sendGetRequest("api_cmd",t)})}updateExtensionServerAddress(t){this.extensionServerAddress=t}sendGetRequest(t,n){return At(this,null,function*(){let r=`${this.extensionServerAddress}/${t}`;n&&(r=`${r}?cmd=${encodeURIComponent(JSON.stringify(n))}`);try{let o=yield fetch(r,{credentials:"include"});return o.ok?yield o.json():void 0}catch(o){console.warn(o);return}})}static \u0275fac=function(n){return new(n||i)};static \u0275prov=J({token:i,factory:i.\u0275fac})}return i})();var yhe=["determinateSpinner"];function xhe(i,e){if(i&1&&(ro(),v(0,"svg",11),ee(1,"circle",12),b()),i&2){let t=I();Ze("viewBox",t._viewBox()),w(),tn("stroke-dasharray",t._strokeCircumference(),"px")("stroke-dashoffset",t._strokeCircumference()/2,"px")("stroke-width",t._circleStrokeWidth(),"%"),Ze("r",t._circleRadius())}}var whe=new ge("mat-progress-spinner-default-options",{providedIn:"root",factory:Che});function Che(){return{diameter:WG}}var WG=100,She=10,ha=(()=>{let e=class e{get color(){return this._color||this._defaultColor}set color(n){this._color=n}constructor(n,r,o){this._elementRef=n,this._defaultColor="primary",this._value=0,this._diameter=WG,this._noopAnimations=r==="NoopAnimations"&&!!o&&!o._forceAnimations,this.mode=n.nativeElement.nodeName.toLowerCase()==="mat-spinner"?"indeterminate":"determinate",o&&(o.color&&(this.color=this._defaultColor=o.color),o.diameter&&(this.diameter=o.diameter),o.strokeWidth&&(this.strokeWidth=o.strokeWidth))}get value(){return this.mode==="determinate"?this._value:0}set value(n){this._value=Math.max(0,Math.min(100,n||0))}get diameter(){return this._diameter}set diameter(n){this._diameter=n||0}get strokeWidth(){return this._strokeWidth??this.diameter/10}set strokeWidth(n){this._strokeWidth=n||0}_circleRadius(){return(this.diameter-She)/2}_viewBox(){let n=this._circleRadius()*2+this.strokeWidth;return`0 0 ${n} ${n}`}_strokeCircumference(){return 2*Math.PI*this._circleRadius()}_strokeDashOffset(){return this.mode==="determinate"?this._strokeCircumference()*(100-this._value)/100:null}_circleStrokeWidth(){return this.strokeWidth/this.diameter*100}};e.\u0275fac=function(r){return new(r||e)(M(Re),M(Zn,8),M(whe))},e.\u0275cmp=le({type:e,selectors:[["mat-progress-spinner"],["mat-spinner"]],viewQuery:function(r,o){if(r&1&&Te(yhe,5),r&2){let s;be(s=ye())&&(o._determinateCircle=s.first)}},hostAttrs:["role","progressbar","tabindex","-1",1,"mat-mdc-progress-spinner","mdc-circular-progress"],hostVars:18,hostBindings:function(r,o){r&2&&(Ze("aria-valuemin",0)("aria-valuemax",100)("aria-valuenow",o.mode==="determinate"?o.value:null)("mode",o.mode),kr("mat-"+o.color),tn("width",o.diameter,"px")("height",o.diameter,"px")("--mdc-circular-progress-size",o.diameter+"px")("--mdc-circular-progress-active-indicator-width",o.diameter+"px"),se("_mat-animation-noopable",o._noopAnimations)("mdc-circular-progress--indeterminate",o.mode==="indeterminate"))},inputs:{color:"color",mode:"mode",value:[2,"value","value",Ci],diameter:[2,"diameter","diameter",Ci],strokeWidth:[2,"strokeWidth","strokeWidth",Ci]},exportAs:["matProgressSpinner"],standalone:!0,features:[an,ce],decls:14,vars:11,consts:[["circle",""],["determinateSpinner",""],["aria-hidden","true",1,"mdc-circular-progress__determinate-container"],["xmlns","http://www.w3.org/2000/svg","focusable","false",1,"mdc-circular-progress__determinate-circle-graphic"],["cx","50%","cy","50%",1,"mdc-circular-progress__determinate-circle"],["aria-hidden","true",1,"mdc-circular-progress__indeterminate-container"],[1,"mdc-circular-progress__spinner-layer"],[1,"mdc-circular-progress__circle-clipper","mdc-circular-progress__circle-left"],[3,"ngTemplateOutlet"],[1,"mdc-circular-progress__gap-patch"],[1,"mdc-circular-progress__circle-clipper","mdc-circular-progress__circle-right"],["xmlns","http://www.w3.org/2000/svg","focusable","false",1,"mdc-circular-progress__indeterminate-circle-graphic"],["cx","50%","cy","50%"]],template:function(r,o){if(r&1&&(W(0,xhe,2,8,"ng-template",null,0,kt),v(2,"div",2,1),ro(),v(4,"svg",3),ee(5,"circle",4),b()(),V0(),v(6,"div",5)(7,"div",6)(8,"div",7),Zi(9,8),b(),v(10,"div",9),Zi(11,8),b(),v(12,"div",10),Zi(13,8),b()()()),r&2){let s=ve(1);w(4),Ze("viewBox",o._viewBox()),w(),tn("stroke-dasharray",o._strokeCircumference(),"px")("stroke-dashoffset",o._strokeDashOffset(),"px")("stroke-width",o._circleStrokeWidth(),"%"),Ze("r",o._circleRadius()),w(4),N("ngTemplateOutlet",s),w(2),N("ngTemplateOutlet",s),w(2),N("ngTemplateOutlet",s)}},dependencies:[Us],styles:[".mat-mdc-progress-spinner{display:block;overflow:hidden;line-height:0;position:relative;direction:ltr;transition:opacity 250ms cubic-bezier(0.4, 0, 0.6, 1)}.mat-mdc-progress-spinner circle{stroke-width:var(--mdc-circular-progress-active-indicator-width)}.mat-mdc-progress-spinner._mat-animation-noopable,.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__determinate-circle{transition:none !important}.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__indeterminate-circle-graphic,.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__spinner-layer,.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__indeterminate-container{animation:none !important}.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__indeterminate-container circle{stroke-dasharray:0 !important}.cdk-high-contrast-active .mat-mdc-progress-spinner .mdc-circular-progress__indeterminate-circle-graphic,.cdk-high-contrast-active .mat-mdc-progress-spinner .mdc-circular-progress__determinate-circle{stroke:currentColor;stroke:CanvasText}.mdc-circular-progress__determinate-container,.mdc-circular-progress__indeterminate-circle-graphic,.mdc-circular-progress__indeterminate-container,.mdc-circular-progress__spinner-layer{position:absolute;width:100%;height:100%}.mdc-circular-progress__determinate-container{transform:rotate(-90deg)}.mdc-circular-progress--indeterminate .mdc-circular-progress__determinate-container{opacity:0}.mdc-circular-progress__indeterminate-container{font-size:0;letter-spacing:0;white-space:nowrap;opacity:0}.mdc-circular-progress--indeterminate .mdc-circular-progress__indeterminate-container{opacity:1;animation:mdc-circular-progress-container-rotate 1568.2352941176ms linear infinite}.mdc-circular-progress__determinate-circle-graphic,.mdc-circular-progress__indeterminate-circle-graphic{fill:rgba(0,0,0,0)}.mat-mdc-progress-spinner .mdc-circular-progress__determinate-circle,.mat-mdc-progress-spinner .mdc-circular-progress__indeterminate-circle-graphic{stroke:var(--mdc-circular-progress-active-indicator-color)}.cdk-high-contrast-active .mat-mdc-progress-spinner .mdc-circular-progress__determinate-circle,.cdk-high-contrast-active .mat-mdc-progress-spinner .mdc-circular-progress__indeterminate-circle-graphic{stroke:CanvasText}.mdc-circular-progress__determinate-circle{transition:stroke-dashoffset 500ms cubic-bezier(0, 0, 0.2, 1)}.mdc-circular-progress__gap-patch{position:absolute;top:0;left:47.5%;box-sizing:border-box;width:5%;height:100%;overflow:hidden}.mdc-circular-progress__gap-patch .mdc-circular-progress__indeterminate-circle-graphic{left:-900%;width:2000%;transform:rotate(180deg)}.mdc-circular-progress__circle-clipper .mdc-circular-progress__indeterminate-circle-graphic{width:200%}.mdc-circular-progress__circle-right .mdc-circular-progress__indeterminate-circle-graphic{left:-100%}.mdc-circular-progress--indeterminate .mdc-circular-progress__circle-left .mdc-circular-progress__indeterminate-circle-graphic{animation:mdc-circular-progress-left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__circle-right .mdc-circular-progress__indeterminate-circle-graphic{animation:mdc-circular-progress-right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress__circle-clipper{display:inline-flex;position:relative;width:50%;height:100%;overflow:hidden}.mdc-circular-progress--indeterminate .mdc-circular-progress__spinner-layer{animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}@keyframes mdc-circular-progress-container-rotate{to{transform:rotate(360deg)}}@keyframes mdc-circular-progress-spinner-layer-rotate{12.5%{transform:rotate(135deg)}25%{transform:rotate(270deg)}37.5%{transform:rotate(405deg)}50%{transform:rotate(540deg)}62.5%{transform:rotate(675deg)}75%{transform:rotate(810deg)}87.5%{transform:rotate(945deg)}100%{transform:rotate(1080deg)}}@keyframes mdc-circular-progress-left-spin{from{transform:rotate(265deg)}50%{transform:rotate(130deg)}to{transform:rotate(265deg)}}@keyframes mdc-circular-progress-right-spin{from{transform:rotate(-265deg)}50%{transform:rotate(-130deg)}to{transform:rotate(-265deg)}}"],encapsulation:2,changeDetection:0});let i=e;return i})();var ns=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=ot({type:e}),e.\u0275inj=rt({imports:[Ae,qt]});let i=e;return i})();function Mhe(i,e){i&1&&(v(0,"tr")(1,"td"),ee(2,"div",9),b(),v(3,"td")(4,"div",2),S(5,"Artificial layer to reduce layout load"),b()()())}function Ehe(i,e){if(i&1&&(v(0,"tr")(1,"td"),ee(2,"div",10),b(),v(3,"td")(4,"div",2),S(5),b()()()),i&2){let t=I();w(2),se("group",t.isSelectedNodeGroup),w(3),Me(" Selected ",t.isSelectedNodeGroup?"layer":"op"," ")}}function Ihe(i,e){i&1&&(v(0,"tr")(1,"td"),ee(2,"div",11),b(),v(3,"td")(4,"div",2),S(5,"Identical layer (if any)"),b()()())}function The(i,e){i&1&&(so(0),v(1,"tr")(2,"td"),ee(3,"div",12),b(),v(4,"td")(5,"div",2),S(6,"Inputs (if any)"),b()()(),v(7,"tr")(8,"td"),ee(9,"div",13),b(),v(10,"td")(11,"div",2),S(12,"Outputs (if any)"),b()()(),ao())}var $G=(()=>{class i{appService;changeDetectorRef;paneId;showSelectedNodeKey=!1;isSelectedNodeGroup=!1;hasArtificialLayers=!1;constructor(t,n){this.appService=t,this.changeDetectorRef=n,lt(()=>{let r=this.appService.getPaneById(this.paneId);if(!r)return;this.hasArtificialLayers=r.hasArtificialLayers===!0;let o=r.selectedNodeInfo;if(!o){this.showSelectedNodeKey=!1,this.changeDetectorRef.markForCheck();return}this.showSelectedNodeKey=o.nodeId!=="",this.isSelectedNodeGroup=o.isGroupNode,this.changeDetectorRef.markForCheck()})}static \u0275fac=function(n){return new(n||i)(M(st),M(Fe))};static \u0275cmp=le({type:i,selectors:[["legends-panel"]],inputs:{paneId:"paneId"},standalone:!0,features:[ce],decls:35,vars:4,consts:[[1,"container"],[1,"key","op-node-key"],[1,"label"],[1,"key","group-node-key"],[4,"ngIf"],["colspan","2"],[1,"divider"],[1,"key","shortcut"],[1,"label","shortcut"],[1,"key","artificial-layer-key"],[1,"key","selected-node-key"],[1,"key","identical-group-key"],[1,"key","input-key"],[1,"key","output-key"]],template:function(n,r){n&1&&(v(0,"div",0)(1,"table")(2,"tr")(3,"td"),ee(4,"div",1),b(),v(5,"td")(6,"div",2),S(7,"Op"),b()()(),v(8,"tr")(9,"td"),ee(10,"div",3),b(),v(11,"td")(12,"div",2),S(13,"Layer"),b()()(),W(14,Mhe,6,0,"tr",4)(15,Ehe,6,3,"tr",4)(16,Ihe,6,0,"tr",4)(17,The,13,0,"ng-container",4),v(18,"tr")(19,"td",5),ee(20,"div",6),b()(),v(21,"tr")(22,"td")(23,"div",7),S(24,"Zoom"),b()(),v(25,"td")(26,"div",8),S(27,"Ctrl+Scroll"),b()()(),v(28,"tr")(29,"td")(30,"div",7),S(31,"Pan"),b()(),v(32,"td")(33,"div",8),S(34,"Drag or scroll"),b()()()()()),n&2&&(w(14),N("ngIf",r.hasArtificialLayers),w(),N("ngIf",r.showSelectedNodeKey),w(),N("ngIf",r.showSelectedNodeKey&&r.isSelectedNodeGroup),w(),N("ngIf",r.showSelectedNodeKey&&!r.isSelectedNodeGroup))},dependencies:[Ae,Mn,it],styles:[`.container[_ngcontent-%COMP%]{height:fit-content;background-color:#ffffffe6;padding:8px}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%]{border-spacing:0;border-collapse:collapse;padding:0;font-size:11px}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .key[_ngcontent-%COMP%]{margin-right:4px;box-sizing:border-box}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .op-node-key[_ngcontent-%COMP%]{width:30px;height:14px;border-radius:5px;border:1px solid #666;background-color:#fff}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .group-node-key[_ngcontent-%COMP%]{width:30px;height:14px;border:1px solid #777;border-radius:5px;background-color:#eaeaf2}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .artificial-layer-key[_ngcontent-%COMP%]{border:1px solid #800080;width:30px;height:14px;background-color:#f1f1f1}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .selected-node-key[_ngcontent-%COMP%]{width:30px;height:14px;border:2px solid #1a73e8;border-radius:5px;background-color:#c2e7ff}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .identical-group-key[_ngcontent-%COMP%]{width:30px;height:14px;border:1px solid #777;background-color:#e2edff}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .input-key[_ngcontent-%COMP%]{width:30px;height:14px;border-radius:5px;border:2px solid #009e73}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .output-key[_ngcontent-%COMP%]{width:30px;height:14px;border-radius:5px;border:2px solid #d55e00}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .shortcut[_ngcontent-%COMP%]{color:#777;font-size:10px;line-height:10px}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .divider[_ngcontent-%COMP%]{height:1px;border-top:1px solid #ccc;margin:8px 0 4px} +`],changeDetection:0})}return i})();var Dhe="http://localhost:5000",ZG=(()=>{class i{extensionServerAddress=Dhe;extensions={};loadExtensions(){return It(this,null,function*(){let t=(yield this.sendGetRequest("api_list_extensions"))||[];t.sort((n,r)=>n.name.localeCompare(r.name));for(let n of t)this.extensions[n.id]=n;return t})}sendCommandToExtension(t){return It(this,null,function*(){return yield this.sendGetRequest("api_cmd",t)})}updateExtensionServerAddress(t){this.extensionServerAddress=t}sendGetRequest(t,n){return It(this,null,function*(){let r=`${this.extensionServerAddress}/${t}`;n&&(r=`${r}?cmd=${encodeURIComponent(JSON.stringify(n))}`);try{let o=yield fetch(r,{credentials:"include"});return o.ok?yield o.json():void 0}catch(o){console.warn(o);return}})}static \u0275fac=function(n){return new(n||i)};static \u0275prov=J({token:i,factory:i.\u0275fac})}return i})();var Phe=["determinateSpinner"];function Ohe(i,e){if(i&1&&(uo(),v(0,"svg",11),ee(1,"circle",12),b()),i&2){let t=I();Ye("viewBox",t._viewBox()),w(),Jt("stroke-dasharray",t._strokeCircumference(),"px")("stroke-dashoffset",t._strokeCircumference()/2,"px")("stroke-width",t._circleStrokeWidth(),"%"),Ye("r",t._circleRadius())}}var Rhe=new me("mat-progress-spinner-default-options",{providedIn:"root",factory:Ahe});function Ahe(){return{diameter:QG}}var QG=100,Nhe=10,fa=(()=>{let e=class e{get color(){return this._color||this._defaultColor}set color(n){this._color=n}constructor(n,r,o){this._elementRef=n,this._defaultColor="primary",this._value=0,this._diameter=QG,this._noopAnimations=r==="NoopAnimations"&&!!o&&!o._forceAnimations,this.mode=n.nativeElement.nodeName.toLowerCase()==="mat-spinner"?"indeterminate":"determinate",o&&(o.color&&(this.color=this._defaultColor=o.color),o.diameter&&(this.diameter=o.diameter),o.strokeWidth&&(this.strokeWidth=o.strokeWidth))}get value(){return this.mode==="determinate"?this._value:0}set value(n){this._value=Math.max(0,Math.min(100,n||0))}get diameter(){return this._diameter}set diameter(n){this._diameter=n||0}get strokeWidth(){return this._strokeWidth??this.diameter/10}set strokeWidth(n){this._strokeWidth=n||0}_circleRadius(){return(this.diameter-Nhe)/2}_viewBox(){let n=this._circleRadius()*2+this.strokeWidth;return`0 0 ${n} ${n}`}_strokeCircumference(){return 2*Math.PI*this._circleRadius()}_strokeDashOffset(){return this.mode==="determinate"?this._strokeCircumference()*(100-this._value)/100:null}_circleStrokeWidth(){return this.strokeWidth/this.diameter*100}};e.\u0275fac=function(r){return new(r||e)(M(Re),M(jn,8),M(Rhe))},e.\u0275cmp=ce({type:e,selectors:[["mat-progress-spinner"],["mat-spinner"]],viewQuery:function(r,o){if(r&1&&Ee(Phe,5),r&2){let s;be(s=ye())&&(o._determinateCircle=s.first)}},hostAttrs:["role","progressbar","tabindex","-1",1,"mat-mdc-progress-spinner","mdc-circular-progress"],hostVars:18,hostBindings:function(r,o){r&2&&(Ye("aria-valuemin",0)("aria-valuemax",100)("aria-valuenow",o.mode==="determinate"?o.value:null)("mode",o.mode),Vr("mat-"+o.color),Jt("width",o.diameter,"px")("height",o.diameter,"px")("--mdc-circular-progress-size",o.diameter+"px")("--mdc-circular-progress-active-indicator-width",o.diameter+"px"),re("_mat-animation-noopable",o._noopAnimations)("mdc-circular-progress--indeterminate",o.mode==="indeterminate"))},inputs:{color:"color",mode:"mode",value:[2,"value","value",ni],diameter:[2,"diameter","diameter",ni],strokeWidth:[2,"strokeWidth","strokeWidth",ni]},exportAs:["matProgressSpinner"],standalone:!0,features:[nn,le],decls:14,vars:11,consts:[["circle",""],["determinateSpinner",""],["aria-hidden","true",1,"mdc-circular-progress__determinate-container"],["xmlns","http://www.w3.org/2000/svg","focusable","false",1,"mdc-circular-progress__determinate-circle-graphic"],["cx","50%","cy","50%",1,"mdc-circular-progress__determinate-circle"],["aria-hidden","true",1,"mdc-circular-progress__indeterminate-container"],[1,"mdc-circular-progress__spinner-layer"],[1,"mdc-circular-progress__circle-clipper","mdc-circular-progress__circle-left"],[3,"ngTemplateOutlet"],[1,"mdc-circular-progress__gap-patch"],[1,"mdc-circular-progress__circle-clipper","mdc-circular-progress__circle-right"],["xmlns","http://www.w3.org/2000/svg","focusable","false",1,"mdc-circular-progress__indeterminate-circle-graphic"],["cx","50%","cy","50%"]],template:function(r,o){if(r&1&&($(0,Ohe,2,8,"ng-template",null,0,Tt),v(2,"div",2,1),uo(),v(4,"svg",3),ee(5,"circle",4),b()(),H0(),v(6,"div",5)(7,"div",6)(8,"div",7),Ki(9,8),b(),v(10,"div",9),Ki(11,8),b(),v(12,"div",10),Ki(13,8),b()()()),r&2){let s=ve(1);w(4),Ye("viewBox",o._viewBox()),w(),Jt("stroke-dasharray",o._strokeCircumference(),"px")("stroke-dashoffset",o._strokeDashOffset(),"px")("stroke-width",o._circleStrokeWidth(),"%"),Ye("r",o._circleRadius()),w(4),R("ngTemplateOutlet",s),w(2),R("ngTemplateOutlet",s),w(2),R("ngTemplateOutlet",s)}},dependencies:[Gs],styles:[".mat-mdc-progress-spinner{display:block;overflow:hidden;line-height:0;position:relative;direction:ltr;transition:opacity 250ms cubic-bezier(0.4, 0, 0.6, 1)}.mat-mdc-progress-spinner circle{stroke-width:var(--mdc-circular-progress-active-indicator-width)}.mat-mdc-progress-spinner._mat-animation-noopable,.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__determinate-circle{transition:none !important}.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__indeterminate-circle-graphic,.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__spinner-layer,.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__indeterminate-container{animation:none !important}.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__indeterminate-container circle{stroke-dasharray:0 !important}.cdk-high-contrast-active .mat-mdc-progress-spinner .mdc-circular-progress__indeterminate-circle-graphic,.cdk-high-contrast-active .mat-mdc-progress-spinner .mdc-circular-progress__determinate-circle{stroke:currentColor;stroke:CanvasText}.mdc-circular-progress__determinate-container,.mdc-circular-progress__indeterminate-circle-graphic,.mdc-circular-progress__indeterminate-container,.mdc-circular-progress__spinner-layer{position:absolute;width:100%;height:100%}.mdc-circular-progress__determinate-container{transform:rotate(-90deg)}.mdc-circular-progress--indeterminate .mdc-circular-progress__determinate-container{opacity:0}.mdc-circular-progress__indeterminate-container{font-size:0;letter-spacing:0;white-space:nowrap;opacity:0}.mdc-circular-progress--indeterminate .mdc-circular-progress__indeterminate-container{opacity:1;animation:mdc-circular-progress-container-rotate 1568.2352941176ms linear infinite}.mdc-circular-progress__determinate-circle-graphic,.mdc-circular-progress__indeterminate-circle-graphic{fill:rgba(0,0,0,0)}.mat-mdc-progress-spinner .mdc-circular-progress__determinate-circle,.mat-mdc-progress-spinner .mdc-circular-progress__indeterminate-circle-graphic{stroke:var(--mdc-circular-progress-active-indicator-color)}.cdk-high-contrast-active .mat-mdc-progress-spinner .mdc-circular-progress__determinate-circle,.cdk-high-contrast-active .mat-mdc-progress-spinner .mdc-circular-progress__indeterminate-circle-graphic{stroke:CanvasText}.mdc-circular-progress__determinate-circle{transition:stroke-dashoffset 500ms cubic-bezier(0, 0, 0.2, 1)}.mdc-circular-progress__gap-patch{position:absolute;top:0;left:47.5%;box-sizing:border-box;width:5%;height:100%;overflow:hidden}.mdc-circular-progress__gap-patch .mdc-circular-progress__indeterminate-circle-graphic{left:-900%;width:2000%;transform:rotate(180deg)}.mdc-circular-progress__circle-clipper .mdc-circular-progress__indeterminate-circle-graphic{width:200%}.mdc-circular-progress__circle-right .mdc-circular-progress__indeterminate-circle-graphic{left:-100%}.mdc-circular-progress--indeterminate .mdc-circular-progress__circle-left .mdc-circular-progress__indeterminate-circle-graphic{animation:mdc-circular-progress-left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__circle-right .mdc-circular-progress__indeterminate-circle-graphic{animation:mdc-circular-progress-right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress__circle-clipper{display:inline-flex;position:relative;width:50%;height:100%;overflow:hidden}.mdc-circular-progress--indeterminate .mdc-circular-progress__spinner-layer{animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}@keyframes mdc-circular-progress-container-rotate{to{transform:rotate(360deg)}}@keyframes mdc-circular-progress-spinner-layer-rotate{12.5%{transform:rotate(135deg)}25%{transform:rotate(270deg)}37.5%{transform:rotate(405deg)}50%{transform:rotate(540deg)}62.5%{transform:rotate(675deg)}75%{transform:rotate(810deg)}87.5%{transform:rotate(945deg)}100%{transform:rotate(1080deg)}}@keyframes mdc-circular-progress-left-spin{from{transform:rotate(265deg)}50%{transform:rotate(130deg)}to{transform:rotate(265deg)}}@keyframes mdc-circular-progress-right-spin{from{transform:rotate(-265deg)}50%{transform:rotate(-130deg)}to{transform:rotate(-265deg)}}"],encapsulation:2,changeDetection:0});let i=e;return i})();var ao=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=rt({type:e}),e.\u0275inj=it({imports:[Ae,Ut]});let i=e;return i})();function khe(i,e){i&1&&(v(0,"tr")(1,"td"),ee(2,"div",9),b(),v(3,"td")(4,"div",2),S(5,"Artificial layer to reduce layout load"),b()()())}function Lhe(i,e){if(i&1&&(v(0,"tr")(1,"td"),ee(2,"div",10),b(),v(3,"td")(4,"div",2),S(5),b()()()),i&2){let t=I();w(2),re("group",t.isSelectedNodeGroup),w(3),Se(" Selected ",t.isSelectedNodeGroup?"layer":"op"," ")}}function Fhe(i,e){i&1&&(v(0,"tr")(1,"td"),ee(2,"div",11),b(),v(3,"td")(4,"div",2),S(5,"Identical layer (if any)"),b()()())}function Bhe(i,e){i&1&&(ho(0),v(1,"tr")(2,"td"),ee(3,"div",12),b(),v(4,"td")(5,"div",2),S(6,"Inputs (if any)"),b()()(),v(7,"tr")(8,"td"),ee(9,"div",13),b(),v(10,"td")(11,"div",2),S(12,"Outputs (if any)"),b()()(),po())}var KG=(()=>{class i{appService;changeDetectorRef;paneId;showSelectedNodeKey=!1;isSelectedNodeGroup=!1;hasArtificialLayers=!1;constructor(t,n){this.appService=t,this.changeDetectorRef=n,lt(()=>{let r=this.appService.getPaneById(this.paneId);if(!r)return;this.hasArtificialLayers=r.hasArtificialLayers===!0;let o=r.selectedNodeInfo;if(!o){this.showSelectedNodeKey=!1,this.changeDetectorRef.markForCheck();return}this.showSelectedNodeKey=o.nodeId!=="",this.isSelectedNodeGroup=o.isGroupNode,this.changeDetectorRef.markForCheck()})}static \u0275fac=function(n){return new(n||i)(M(at),M(Ne))};static \u0275cmp=ce({type:i,selectors:[["legends-panel"]],inputs:{paneId:"paneId"},standalone:!0,features:[le],decls:35,vars:4,consts:[[1,"container"],[1,"key","op-node-key"],[1,"label"],[1,"key","group-node-key"],[4,"ngIf"],["colspan","2"],[1,"divider"],[1,"key","shortcut"],[1,"label","shortcut"],[1,"key","artificial-layer-key"],[1,"key","selected-node-key"],[1,"key","identical-group-key"],[1,"key","input-key"],[1,"key","output-key"]],template:function(n,r){n&1&&(v(0,"div",0)(1,"table")(2,"tr")(3,"td"),ee(4,"div",1),b(),v(5,"td")(6,"div",2),S(7,"Op"),b()()(),v(8,"tr")(9,"td"),ee(10,"div",3),b(),v(11,"td")(12,"div",2),S(13,"Layer"),b()()(),$(14,khe,6,0,"tr",4)(15,Lhe,6,3,"tr",4)(16,Fhe,6,0,"tr",4)(17,Bhe,13,0,"ng-container",4),v(18,"tr")(19,"td",5),ee(20,"div",6),b()(),v(21,"tr")(22,"td")(23,"div",7),S(24,"Zoom"),b()(),v(25,"td")(26,"div",8),S(27,"Ctrl+Scroll"),b()()(),v(28,"tr")(29,"td")(30,"div",7),S(31,"Pan"),b()(),v(32,"td")(33,"div",8),S(34,"Drag or scroll"),b()()()()()),n&2&&(w(14),R("ngIf",r.hasArtificialLayers),w(),R("ngIf",r.showSelectedNodeKey),w(),R("ngIf",r.showSelectedNodeKey&&r.isSelectedNodeGroup),w(),R("ngIf",r.showSelectedNodeKey&&!r.isSelectedNodeGroup))},dependencies:[Ae,Tn,tt],styles:[`.container[_ngcontent-%COMP%]{height:fit-content;background-color:#ffffffe6;padding:8px}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%]{border-spacing:0;border-collapse:collapse;padding:0;font-size:11px}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .key[_ngcontent-%COMP%]{margin-right:4px;box-sizing:border-box}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .op-node-key[_ngcontent-%COMP%]{width:30px;height:14px;border-radius:5px;border:1px solid #666;background-color:#fff}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .group-node-key[_ngcontent-%COMP%]{width:30px;height:14px;border:1px solid #777;border-radius:5px;background-color:#eaeaf2}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .artificial-layer-key[_ngcontent-%COMP%]{border:1px solid #800080;width:30px;height:14px;background-color:#f1f1f1}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .selected-node-key[_ngcontent-%COMP%]{width:30px;height:14px;border:2px solid #1a73e8;border-radius:5px;background-color:#c2e7ff}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .identical-group-key[_ngcontent-%COMP%]{width:30px;height:14px;border:1px solid #777;background-color:#e2edff}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .input-key[_ngcontent-%COMP%]{width:30px;height:14px;border-radius:5px;border:2px solid #009e73}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .output-key[_ngcontent-%COMP%]{width:30px;height:14px;border-radius:5px;border:2px solid #d55e00}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .shortcut[_ngcontent-%COMP%]{color:#777;font-size:10px;line-height:10px}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .divider[_ngcontent-%COMP%]{height:1px;border-top:1px solid #ccc;margin:8px 0 4px} @@ -3705,10 +3706,10 @@ void main() { -`],changeDetection:0})}return i})();var qG=48,YG=48,NC=class{rootEle;constructor(e){this.rootEle=e}drag(e){let t=e.clientX,n=e.clientY,r=e.offsetX,o=Number(this.rootEle.style.top.replace("px","")),s=Number(this.rootEle.style.left.replace("px","")),a=Number(this.rootEle.style.width.replace("px","")),l=Number(this.rootEle.style.height.replace("px","")),c=yn(document,"mousemove"),d=yn(window,"mouseup"),u=e.target.dataset.position,h=this.rootEle.parentElement.offsetHeight,p=this.rootEle.parentElement.offsetWidth;Xr([c]).pipe(Xe(d)).subscribe({next:([f])=>{f.preventDefault();let m=f.clientX-t,y=f.clientY-n;if(!(m===0&&y===0))if(u==null)this.rootEle.style.top=`${Math.min(h-28,Math.max(o+y,0))}px`,this.rootEle.style.left=`${Math.min(p-r,Math.max(-r,s+m))}px`;else{if(u.includes("right")&&(this.rootEle.style.width=`${Math.max(qG,a+m)}px`),u.includes("bottom")&&(this.rootEle.style.height=`${Math.max(YG,l+y)}px`),u.includes("left")){let g=Math.max(qG,a-m);this.rootEle.style.width=`${g}px`,this.rootEle.style.left=`${s+(a-g)}px`}if(u.includes("top")){let g=Math.max(YG,l-y);this.rootEle.style.height=`${g}px`,this.rootEle.style.top=`${o+(l-g)}px`}}},complete:()=>{}})}};var wc=(()=>{class i extends _C{constructor(t,n,r,o,s,a,l){super(t,n,r,o,s,a,l),this.attachMouseEventListeners(r.nativeElement)}ngOnInit(){super.ngOnInit(),this.listenForOpenEvents()}listenForOpenEvents(){this.openStatusChange.pipe(Xe(this.destroyed)).subscribe(t=>{t?this.openDialog():this.closeDialog()})}attachMouseEventListeners(t){this.ngZone.runOutsideAngular(()=>{yn(t,"click").pipe(Xe(this.destroyed)).subscribe(n=>{n.target.closest("[bubbleClose]")?this.closingDialog():this.openingDialog()}),this.overlayRef?.backdropClick().pipe(Xe(this.destroyed)).subscribe(()=>{this.closingDialog()})})}attachKeyboardCloseEventListeners(t){this.ngZone.runOutsideAngular(()=>{yn(t,"keyup").pipe(Xe(this.destroyed)).subscribe(n=>{let r=n.keyCode,o=n.target;switch(r){case 27:this.closingDialog();return;case 32:o.closest("[bubbleClose]")&&this.closingDialog();return;default:return}}),yn(t,"keydown").pipe(Xe(this.destroyed)).subscribe(n=>{let r=n.keyCode,o=n.target;switch(r){case 13:o.closest("[bubbleClose]")&&this.closingDialog();return;default:return}})})}openingDialog(){this.disabled||this.openStatusChange.next(!0)}closingDialog(){this.openStatusChange.next(!1)}createOverlayConfig(t){return new hi(wt(Z({},this.overlayDimensions),{positionStrategy:super.createPositionStrategy(t),scrollStrategy:this.createScrollStrategy(),hasBackdrop:!0,backdropClass:"cdk-overlay-transparent-backdrop",panelClass:this.panelClassInternal}))}static \u0275fac=function(n){return new(n||i)(M(Le),M(Gt),M(Re),M(Yt),M(Ye),M(kh),M(xt))};static \u0275dir=ze({type:i,selectors:[["","bubbleClick",""]],hostAttrs:[1,"bubble-click"],inputs:{dialog:[0,"bubbleClick","dialog"],disabled:[0,"bubbleDisabled","disabled"]},exportAs:["bubbleClick"],standalone:!0,features:[nn]})}return i})();var Phe=["input"],Ohe=["label"],Rhe=["*"],Ahe=new ge("mat-checkbox-default-options",{providedIn:"root",factory:ZG});function ZG(){return{color:"accent",clickAction:"check-indeterminate"}}var Mr=function(i){return i[i.Init=0]="Init",i[i.Checked=1]="Checked",i[i.Unchecked=2]="Unchecked",i[i.Indeterminate=3]="Indeterminate",i}(Mr||{}),Nhe={provide:La,useExisting:Zr(()=>kC),multi:!0},AO=class{},khe=0,XG=ZG(),kC=(()=>{let e=class e{focus(){this._inputElement.nativeElement.focus()}_createChangeEvent(n){let r=new AO;return r.source=this,r.checked=n,r}_getAnimationTargetElement(){return this._inputElement?.nativeElement}get inputId(){return`${this.id||this._uniqueId}-input`}constructor(n,r,o,s,a,l){this._elementRef=n,this._changeDetectorRef=r,this._ngZone=o,this._animationMode=a,this._options=l,this._animationClasses={uncheckedToChecked:"mdc-checkbox--anim-unchecked-checked",uncheckedToIndeterminate:"mdc-checkbox--anim-unchecked-indeterminate",checkedToUnchecked:"mdc-checkbox--anim-checked-unchecked",checkedToIndeterminate:"mdc-checkbox--anim-checked-indeterminate",indeterminateToChecked:"mdc-checkbox--anim-indeterminate-checked",indeterminateToUnchecked:"mdc-checkbox--anim-indeterminate-unchecked"},this.ariaLabel="",this.ariaLabelledby=null,this.labelPosition="after",this.name=null,this.change=new Ie,this.indeterminateChange=new Ie,this._onTouched=()=>{},this._currentAnimationClass="",this._currentCheckState=Mr.Init,this._controlValueAccessorChangeFn=()=>{},this._validatorChangeFn=()=>{},this._checked=!1,this._disabled=!1,this._indeterminate=!1,this._options=this._options||XG,this.color=this._options.color||XG.color,this.tabIndex=parseInt(s)||0,this.id=this._uniqueId=`mat-mdc-checkbox-${++khe}`}ngOnChanges(n){n.required&&this._validatorChangeFn()}ngAfterViewInit(){this._syncIndeterminate(this._indeterminate)}get checked(){return this._checked}set checked(n){n!=this.checked&&(this._checked=n,this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(n){n!==this.disabled&&(this._disabled=n,this._changeDetectorRef.markForCheck())}get indeterminate(){return this._indeterminate}set indeterminate(n){let r=n!=this._indeterminate;this._indeterminate=n,r&&(this._indeterminate?this._transitionCheckState(Mr.Indeterminate):this._transitionCheckState(this.checked?Mr.Checked:Mr.Unchecked),this.indeterminateChange.emit(this._indeterminate)),this._syncIndeterminate(this._indeterminate)}_isRippleDisabled(){return this.disableRipple||this.disabled}_onLabelTextChange(){this._changeDetectorRef.detectChanges()}writeValue(n){this.checked=!!n}registerOnChange(n){this._controlValueAccessorChangeFn=n}registerOnTouched(n){this._onTouched=n}setDisabledState(n){this.disabled=n}validate(n){return this.required&&n.value!==!0?{required:!0}:null}registerOnValidatorChange(n){this._validatorChangeFn=n}_transitionCheckState(n){let r=this._currentCheckState,o=this._getAnimationTargetElement();if(!(r===n||!o)&&(this._currentAnimationClass&&o.classList.remove(this._currentAnimationClass),this._currentAnimationClass=this._getAnimationClassForCheckStateTransition(r,n),this._currentCheckState=n,this._currentAnimationClass.length>0)){o.classList.add(this._currentAnimationClass);let s=this._currentAnimationClass;this._ngZone.runOutsideAngular(()=>{setTimeout(()=>{o.classList.remove(s)},1e3)})}}_emitChangeEvent(){this._controlValueAccessorChangeFn(this.checked),this.change.emit(this._createChangeEvent(this.checked)),this._inputElement&&(this._inputElement.nativeElement.checked=this.checked)}toggle(){this.checked=!this.checked,this._controlValueAccessorChangeFn(this.checked)}_handleInputClick(){let n=this._options?.clickAction;!this.disabled&&n!=="noop"?(this.indeterminate&&n!=="check"&&Promise.resolve().then(()=>{this._indeterminate=!1,this.indeterminateChange.emit(this._indeterminate)}),this._checked=!this._checked,this._transitionCheckState(this._checked?Mr.Checked:Mr.Unchecked),this._emitChangeEvent()):!this.disabled&&n==="noop"&&(this._inputElement.nativeElement.checked=this.checked,this._inputElement.nativeElement.indeterminate=this.indeterminate)}_onInteractionEvent(n){n.stopPropagation()}_onBlur(){Promise.resolve().then(()=>{this._onTouched(),this._changeDetectorRef.markForCheck()})}_getAnimationClassForCheckStateTransition(n,r){if(this._animationMode==="NoopAnimations")return"";switch(n){case Mr.Init:if(r===Mr.Checked)return this._animationClasses.uncheckedToChecked;if(r==Mr.Indeterminate)return this._checked?this._animationClasses.checkedToIndeterminate:this._animationClasses.uncheckedToIndeterminate;break;case Mr.Unchecked:return r===Mr.Checked?this._animationClasses.uncheckedToChecked:this._animationClasses.uncheckedToIndeterminate;case Mr.Checked:return r===Mr.Unchecked?this._animationClasses.checkedToUnchecked:this._animationClasses.checkedToIndeterminate;case Mr.Indeterminate:return r===Mr.Checked?this._animationClasses.indeterminateToChecked:this._animationClasses.indeterminateToUnchecked}return""}_syncIndeterminate(n){let r=this._inputElement;r&&(r.nativeElement.indeterminate=n)}_onInputClick(){this._handleInputClick()}_onTouchTargetClick(){this._handleInputClick(),this.disabled||this._inputElement.nativeElement.focus()}_preventBubblingFromLabel(n){n.target&&this._labelElement.nativeElement.contains(n.target)&&n.stopPropagation()}};e.\u0275fac=function(r){return new(r||e)(M(Re),M(Fe),M(Le),oo("tabindex"),M(Zn,8),M(Ahe,8))},e.\u0275cmp=le({type:e,selectors:[["mat-checkbox"]],viewQuery:function(r,o){if(r&1&&(Te(Phe,5),Te(Ohe,5),Te(za,5)),r&2){let s;be(s=ye())&&(o._inputElement=s.first),be(s=ye())&&(o._labelElement=s.first),be(s=ye())&&(o.ripple=s.first)}},hostAttrs:[1,"mat-mdc-checkbox"],hostVars:14,hostBindings:function(r,o){r&2&&(No("id",o.id),Ze("tabindex",null)("aria-label",null)("aria-labelledby",null),kr(o.color?"mat-"+o.color:"mat-accent"),se("_mat-animation-noopable",o._animationMode==="NoopAnimations")("mdc-checkbox--disabled",o.disabled)("mat-mdc-checkbox-disabled",o.disabled)("mat-mdc-checkbox-checked",o.checked))},inputs:{ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],ariaDescribedby:[0,"aria-describedby","ariaDescribedby"],id:"id",required:[2,"required","required",at],labelPosition:"labelPosition",name:"name",value:"value",disableRipple:[2,"disableRipple","disableRipple",at],tabIndex:[2,"tabIndex","tabIndex",n=>n==null?void 0:Ci(n)],color:"color",checked:[2,"checked","checked",at],disabled:[2,"disabled","disabled",at],indeterminate:[2,"indeterminate","indeterminate",at]},outputs:{change:"change",indeterminateChange:"indeterminateChange"},exportAs:["matCheckbox"],standalone:!0,features:[Bt([Nhe,{provide:md,useExisting:e,multi:!0}]),an,dn,ce],ngContentSelectors:Rhe,decls:15,vars:19,consts:[["checkbox",""],["input",""],["label",""],["mat-internal-form-field","",3,"click","labelPosition"],[1,"mdc-checkbox"],[1,"mat-mdc-checkbox-touch-target",3,"click"],["type","checkbox",1,"mdc-checkbox__native-control",3,"blur","click","change","checked","indeterminate","disabled","id","required","tabIndex"],[1,"mdc-checkbox__ripple"],[1,"mdc-checkbox__background"],["focusable","false","viewBox","0 0 24 24","aria-hidden","true",1,"mdc-checkbox__checkmark"],["fill","none","d","M1.73,12.91 8.1,19.28 22.79,4.59",1,"mdc-checkbox__checkmark-path"],[1,"mdc-checkbox__mixedmark"],["mat-ripple","",1,"mat-mdc-checkbox-ripple","mat-mdc-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered"],[1,"mdc-label",3,"for"]],template:function(r,o){if(r&1){let s=ie();Ln(),v(0,"div",3),H("click",function(l){return V(s),z(o._preventBubblingFromLabel(l))}),v(1,"div",4,0)(3,"div",5),H("click",function(){return V(s),z(o._onTouchTargetClick())}),b(),v(4,"input",6,1),H("blur",function(){return V(s),z(o._onBlur())})("click",function(){return V(s),z(o._onInputClick())})("change",function(l){return V(s),z(o._onInteractionEvent(l))}),b(),ee(6,"div",7),v(7,"div",8),ro(),v(8,"svg",9),ee(9,"path",10),b(),V0(),ee(10,"div",11),b(),ee(11,"div",12),b(),v(12,"label",13,2),$t(14),b()()}if(r&2){let s=ve(2);N("labelPosition",o.labelPosition),w(4),se("mdc-checkbox--selected",o.checked),N("checked",o.checked)("indeterminate",o.indeterminate)("disabled",o.disabled)("id",o.inputId)("required",o.required)("tabIndex",o.disabled?-1:o.tabIndex),Ze("aria-label",o.ariaLabel||null)("aria-labelledby",o.ariaLabelledby)("aria-describedby",o.ariaDescribedby)("aria-checked",o.indeterminate?"mixed":null)("name",o.name)("value",o.value),w(7),N("matRippleTrigger",s)("matRippleDisabled",o.disableRipple||o.disabled)("matRippleCentered",!0),w(),N("for",o.inputId)}},dependencies:[za,Ry],styles:['.mdc-checkbox{display:inline-block;position:relative;flex:0 0 18px;box-sizing:content-box;width:18px;height:18px;line-height:0;white-space:nowrap;cursor:pointer;vertical-align:bottom;padding:calc((var(--mdc-checkbox-state-layer-size, 40px) - 18px)/2);margin:calc((var(--mdc-checkbox-state-layer-size, 40px) - var(--mdc-checkbox-state-layer-size, 40px))/2)}.mdc-checkbox:hover .mdc-checkbox__ripple{opacity:var(--mdc-checkbox-unselected-hover-state-layer-opacity);background-color:var(--mdc-checkbox-unselected-hover-state-layer-color)}.mdc-checkbox:hover .mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mdc-checkbox-unselected-hover-state-layer-color)}.mdc-checkbox .mdc-checkbox__native-control:focus~.mdc-checkbox__ripple{opacity:var(--mdc-checkbox-unselected-focus-state-layer-opacity);background-color:var(--mdc-checkbox-unselected-focus-state-layer-color)}.mdc-checkbox .mdc-checkbox__native-control:focus~.mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mdc-checkbox-unselected-focus-state-layer-color)}.mdc-checkbox:active .mdc-checkbox__native-control~.mdc-checkbox__ripple{opacity:var(--mdc-checkbox-unselected-pressed-state-layer-opacity);background-color:var(--mdc-checkbox-unselected-pressed-state-layer-color)}.mdc-checkbox:active .mdc-checkbox__native-control~.mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mdc-checkbox-unselected-pressed-state-layer-color)}.mdc-checkbox:hover .mdc-checkbox__native-control:checked~.mdc-checkbox__ripple{opacity:var(--mdc-checkbox-selected-hover-state-layer-opacity);background-color:var(--mdc-checkbox-selected-hover-state-layer-color)}.mdc-checkbox:hover .mdc-checkbox__native-control:checked~.mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mdc-checkbox-selected-hover-state-layer-color)}.mdc-checkbox .mdc-checkbox__native-control:focus:checked~.mdc-checkbox__ripple{opacity:var(--mdc-checkbox-selected-focus-state-layer-opacity);background-color:var(--mdc-checkbox-selected-focus-state-layer-color)}.mdc-checkbox .mdc-checkbox__native-control:focus:checked~.mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mdc-checkbox-selected-focus-state-layer-color)}.mdc-checkbox:active .mdc-checkbox__native-control:checked~.mdc-checkbox__ripple{opacity:var(--mdc-checkbox-selected-pressed-state-layer-opacity);background-color:var(--mdc-checkbox-selected-pressed-state-layer-color)}.mdc-checkbox:active .mdc-checkbox__native-control:checked~.mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mdc-checkbox-selected-pressed-state-layer-color)}.mdc-checkbox .mdc-checkbox__native-control{position:absolute;margin:0;padding:0;opacity:0;cursor:inherit;width:var(--mdc-checkbox-state-layer-size, 40px);height:var(--mdc-checkbox-state-layer-size, 40px);top:calc((var(--mdc-checkbox-state-layer-size, 40px) - var(--mdc-checkbox-state-layer-size, 40px))/2);right:calc((var(--mdc-checkbox-state-layer-size, 40px) - var(--mdc-checkbox-state-layer-size, 40px))/2);left:calc((var(--mdc-checkbox-state-layer-size, 40px) - var(--mdc-checkbox-state-layer-size, 40px))/2)}.mdc-checkbox--disabled{cursor:default;pointer-events:none}.mdc-checkbox__background{display:inline-flex;position:absolute;align-items:center;justify-content:center;box-sizing:border-box;width:18px;height:18px;border:2px solid currentColor;border-radius:2px;background-color:rgba(0,0,0,0);pointer-events:none;will-change:background-color,border-color;transition:background-color 90ms cubic-bezier(0.4, 0, 0.6, 1),border-color 90ms cubic-bezier(0.4, 0, 0.6, 1);border-color:var(--mdc-checkbox-unselected-icon-color);top:calc((var(--mdc-checkbox-state-layer-size, 40px) - 18px)/2);left:calc((var(--mdc-checkbox-state-layer-size, 40px) - 18px)/2)}.mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background,.mdc-checkbox__native-control:enabled:indeterminate~.mdc-checkbox__background{border-color:var(--mdc-checkbox-selected-icon-color);background-color:var(--mdc-checkbox-selected-icon-color)}.mdc-checkbox--disabled .mdc-checkbox__background{border-color:var(--mdc-checkbox-disabled-unselected-icon-color)}.mdc-checkbox__native-control:disabled:checked~.mdc-checkbox__background,.mdc-checkbox__native-control:disabled:indeterminate~.mdc-checkbox__background{background-color:var(--mdc-checkbox-disabled-selected-icon-color);border-color:rgba(0,0,0,0)}.mdc-checkbox:hover .mdc-checkbox__native-control:not(:checked)~.mdc-checkbox__background,.mdc-checkbox:hover .mdc-checkbox__native-control:not(:indeterminate)~.mdc-checkbox__background{border-color:var(--mdc-checkbox-unselected-hover-icon-color);background-color:rgba(0,0,0,0)}.mdc-checkbox:hover .mdc-checkbox__native-control:checked~.mdc-checkbox__background,.mdc-checkbox:hover .mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background{border-color:var(--mdc-checkbox-selected-hover-icon-color);background-color:var(--mdc-checkbox-selected-hover-icon-color)}.mdc-checkbox__native-control:focus:focus:not(:checked)~.mdc-checkbox__background,.mdc-checkbox__native-control:focus:focus:not(:indeterminate)~.mdc-checkbox__background{border-color:var(--mdc-checkbox-unselected-focus-icon-color)}.mdc-checkbox__native-control:focus:focus:checked~.mdc-checkbox__background,.mdc-checkbox__native-control:focus:focus:indeterminate~.mdc-checkbox__background{border-color:var(--mdc-checkbox-selected-focus-icon-color);background-color:var(--mdc-checkbox-selected-focus-icon-color)}.mdc-checkbox__checkmark{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;opacity:0;transition:opacity 180ms cubic-bezier(0.4, 0, 0.6, 1);color:var(--mdc-checkbox-selected-checkmark-color)}.mdc-checkbox--disabled .mdc-checkbox__checkmark{color:var(--mdc-checkbox-disabled-selected-checkmark-color)}.mdc-checkbox__checkmark-path{transition:stroke-dashoffset 180ms cubic-bezier(0.4, 0, 0.6, 1);stroke:currentColor;stroke-width:3.12px;stroke-dashoffset:29.7833385;stroke-dasharray:29.7833385}.mdc-checkbox__mixedmark{width:100%;height:0;transform:scaleX(0) rotate(0deg);border-width:1px;border-style:solid;opacity:0;transition:opacity 90ms cubic-bezier(0.4, 0, 0.6, 1),transform 90ms cubic-bezier(0.4, 0, 0.6, 1);border-color:var(--mdc-checkbox-selected-checkmark-color)}.cdk-high-contrast-active .mdc-checkbox__mixedmark{margin:0 1px}.mdc-checkbox--disabled .mdc-checkbox__mixedmark{border-color:var(--mdc-checkbox-disabled-selected-checkmark-color)}.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__background,.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__background,.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__background,.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__background{animation-duration:180ms;animation-timing-function:linear}.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__checkmark-path{animation:mdc-checkbox-unchecked-checked-checkmark-path 180ms linear;transition:none}.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__mixedmark{animation:mdc-checkbox-unchecked-indeterminate-mixedmark 90ms linear;transition:none}.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__checkmark-path{animation:mdc-checkbox-checked-unchecked-checkmark-path 90ms linear;transition:none}.mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__checkmark{animation:mdc-checkbox-checked-indeterminate-checkmark 90ms linear;transition:none}.mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__mixedmark{animation:mdc-checkbox-checked-indeterminate-mixedmark 90ms linear;transition:none}.mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__checkmark{animation:mdc-checkbox-indeterminate-checked-checkmark 500ms linear;transition:none}.mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__mixedmark{animation:mdc-checkbox-indeterminate-checked-mixedmark 500ms linear;transition:none}.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__mixedmark{animation:mdc-checkbox-indeterminate-unchecked-mixedmark 300ms linear;transition:none}.mdc-checkbox__native-control:checked~.mdc-checkbox__background,.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background{transition:border-color 90ms cubic-bezier(0, 0, 0.2, 1),background-color 90ms cubic-bezier(0, 0, 0.2, 1)}.mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__checkmark-path,.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background .mdc-checkbox__checkmark-path{stroke-dashoffset:0}.mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__checkmark{transition:opacity 180ms cubic-bezier(0, 0, 0.2, 1),transform 180ms cubic-bezier(0, 0, 0.2, 1);opacity:1}.mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__mixedmark{transform:scaleX(1) rotate(-45deg)}.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background .mdc-checkbox__checkmark{transform:rotate(45deg);opacity:0;transition:opacity 90ms cubic-bezier(0.4, 0, 0.6, 1),transform 90ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background .mdc-checkbox__mixedmark{transform:scaleX(1) rotate(0deg);opacity:1}@keyframes mdc-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:29.7833385}50%{animation-timing-function:cubic-bezier(0, 0, 0.2, 1)}100%{stroke-dashoffset:0}}@keyframes mdc-checkbox-unchecked-indeterminate-mixedmark{0%,68.2%{transform:scaleX(0)}68.2%{animation-timing-function:cubic-bezier(0, 0, 0, 1)}100%{transform:scaleX(1)}}@keyframes mdc-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(0.4, 0, 1, 1);opacity:1;stroke-dashoffset:0}to{opacity:0;stroke-dashoffset:-29.7833385}}@keyframes mdc-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 1);transform:rotate(0deg);opacity:1}to{transform:rotate(45deg);opacity:0}}@keyframes mdc-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);transform:rotate(45deg);opacity:0}to{transform:rotate(360deg);opacity:1}}@keyframes mdc-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 1);transform:rotate(-45deg);opacity:0}to{transform:rotate(0deg);opacity:1}}@keyframes mdc-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);transform:rotate(0deg);opacity:1}to{transform:rotate(315deg);opacity:0}}@keyframes mdc-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;transform:scaleX(1);opacity:1}32.8%,100%{transform:scaleX(0);opacity:0}}.mat-mdc-checkbox{display:inline-block;position:relative;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-checkbox._mat-animation-noopable .mdc-checkbox *,.mat-mdc-checkbox._mat-animation-noopable .mdc-checkbox *::before{transition:none !important;animation:none !important}.mat-mdc-checkbox .mdc-checkbox__background{-webkit-print-color-adjust:exact;color-adjust:exact}.mat-mdc-checkbox label{cursor:pointer}.mat-mdc-checkbox .mat-internal-form-field{color:var(--mat-checkbox-label-text-color);font-family:var(--mat-checkbox-label-text-font);line-height:var(--mat-checkbox-label-text-line-height);font-size:var(--mat-checkbox-label-text-size);letter-spacing:var(--mat-checkbox-label-text-tracking);font-weight:var(--mat-checkbox-label-text-weight)}.mat-mdc-checkbox.mat-mdc-checkbox-disabled label{cursor:default;color:var(--mat-checkbox-disabled-label-color)}.mat-mdc-checkbox label:empty{display:none}.cdk-high-contrast-active .mat-mdc-checkbox.mat-mdc-checkbox-disabled{opacity:.5}.cdk-high-contrast-active .mat-mdc-checkbox .mdc-checkbox__checkmark{--mdc-checkbox-selected-checkmark-color: CanvasText;--mdc-checkbox-disabled-selected-checkmark-color: CanvasText}.mat-mdc-checkbox .mdc-checkbox__ripple{opacity:0}.mat-mdc-checkbox-ripple,.mdc-checkbox__ripple{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:50%;pointer-events:none}.mat-mdc-checkbox-ripple:not(:empty),.mdc-checkbox__ripple:not(:empty){transform:translateZ(0)}.mat-mdc-checkbox-ripple .mat-ripple-element{opacity:.1}.mat-mdc-checkbox-touch-target{position:absolute;top:50%;left:50%;height:48px;width:48px;transform:translate(-50%, -50%);display:var(--mat-checkbox-touch-target-display)}.mat-mdc-checkbox-ripple::before{border-radius:50%}.mdc-checkbox__native-control:focus~.mat-mdc-focus-indicator::before{content:""}'],encapsulation:2,changeDetection:0});let i=e;return i})();var LC=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=ot({type:e}),e.\u0275inj=rt({imports:[kC,qt,qt]});let i=e;return i})();var NO=class{constructor(e){this._box=e,this._destroyed=new me,this._resizeSubject=new me,this._elementObservables=new Map,typeof ResizeObserver<"u"&&(this._resizeObserver=new ResizeObserver(t=>this._resizeSubject.next(t)))}observe(e){return this._elementObservables.has(e)||this._elementObservables.set(e,new Mt(t=>{let n=this._resizeSubject.subscribe(t);return this._resizeObserver?.observe(e,{box:this._box}),()=>{this._resizeObserver?.unobserve(e),n.unsubscribe(),this._elementObservables.delete(e)}}).pipe(jt(t=>t.some(n=>n.target===e)),Gv({bufferSize:1,refCount:!0}),Xe(this._destroyed))),this._elementObservables.get(e)}destroy(){this._destroyed.next(),this._destroyed.complete(),this._resizeSubject.complete(),this._elementObservables.clear()}},QG=(()=>{let e=class e{constructor(){this._observers=new Map,this._ngZone=te(Le),typeof ResizeObserver<"u"}ngOnDestroy(){for(let[,n]of this._observers)n.destroy();this._observers.clear(),typeof ResizeObserver<"u"}observe(n,r){let o=r?.box||"content-box";return this._observers.has(o)||this._observers.set(o,new NO(o)),this._observers.get(o).observe(n)}};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();var Fhe=["notch"],Bhe=["matFormFieldNotchedOutline",""],Vhe=["*"],zhe=["textField"],Uhe=["iconPrefixContainer"],Hhe=["textPrefixContainer"],Ghe=["*",[["mat-label"]],[["","matPrefix",""],["","matIconPrefix",""]],[["","matTextPrefix",""]],[["","matTextSuffix",""]],[["","matSuffix",""],["","matIconSuffix",""]],[["mat-error"],["","matError",""]],[["mat-hint",3,"align","end"]],[["mat-hint","align","end"]]],jhe=["*","mat-label","[matPrefix], [matIconPrefix]","[matTextPrefix]","[matTextSuffix]","[matSuffix], [matIconSuffix]","mat-error, [matError]","mat-hint:not([align='end'])","mat-hint[align='end']"];function Whe(i,e){i&1&&ee(0,"span",19)}function $he(i,e){if(i&1&&(v(0,"label",18),$t(1,1),W(2,Whe,1,0,"span",19),b()),i&2){let t=I(2);N("floating",t._shouldLabelFloat())("monitorResize",t._hasOutline())("id",t._labelId),Ze("for",t._control.disableAutomaticLabeling?null:t._control.id),w(2),ae(!t.hideRequiredMarker&&t._control.required?2:-1)}}function qhe(i,e){if(i&1&&W(0,$he,3,5,"label",18),i&2){let t=I();ae(t._hasFloatingLabel()?0:-1)}}function Yhe(i,e){i&1&&ee(0,"div",5)}function Xhe(i,e){}function Zhe(i,e){if(i&1&&W(0,Xhe,0,0,"ng-template",11),i&2){I(2);let t=ve(1);N("ngTemplateOutlet",t)}}function Qhe(i,e){if(i&1&&(v(0,"div",7),W(1,Zhe,1,1,null,11),b()),i&2){let t=I();N("matFormFieldNotchedOutlineOpen",t._shouldLabelFloat()),w(),ae(t._forceDisplayInfixLabel()?-1:1)}}function Khe(i,e){i&1&&(v(0,"div",8,2),$t(2,2),b())}function Jhe(i,e){i&1&&(v(0,"div",9,3),$t(2,3),b())}function epe(i,e){}function tpe(i,e){if(i&1&&W(0,epe,0,0,"ng-template",11),i&2){I();let t=ve(1);N("ngTemplateOutlet",t)}}function npe(i,e){i&1&&(v(0,"div",12),$t(1,4),b())}function ipe(i,e){i&1&&(v(0,"div",13),$t(1,5),b())}function rpe(i,e){i&1&&ee(0,"div",14)}function ope(i,e){if(i&1&&(v(0,"div",16),$t(1,6),b()),i&2){let t=I();N("@transitionMessages",t._subscriptAnimationState)}}function spe(i,e){if(i&1&&(v(0,"mat-hint",20),S(1),b()),i&2){let t=I(2);N("id",t._hintLabelId),w(),nt(t.hintLabel)}}function ape(i,e){if(i&1&&(v(0,"div",17),W(1,spe,2,2,"mat-hint",20),$t(2,7),ee(3,"div",21),$t(4,8),b()),i&2){let t=I();N("@transitionMessages",t._subscriptAnimationState),w(),ae(t.hintLabel?1:-1)}}var BC=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275dir=ze({type:e,selectors:[["mat-label"]],standalone:!0});let i=e;return i})();var lpe=new ge("MatError");var cpe=0,KG=(()=>{let e=class e{constructor(){this.align="start",this.id=`mat-mdc-hint-${cpe++}`}};e.\u0275fac=function(r){return new(r||e)},e.\u0275dir=ze({type:e,selectors:[["mat-hint"]],hostAttrs:[1,"mat-mdc-form-field-hint","mat-mdc-form-field-bottom-align"],hostVars:4,hostBindings:function(r,o){r&2&&(No("id",o.id),Ze("align",null),se("mat-mdc-form-field-hint-end",o.align==="end"))},inputs:{align:"align",id:"id"},standalone:!0});let i=e;return i})(),dpe=new ge("MatPrefix");var upe=new ge("MatSuffix");var sj=new ge("FloatingLabelParent"),JG=(()=>{let e=class e{get floating(){return this._floating}set floating(n){this._floating=n,this.monitorResize&&this._handleResize()}get monitorResize(){return this._monitorResize}set monitorResize(n){this._monitorResize=n,this._monitorResize?this._subscribeToResize():this._resizeSubscription.unsubscribe()}constructor(n){this._elementRef=n,this._floating=!1,this._monitorResize=!1,this._resizeObserver=te(QG),this._ngZone=te(Le),this._parent=te(sj),this._resizeSubscription=new Ct}ngOnDestroy(){this._resizeSubscription.unsubscribe()}getWidth(){return hpe(this._elementRef.nativeElement)}get element(){return this._elementRef.nativeElement}_handleResize(){setTimeout(()=>this._parent._handleLabelResized())}_subscribeToResize(){this._resizeSubscription.unsubscribe(),this._ngZone.runOutsideAngular(()=>{this._resizeSubscription=this._resizeObserver.observe(this._elementRef.nativeElement,{box:"border-box"}).subscribe(()=>this._handleResize())})}};e.\u0275fac=function(r){return new(r||e)(M(Re))},e.\u0275dir=ze({type:e,selectors:[["label","matFormFieldFloatingLabel",""]],hostAttrs:[1,"mdc-floating-label","mat-mdc-floating-label"],hostVars:2,hostBindings:function(r,o){r&2&&se("mdc-floating-label--float-above",o.floating)},inputs:{floating:"floating",monitorResize:"monitorResize"},standalone:!0});let i=e;return i})();function hpe(i){let e=i;if(e.offsetParent!==null)return e.scrollWidth;let t=e.cloneNode(!0);t.style.setProperty("position","absolute"),t.style.setProperty("transform","translate(-9999px, -9999px)"),document.documentElement.appendChild(t);let n=t.scrollWidth;return t.remove(),n}var ej="mdc-line-ripple--active",FC="mdc-line-ripple--deactivating",tj=(()=>{let e=class e{constructor(n,r){this._elementRef=n,this._handleTransitionEnd=o=>{let s=this._elementRef.nativeElement.classList,a=s.contains(FC);o.propertyName==="opacity"&&a&&s.remove(ej,FC)},r.runOutsideAngular(()=>{n.nativeElement.addEventListener("transitionend",this._handleTransitionEnd)})}activate(){let n=this._elementRef.nativeElement.classList;n.remove(FC),n.add(ej)}deactivate(){this._elementRef.nativeElement.classList.add(FC)}ngOnDestroy(){this._elementRef.nativeElement.removeEventListener("transitionend",this._handleTransitionEnd)}};e.\u0275fac=function(r){return new(r||e)(M(Re),M(Le))},e.\u0275dir=ze({type:e,selectors:[["div","matFormFieldLineRipple",""]],hostAttrs:[1,"mdc-line-ripple"],standalone:!0});let i=e;return i})(),nj=(()=>{let e=class e{constructor(n,r){this._elementRef=n,this._ngZone=r,this.open=!1}ngAfterViewInit(){let n=this._elementRef.nativeElement.querySelector(".mdc-floating-label");n?(this._elementRef.nativeElement.classList.add("mdc-notched-outline--upgraded"),typeof requestAnimationFrame=="function"&&(n.style.transitionDuration="0s",this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>n.style.transitionDuration="")}))):this._elementRef.nativeElement.classList.add("mdc-notched-outline--no-label")}_setNotchWidth(n){!this.open||!n?this._notch.nativeElement.style.width="":this._notch.nativeElement.style.width=`calc(${n}px * var(--mat-mdc-form-field-floating-label-scale, 0.75) + 9px)`}};e.\u0275fac=function(r){return new(r||e)(M(Re),M(Le))},e.\u0275cmp=le({type:e,selectors:[["div","matFormFieldNotchedOutline",""]],viewQuery:function(r,o){if(r&1&&Te(Fhe,5),r&2){let s;be(s=ye())&&(o._notch=s.first)}},hostAttrs:[1,"mdc-notched-outline"],hostVars:2,hostBindings:function(r,o){r&2&&se("mdc-notched-outline--notched",o.open)},inputs:{open:[0,"matFormFieldNotchedOutlineOpen","open"]},standalone:!0,features:[ce],attrs:Bhe,ngContentSelectors:Vhe,decls:5,vars:0,consts:[["notch",""],[1,"mat-mdc-notch-piece","mdc-notched-outline__leading"],[1,"mat-mdc-notch-piece","mdc-notched-outline__notch"],[1,"mat-mdc-notch-piece","mdc-notched-outline__trailing"]],template:function(r,o){r&1&&(Ln(),ee(0,"div",1),v(1,"div",2,0),$t(3),b(),ee(4,"div",3))},encapsulation:2,changeDetection:0});let i=e;return i})(),ppe={transitionMessages:ai("transitionMessages",[mi("enter",Qt({opacity:1,transform:"translateY(0%)"})),On("void => enter",[Qt({opacity:0,transform:"translateY(-5px)"}),Pn("300ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])},kO=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275dir=ze({type:e});let i=e;return i})();var Z_=new ge("MatFormField"),fpe=new ge("MAT_FORM_FIELD_DEFAULT_OPTIONS"),ij=0,rj="fill",mpe="auto",oj="fixed",gpe="translateY(-50%)",aj=(()=>{let e=class e{get hideRequiredMarker(){return this._hideRequiredMarker}set hideRequiredMarker(n){this._hideRequiredMarker=Ih(n)}get floatLabel(){return this._floatLabel||this._defaults?.floatLabel||mpe}set floatLabel(n){n!==this._floatLabel&&(this._floatLabel=n,this._changeDetectorRef.markForCheck())}get appearance(){return this._appearance}set appearance(n){let r=this._appearance,o=n||this._defaults?.appearance||rj;this._appearance=o,this._appearance==="outline"&&this._appearance!==r&&(this._needsOutlineLabelOffsetUpdate=!0)}get subscriptSizing(){return this._subscriptSizing||this._defaults?.subscriptSizing||oj}set subscriptSizing(n){this._subscriptSizing=n||this._defaults?.subscriptSizing||oj}get hintLabel(){return this._hintLabel}set hintLabel(n){this._hintLabel=n,this._processHints()}get _control(){return this._explicitFormFieldControl||this._formFieldControl}set _control(n){this._explicitFormFieldControl=n}constructor(n,r,o,s,a,l,c,d){this._elementRef=n,this._changeDetectorRef=r,this._dir=s,this._platform=a,this._defaults=l,this._animationMode=c,this._labelChild=C2(BC),this._hideRequiredMarker=!1,this.color="primary",this._appearance=rj,this._subscriptSizing=null,this._hintLabel="",this._hasIconPrefix=!1,this._hasTextPrefix=!1,this._hasIconSuffix=!1,this._hasTextSuffix=!1,this._labelId=`mat-mdc-form-field-label-${ij++}`,this._hintLabelId=`mat-mdc-hint-${ij++}`,this._subscriptAnimationState="",this._destroyed=new me,this._isFocused=null,this._needsOutlineLabelOffsetUpdate=!1,this._injector=te(xt),this.getLabelId=Xt(()=>this._hasFloatingLabel()?this._labelId:null),this._hasFloatingLabel=Xt(()=>!!this._labelChild()),l&&(l.appearance&&(this.appearance=l.appearance),this._hideRequiredMarker=!!l?.hideRequiredMarker,l.color&&(this.color=l.color))}ngAfterViewInit(){this._updateFocusState(),this._subscriptAnimationState="enter",this._changeDetectorRef.detectChanges()}ngAfterContentInit(){this._assertFormFieldControl(),this._initializeControl(),this._initializeSubscript(),this._initializePrefixAndSuffix(),this._initializeOutlineLabelOffsetSubscriptions()}ngAfterContentChecked(){this._assertFormFieldControl()}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}getConnectedOverlayOrigin(){return this._textField||this._elementRef}_animateAndLockLabel(){this._hasFloatingLabel()&&(this.floatLabel="always")}_initializeControl(){let n=this._control;n.controlType&&this._elementRef.nativeElement.classList.add(`mat-mdc-form-field-type-${n.controlType}`),n.stateChanges.subscribe(()=>{this._updateFocusState(),this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),n.ngControl&&n.ngControl.valueChanges&&n.ngControl.valueChanges.pipe(Xe(this._destroyed)).subscribe(()=>this._changeDetectorRef.markForCheck())}_checkPrefixAndSuffixTypes(){this._hasIconPrefix=!!this._prefixChildren.find(n=>!n._isText),this._hasTextPrefix=!!this._prefixChildren.find(n=>n._isText),this._hasIconSuffix=!!this._suffixChildren.find(n=>!n._isText),this._hasTextSuffix=!!this._suffixChildren.find(n=>n._isText)}_initializePrefixAndSuffix(){this._checkPrefixAndSuffixTypes(),Yn(this._prefixChildren.changes,this._suffixChildren.changes).subscribe(()=>{this._checkPrefixAndSuffixTypes(),this._changeDetectorRef.markForCheck()})}_initializeSubscript(){this._hintChildren.changes.subscribe(()=>{this._processHints(),this._changeDetectorRef.markForCheck()}),this._errorChildren.changes.subscribe(()=>{this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),this._validateHints(),this._syncDescribedByIds()}_assertFormFieldControl(){this._control}_updateFocusState(){this._control.focused&&!this._isFocused?(this._isFocused=!0,this._lineRipple?.activate()):!this._control.focused&&(this._isFocused||this._isFocused===null)&&(this._isFocused=!1,this._lineRipple?.deactivate()),this._textField?.nativeElement.classList.toggle("mdc-text-field--focused",this._control.focused)}_initializeOutlineLabelOffsetSubscriptions(){this._prefixChildren.changes.subscribe(()=>this._needsOutlineLabelOffsetUpdate=!0),Yf(()=>{this._needsOutlineLabelOffsetUpdate&&(this._needsOutlineLabelOffsetUpdate=!1,this._updateOutlineLabelOffset())},{injector:this._injector}),this._dir.change.pipe(Xe(this._destroyed)).subscribe(()=>this._needsOutlineLabelOffsetUpdate=!0)}_shouldAlwaysFloat(){return this.floatLabel==="always"}_hasOutline(){return this.appearance==="outline"}_forceDisplayInfixLabel(){return!this._platform.isBrowser&&this._prefixChildren.length&&!this._shouldLabelFloat()}_shouldLabelFloat(){return this._hasFloatingLabel()?this._control.shouldLabelFloat||this._shouldAlwaysFloat():!1}_shouldForward(n){let r=this._control?this._control.ngControl:null;return r&&r[n]}_getDisplayedMessages(){return this._errorChildren&&this._errorChildren.length>0&&this._control.errorState?"error":"hint"}_handleLabelResized(){this._refreshOutlineNotchWidth()}_refreshOutlineNotchWidth(){!this._hasOutline()||!this._floatingLabel||!this._shouldLabelFloat()?this._notchedOutline?._setNotchWidth(0):this._notchedOutline?._setNotchWidth(this._floatingLabel.getWidth())}_processHints(){this._validateHints(),this._syncDescribedByIds()}_validateHints(){this._hintChildren}_syncDescribedByIds(){if(this._control){let n=[];if(this._control.userAriaDescribedBy&&typeof this._control.userAriaDescribedBy=="string"&&n.push(...this._control.userAriaDescribedBy.split(" ")),this._getDisplayedMessages()==="hint"){let r=this._hintChildren?this._hintChildren.find(s=>s.align==="start"):null,o=this._hintChildren?this._hintChildren.find(s=>s.align==="end"):null;r?n.push(r.id):this._hintLabel&&n.push(this._hintLabelId),o&&n.push(o.id)}else this._errorChildren&&n.push(...this._errorChildren.map(r=>r.id));this._control.setDescribedByIds(n)}}_updateOutlineLabelOffset(){if(!this._hasOutline()||!this._floatingLabel)return;let n=this._floatingLabel.element;if(!(this._iconPrefixContainer||this._textPrefixContainer)){n.style.transform="";return}if(!this._isAttachedToDom()){this._needsOutlineLabelOffsetUpdate=!0;return}let r=this._iconPrefixContainer?.nativeElement,o=this._textPrefixContainer?.nativeElement,s=r?.getBoundingClientRect().width??0,a=o?.getBoundingClientRect().width??0,l=this._dir.value==="rtl"?"-1":"1",c=`${s+a}px`,u=`calc(${l} * (${c} + var(--mat-mdc-form-field-label-offset-x, 0px)))`;n.style.transform=`var( +`],changeDetection:0})}return i})();var JG=48,ej=48,kC=class{rootEle;constructor(e){this.rootEle=e}drag(e){let t=e.clientX,n=e.clientY,r=e.offsetX,o=Number(this.rootEle.style.top.replace("px","")),s=Number(this.rootEle.style.left.replace("px","")),a=Number(this.rootEle.style.width.replace("px","")),c=Number(this.rootEle.style.height.replace("px","")),l=yn(document,"mousemove"),d=yn(window,"mouseup"),u=e.target.dataset.position,h=this.rootEle.parentElement.offsetHeight,p=this.rootEle.parentElement.offsetWidth;eo([l]).pipe(Ze(d)).subscribe({next:([f])=>{f.preventDefault();let m=f.clientX-t,y=f.clientY-n;if(!(m===0&&y===0))if(u==null)this.rootEle.style.top=`${Math.min(h-28,Math.max(o+y,0))}px`,this.rootEle.style.left=`${Math.min(p-r,Math.max(-r,s+m))}px`;else{if(u.includes("right")&&(this.rootEle.style.width=`${Math.max(JG,a+m)}px`),u.includes("bottom")&&(this.rootEle.style.height=`${Math.max(ej,c+y)}px`),u.includes("left")){let g=Math.max(JG,a-m);this.rootEle.style.width=`${g}px`,this.rootEle.style.left=`${s+(a-g)}px`}if(u.includes("top")){let g=Math.max(ej,c-y);this.rootEle.style.height=`${g}px`,this.rootEle.style.top=`${o+(c-g)}px`}}},complete:()=>{}})}};var Is=(()=>{class i extends vC{constructor(t,n,r,o,s,a,c){super(t,n,r,o,s,a,c),this.attachMouseEventListeners(r.nativeElement)}ngOnInit(){super.ngOnInit(),this.listenForOpenEvents()}listenForOpenEvents(){this.openStatusChange.pipe(Ze(this.destroyed)).subscribe(t=>{t?this.openDialog():this.closeDialog()})}attachMouseEventListeners(t){this.ngZone.runOutsideAngular(()=>{yn(t,"click").pipe(Ze(this.destroyed)).subscribe(n=>{n.target.closest("[bubbleClose]")?this.closingDialog():this.openingDialog()}),this.overlayRef?.backdropClick().pipe(Ze(this.destroyed)).subscribe(()=>{this.closingDialog()})})}attachKeyboardCloseEventListeners(t){this.ngZone.runOutsideAngular(()=>{yn(t,"keyup").pipe(Ze(this.destroyed)).subscribe(n=>{let r=n.keyCode,o=n.target;switch(r){case 27:this.closingDialog();return;case 32:o.closest("[bubbleClose]")&&this.closingDialog();return;default:return}}),yn(t,"keydown").pipe(Ze(this.destroyed)).subscribe(n=>{let r=n.keyCode,o=n.target;switch(r){case 13:o.closest("[bubbleClose]")&&this.closingDialog();return;default:return}})})}openingDialog(){this.disabled||this.openStatusChange.next(!0)}closingDialog(){this.openStatusChange.next(!1)}createOverlayConfig(t){return new fi(yt(Z({},this.overlayDimensions),{positionStrategy:super.createPositionStrategy(t),scrollStrategy:this.createScrollStrategy(),hasBackdrop:!0,backdropClass:"cdk-overlay-transparent-backdrop",panelClass:this.panelClassInternal}))}static \u0275fac=function(n){return new(n||i)(M(Fe),M($t),M(Re),M(Zt),M(Xe),M(Bh),M(vt))};static \u0275dir=Ve({type:i,selectors:[["","bubbleClick",""]],hostAttrs:[1,"bubble-click"],inputs:{dialog:[0,"bubbleClick","dialog"],disabled:[0,"bubbleDisabled","disabled"]},exportAs:["bubbleClick"],standalone:!0,features:[sn]})}return i})();var zhe=["input"],Uhe=["label"],Hhe=["*"],Ghe=new me("mat-checkbox-default-options",{providedIn:"root",factory:nj});function nj(){return{color:"accent",clickAction:"check-indeterminate"}}var Ir=function(i){return i[i.Init=0]="Init",i[i.Checked=1]="Checked",i[i.Unchecked=2]="Unchecked",i[i.Indeterminate=3]="Indeterminate",i}(Ir||{}),jhe={provide:Ba,useExisting:kr(()=>LC),multi:!0},NO=class{},Whe=0,tj=nj(),LC=(()=>{let e=class e{focus(){this._inputElement.nativeElement.focus()}_createChangeEvent(n){let r=new NO;return r.source=this,r.checked=n,r}_getAnimationTargetElement(){return this._inputElement?.nativeElement}get inputId(){return`${this.id||this._uniqueId}-input`}constructor(n,r,o,s,a,c){this._elementRef=n,this._changeDetectorRef=r,this._ngZone=o,this._animationMode=a,this._options=c,this._animationClasses={uncheckedToChecked:"mdc-checkbox--anim-unchecked-checked",uncheckedToIndeterminate:"mdc-checkbox--anim-unchecked-indeterminate",checkedToUnchecked:"mdc-checkbox--anim-checked-unchecked",checkedToIndeterminate:"mdc-checkbox--anim-checked-indeterminate",indeterminateToChecked:"mdc-checkbox--anim-indeterminate-checked",indeterminateToUnchecked:"mdc-checkbox--anim-indeterminate-unchecked"},this.ariaLabel="",this.ariaLabelledby=null,this.labelPosition="after",this.name=null,this.change=new Ie,this.indeterminateChange=new Ie,this._onTouched=()=>{},this._currentAnimationClass="",this._currentCheckState=Ir.Init,this._controlValueAccessorChangeFn=()=>{},this._validatorChangeFn=()=>{},this._checked=!1,this._disabled=!1,this._indeterminate=!1,this._options=this._options||tj,this.color=this._options.color||tj.color,this.tabIndex=parseInt(s)||0,this.id=this._uniqueId=`mat-mdc-checkbox-${++Whe}`}ngOnChanges(n){n.required&&this._validatorChangeFn()}ngAfterViewInit(){this._syncIndeterminate(this._indeterminate)}get checked(){return this._checked}set checked(n){n!=this.checked&&(this._checked=n,this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(n){n!==this.disabled&&(this._disabled=n,this._changeDetectorRef.markForCheck())}get indeterminate(){return this._indeterminate}set indeterminate(n){let r=n!=this._indeterminate;this._indeterminate=n,r&&(this._indeterminate?this._transitionCheckState(Ir.Indeterminate):this._transitionCheckState(this.checked?Ir.Checked:Ir.Unchecked),this.indeterminateChange.emit(this._indeterminate)),this._syncIndeterminate(this._indeterminate)}_isRippleDisabled(){return this.disableRipple||this.disabled}_onLabelTextChange(){this._changeDetectorRef.detectChanges()}writeValue(n){this.checked=!!n}registerOnChange(n){this._controlValueAccessorChangeFn=n}registerOnTouched(n){this._onTouched=n}setDisabledState(n){this.disabled=n}validate(n){return this.required&&n.value!==!0?{required:!0}:null}registerOnValidatorChange(n){this._validatorChangeFn=n}_transitionCheckState(n){let r=this._currentCheckState,o=this._getAnimationTargetElement();if(!(r===n||!o)&&(this._currentAnimationClass&&o.classList.remove(this._currentAnimationClass),this._currentAnimationClass=this._getAnimationClassForCheckStateTransition(r,n),this._currentCheckState=n,this._currentAnimationClass.length>0)){o.classList.add(this._currentAnimationClass);let s=this._currentAnimationClass;this._ngZone.runOutsideAngular(()=>{setTimeout(()=>{o.classList.remove(s)},1e3)})}}_emitChangeEvent(){this._controlValueAccessorChangeFn(this.checked),this.change.emit(this._createChangeEvent(this.checked)),this._inputElement&&(this._inputElement.nativeElement.checked=this.checked)}toggle(){this.checked=!this.checked,this._controlValueAccessorChangeFn(this.checked)}_handleInputClick(){let n=this._options?.clickAction;!this.disabled&&n!=="noop"?(this.indeterminate&&n!=="check"&&Promise.resolve().then(()=>{this._indeterminate=!1,this.indeterminateChange.emit(this._indeterminate)}),this._checked=!this._checked,this._transitionCheckState(this._checked?Ir.Checked:Ir.Unchecked),this._emitChangeEvent()):!this.disabled&&n==="noop"&&(this._inputElement.nativeElement.checked=this.checked,this._inputElement.nativeElement.indeterminate=this.indeterminate)}_onInteractionEvent(n){n.stopPropagation()}_onBlur(){Promise.resolve().then(()=>{this._onTouched(),this._changeDetectorRef.markForCheck()})}_getAnimationClassForCheckStateTransition(n,r){if(this._animationMode==="NoopAnimations")return"";switch(n){case Ir.Init:if(r===Ir.Checked)return this._animationClasses.uncheckedToChecked;if(r==Ir.Indeterminate)return this._checked?this._animationClasses.checkedToIndeterminate:this._animationClasses.uncheckedToIndeterminate;break;case Ir.Unchecked:return r===Ir.Checked?this._animationClasses.uncheckedToChecked:this._animationClasses.uncheckedToIndeterminate;case Ir.Checked:return r===Ir.Unchecked?this._animationClasses.checkedToUnchecked:this._animationClasses.checkedToIndeterminate;case Ir.Indeterminate:return r===Ir.Checked?this._animationClasses.indeterminateToChecked:this._animationClasses.indeterminateToUnchecked}return""}_syncIndeterminate(n){let r=this._inputElement;r&&(r.nativeElement.indeterminate=n)}_onInputClick(){this._handleInputClick()}_onTouchTargetClick(){this._handleInputClick(),this.disabled||this._inputElement.nativeElement.focus()}_preventBubblingFromLabel(n){n.target&&this._labelElement.nativeElement.contains(n.target)&&n.stopPropagation()}};e.\u0275fac=function(r){return new(r||e)(M(Re),M(Ne),M(Fe),Lr("tabindex"),M(jn,8),M(Ghe,8))},e.\u0275cmp=ce({type:e,selectors:[["mat-checkbox"]],viewQuery:function(r,o){if(r&1&&(Ee(zhe,5),Ee(Uhe,5),Ee(gs,5)),r&2){let s;be(s=ye())&&(o._inputElement=s.first),be(s=ye())&&(o._labelElement=s.first),be(s=ye())&&(o.ripple=s.first)}},hostAttrs:[1,"mat-mdc-checkbox"],hostVars:14,hostBindings:function(r,o){r&2&&(Fo("id",o.id),Ye("tabindex",null)("aria-label",null)("aria-labelledby",null),Vr(o.color?"mat-"+o.color:"mat-accent"),re("_mat-animation-noopable",o._animationMode==="NoopAnimations")("mdc-checkbox--disabled",o.disabled)("mat-mdc-checkbox-disabled",o.disabled)("mat-mdc-checkbox-checked",o.checked))},inputs:{ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],ariaDescribedby:[0,"aria-describedby","ariaDescribedby"],id:"id",required:[2,"required","required",et],labelPosition:"labelPosition",name:"name",value:"value",disableRipple:[2,"disableRipple","disableRipple",et],tabIndex:[2,"tabIndex","tabIndex",n=>n==null?void 0:ni(n)],color:"color",checked:[2,"checked","checked",et],disabled:[2,"disabled","disabled",et],indeterminate:[2,"indeterminate","indeterminate",et]},outputs:{change:"change",indeterminateChange:"indeterminateChange"},exportAs:["matCheckbox"],standalone:!0,features:[Ft([jhe,{provide:vd,useExisting:e,multi:!0}]),nn,dn,le],ngContentSelectors:Hhe,decls:15,vars:19,consts:[["checkbox",""],["input",""],["label",""],["mat-internal-form-field","",3,"click","labelPosition"],[1,"mdc-checkbox"],[1,"mat-mdc-checkbox-touch-target",3,"click"],["type","checkbox",1,"mdc-checkbox__native-control",3,"blur","click","change","checked","indeterminate","disabled","id","required","tabIndex"],[1,"mdc-checkbox__ripple"],[1,"mdc-checkbox__background"],["focusable","false","viewBox","0 0 24 24","aria-hidden","true",1,"mdc-checkbox__checkmark"],["fill","none","d","M1.73,12.91 8.1,19.28 22.79,4.59",1,"mdc-checkbox__checkmark-path"],[1,"mdc-checkbox__mixedmark"],["mat-ripple","",1,"mat-mdc-checkbox-ripple","mat-mdc-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered"],[1,"mdc-label",3,"for"]],template:function(r,o){if(r&1){let s=ne();In(),v(0,"div",3),H("click",function(c){return B(s),V(o._preventBubblingFromLabel(c))}),v(1,"div",4,0)(3,"div",5),H("click",function(){return B(s),V(o._onTouchTargetClick())}),b(),v(4,"input",6,1),H("blur",function(){return B(s),V(o._onBlur())})("click",function(){return B(s),V(o._onInputClick())})("change",function(c){return B(s),V(o._onInteractionEvent(c))}),b(),ee(6,"div",7),v(7,"div",8),uo(),v(8,"svg",9),ee(9,"path",10),b(),H0(),ee(10,"div",11),b(),ee(11,"div",12),b(),v(12,"label",13,2),Wt(14),b()()}if(r&2){let s=ve(2);R("labelPosition",o.labelPosition),w(4),re("mdc-checkbox--selected",o.checked),R("checked",o.checked)("indeterminate",o.indeterminate)("disabled",o.disabled)("id",o.inputId)("required",o.required)("tabIndex",o.disabled?-1:o.tabIndex),Ye("aria-label",o.ariaLabel||null)("aria-labelledby",o.ariaLabelledby)("aria-describedby",o.ariaDescribedby)("aria-checked",o.indeterminate?"mixed":null)("name",o.name)("value",o.value),w(7),R("matRippleTrigger",s)("matRippleDisabled",o.disableRipple||o.disabled)("matRippleCentered",!0),w(),R("for",o.inputId)}},dependencies:[gs,Hh],styles:['.mdc-checkbox{display:inline-block;position:relative;flex:0 0 18px;box-sizing:content-box;width:18px;height:18px;line-height:0;white-space:nowrap;cursor:pointer;vertical-align:bottom;padding:calc((var(--mdc-checkbox-state-layer-size, 40px) - 18px)/2);margin:calc((var(--mdc-checkbox-state-layer-size, 40px) - var(--mdc-checkbox-state-layer-size, 40px))/2)}.mdc-checkbox:hover .mdc-checkbox__ripple{opacity:var(--mdc-checkbox-unselected-hover-state-layer-opacity);background-color:var(--mdc-checkbox-unselected-hover-state-layer-color)}.mdc-checkbox:hover .mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mdc-checkbox-unselected-hover-state-layer-color)}.mdc-checkbox .mdc-checkbox__native-control:focus~.mdc-checkbox__ripple{opacity:var(--mdc-checkbox-unselected-focus-state-layer-opacity);background-color:var(--mdc-checkbox-unselected-focus-state-layer-color)}.mdc-checkbox .mdc-checkbox__native-control:focus~.mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mdc-checkbox-unselected-focus-state-layer-color)}.mdc-checkbox:active .mdc-checkbox__native-control~.mdc-checkbox__ripple{opacity:var(--mdc-checkbox-unselected-pressed-state-layer-opacity);background-color:var(--mdc-checkbox-unselected-pressed-state-layer-color)}.mdc-checkbox:active .mdc-checkbox__native-control~.mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mdc-checkbox-unselected-pressed-state-layer-color)}.mdc-checkbox:hover .mdc-checkbox__native-control:checked~.mdc-checkbox__ripple{opacity:var(--mdc-checkbox-selected-hover-state-layer-opacity);background-color:var(--mdc-checkbox-selected-hover-state-layer-color)}.mdc-checkbox:hover .mdc-checkbox__native-control:checked~.mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mdc-checkbox-selected-hover-state-layer-color)}.mdc-checkbox .mdc-checkbox__native-control:focus:checked~.mdc-checkbox__ripple{opacity:var(--mdc-checkbox-selected-focus-state-layer-opacity);background-color:var(--mdc-checkbox-selected-focus-state-layer-color)}.mdc-checkbox .mdc-checkbox__native-control:focus:checked~.mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mdc-checkbox-selected-focus-state-layer-color)}.mdc-checkbox:active .mdc-checkbox__native-control:checked~.mdc-checkbox__ripple{opacity:var(--mdc-checkbox-selected-pressed-state-layer-opacity);background-color:var(--mdc-checkbox-selected-pressed-state-layer-color)}.mdc-checkbox:active .mdc-checkbox__native-control:checked~.mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mdc-checkbox-selected-pressed-state-layer-color)}.mdc-checkbox .mdc-checkbox__native-control{position:absolute;margin:0;padding:0;opacity:0;cursor:inherit;width:var(--mdc-checkbox-state-layer-size, 40px);height:var(--mdc-checkbox-state-layer-size, 40px);top:calc((var(--mdc-checkbox-state-layer-size, 40px) - var(--mdc-checkbox-state-layer-size, 40px))/2);right:calc((var(--mdc-checkbox-state-layer-size, 40px) - var(--mdc-checkbox-state-layer-size, 40px))/2);left:calc((var(--mdc-checkbox-state-layer-size, 40px) - var(--mdc-checkbox-state-layer-size, 40px))/2)}.mdc-checkbox--disabled{cursor:default;pointer-events:none}.mdc-checkbox__background{display:inline-flex;position:absolute;align-items:center;justify-content:center;box-sizing:border-box;width:18px;height:18px;border:2px solid currentColor;border-radius:2px;background-color:rgba(0,0,0,0);pointer-events:none;will-change:background-color,border-color;transition:background-color 90ms cubic-bezier(0.4, 0, 0.6, 1),border-color 90ms cubic-bezier(0.4, 0, 0.6, 1);border-color:var(--mdc-checkbox-unselected-icon-color);top:calc((var(--mdc-checkbox-state-layer-size, 40px) - 18px)/2);left:calc((var(--mdc-checkbox-state-layer-size, 40px) - 18px)/2)}.mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background,.mdc-checkbox__native-control:enabled:indeterminate~.mdc-checkbox__background{border-color:var(--mdc-checkbox-selected-icon-color);background-color:var(--mdc-checkbox-selected-icon-color)}.mdc-checkbox--disabled .mdc-checkbox__background{border-color:var(--mdc-checkbox-disabled-unselected-icon-color)}.mdc-checkbox__native-control:disabled:checked~.mdc-checkbox__background,.mdc-checkbox__native-control:disabled:indeterminate~.mdc-checkbox__background{background-color:var(--mdc-checkbox-disabled-selected-icon-color);border-color:rgba(0,0,0,0)}.mdc-checkbox:hover .mdc-checkbox__native-control:not(:checked)~.mdc-checkbox__background,.mdc-checkbox:hover .mdc-checkbox__native-control:not(:indeterminate)~.mdc-checkbox__background{border-color:var(--mdc-checkbox-unselected-hover-icon-color);background-color:rgba(0,0,0,0)}.mdc-checkbox:hover .mdc-checkbox__native-control:checked~.mdc-checkbox__background,.mdc-checkbox:hover .mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background{border-color:var(--mdc-checkbox-selected-hover-icon-color);background-color:var(--mdc-checkbox-selected-hover-icon-color)}.mdc-checkbox__native-control:focus:focus:not(:checked)~.mdc-checkbox__background,.mdc-checkbox__native-control:focus:focus:not(:indeterminate)~.mdc-checkbox__background{border-color:var(--mdc-checkbox-unselected-focus-icon-color)}.mdc-checkbox__native-control:focus:focus:checked~.mdc-checkbox__background,.mdc-checkbox__native-control:focus:focus:indeterminate~.mdc-checkbox__background{border-color:var(--mdc-checkbox-selected-focus-icon-color);background-color:var(--mdc-checkbox-selected-focus-icon-color)}.mdc-checkbox__checkmark{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;opacity:0;transition:opacity 180ms cubic-bezier(0.4, 0, 0.6, 1);color:var(--mdc-checkbox-selected-checkmark-color)}.mdc-checkbox--disabled .mdc-checkbox__checkmark{color:var(--mdc-checkbox-disabled-selected-checkmark-color)}.mdc-checkbox__checkmark-path{transition:stroke-dashoffset 180ms cubic-bezier(0.4, 0, 0.6, 1);stroke:currentColor;stroke-width:3.12px;stroke-dashoffset:29.7833385;stroke-dasharray:29.7833385}.mdc-checkbox__mixedmark{width:100%;height:0;transform:scaleX(0) rotate(0deg);border-width:1px;border-style:solid;opacity:0;transition:opacity 90ms cubic-bezier(0.4, 0, 0.6, 1),transform 90ms cubic-bezier(0.4, 0, 0.6, 1);border-color:var(--mdc-checkbox-selected-checkmark-color)}.cdk-high-contrast-active .mdc-checkbox__mixedmark{margin:0 1px}.mdc-checkbox--disabled .mdc-checkbox__mixedmark{border-color:var(--mdc-checkbox-disabled-selected-checkmark-color)}.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__background,.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__background,.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__background,.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__background{animation-duration:180ms;animation-timing-function:linear}.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__checkmark-path{animation:mdc-checkbox-unchecked-checked-checkmark-path 180ms linear;transition:none}.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__mixedmark{animation:mdc-checkbox-unchecked-indeterminate-mixedmark 90ms linear;transition:none}.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__checkmark-path{animation:mdc-checkbox-checked-unchecked-checkmark-path 90ms linear;transition:none}.mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__checkmark{animation:mdc-checkbox-checked-indeterminate-checkmark 90ms linear;transition:none}.mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__mixedmark{animation:mdc-checkbox-checked-indeterminate-mixedmark 90ms linear;transition:none}.mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__checkmark{animation:mdc-checkbox-indeterminate-checked-checkmark 500ms linear;transition:none}.mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__mixedmark{animation:mdc-checkbox-indeterminate-checked-mixedmark 500ms linear;transition:none}.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__mixedmark{animation:mdc-checkbox-indeterminate-unchecked-mixedmark 300ms linear;transition:none}.mdc-checkbox__native-control:checked~.mdc-checkbox__background,.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background{transition:border-color 90ms cubic-bezier(0, 0, 0.2, 1),background-color 90ms cubic-bezier(0, 0, 0.2, 1)}.mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__checkmark-path,.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background .mdc-checkbox__checkmark-path{stroke-dashoffset:0}.mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__checkmark{transition:opacity 180ms cubic-bezier(0, 0, 0.2, 1),transform 180ms cubic-bezier(0, 0, 0.2, 1);opacity:1}.mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__mixedmark{transform:scaleX(1) rotate(-45deg)}.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background .mdc-checkbox__checkmark{transform:rotate(45deg);opacity:0;transition:opacity 90ms cubic-bezier(0.4, 0, 0.6, 1),transform 90ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background .mdc-checkbox__mixedmark{transform:scaleX(1) rotate(0deg);opacity:1}@keyframes mdc-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:29.7833385}50%{animation-timing-function:cubic-bezier(0, 0, 0.2, 1)}100%{stroke-dashoffset:0}}@keyframes mdc-checkbox-unchecked-indeterminate-mixedmark{0%,68.2%{transform:scaleX(0)}68.2%{animation-timing-function:cubic-bezier(0, 0, 0, 1)}100%{transform:scaleX(1)}}@keyframes mdc-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(0.4, 0, 1, 1);opacity:1;stroke-dashoffset:0}to{opacity:0;stroke-dashoffset:-29.7833385}}@keyframes mdc-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 1);transform:rotate(0deg);opacity:1}to{transform:rotate(45deg);opacity:0}}@keyframes mdc-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);transform:rotate(45deg);opacity:0}to{transform:rotate(360deg);opacity:1}}@keyframes mdc-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 1);transform:rotate(-45deg);opacity:0}to{transform:rotate(0deg);opacity:1}}@keyframes mdc-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);transform:rotate(0deg);opacity:1}to{transform:rotate(315deg);opacity:0}}@keyframes mdc-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;transform:scaleX(1);opacity:1}32.8%,100%{transform:scaleX(0);opacity:0}}.mat-mdc-checkbox{display:inline-block;position:relative;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-checkbox._mat-animation-noopable .mdc-checkbox *,.mat-mdc-checkbox._mat-animation-noopable .mdc-checkbox *::before{transition:none !important;animation:none !important}.mat-mdc-checkbox .mdc-checkbox__background{-webkit-print-color-adjust:exact;color-adjust:exact}.mat-mdc-checkbox label{cursor:pointer}.mat-mdc-checkbox .mat-internal-form-field{color:var(--mat-checkbox-label-text-color);font-family:var(--mat-checkbox-label-text-font);line-height:var(--mat-checkbox-label-text-line-height);font-size:var(--mat-checkbox-label-text-size);letter-spacing:var(--mat-checkbox-label-text-tracking);font-weight:var(--mat-checkbox-label-text-weight)}.mat-mdc-checkbox.mat-mdc-checkbox-disabled label{cursor:default;color:var(--mat-checkbox-disabled-label-color)}.mat-mdc-checkbox label:empty{display:none}.cdk-high-contrast-active .mat-mdc-checkbox.mat-mdc-checkbox-disabled{opacity:.5}.cdk-high-contrast-active .mat-mdc-checkbox .mdc-checkbox__checkmark{--mdc-checkbox-selected-checkmark-color: CanvasText;--mdc-checkbox-disabled-selected-checkmark-color: CanvasText}.mat-mdc-checkbox .mdc-checkbox__ripple{opacity:0}.mat-mdc-checkbox-ripple,.mdc-checkbox__ripple{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:50%;pointer-events:none}.mat-mdc-checkbox-ripple:not(:empty),.mdc-checkbox__ripple:not(:empty){transform:translateZ(0)}.mat-mdc-checkbox-ripple .mat-ripple-element{opacity:.1}.mat-mdc-checkbox-touch-target{position:absolute;top:50%;left:50%;height:48px;width:48px;transform:translate(-50%, -50%);display:var(--mat-checkbox-touch-target-display)}.mat-mdc-checkbox-ripple::before{border-radius:50%}.mdc-checkbox__native-control:focus~.mat-mdc-focus-indicator::before{content:""}'],encapsulation:2,changeDetection:0});let i=e;return i})();var FC=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=rt({type:e}),e.\u0275inj=it({imports:[LC,Ut,Ut]});let i=e;return i})();var kO=class{constructor(e){this._box=e,this._destroyed=new pe,this._resizeSubject=new pe,this._elementObservables=new Map,typeof ResizeObserver<"u"&&(this._resizeObserver=new ResizeObserver(t=>this._resizeSubject.next(t)))}observe(e){return this._elementObservables.has(e)||this._elementObservables.set(e,new Et(t=>{let n=this._resizeSubject.subscribe(t);return this._resizeObserver?.observe(e,{box:this._box}),()=>{this._resizeObserver?.unobserve(e),n.unsubscribe(),this._elementObservables.delete(e)}}).pipe(qt(t=>t.some(n=>n.target===e)),$v({bufferSize:1,refCount:!0}),Ze(this._destroyed))),this._elementObservables.get(e)}destroy(){this._destroyed.next(),this._destroyed.complete(),this._resizeSubject.complete(),this._elementObservables.clear()}},ij=(()=>{let e=class e{constructor(){this._observers=new Map,this._ngZone=te(Fe),typeof ResizeObserver<"u"}ngOnDestroy(){for(let[,n]of this._observers)n.destroy();this._observers.clear(),typeof ResizeObserver<"u"}observe(n,r){let o=r?.box||"content-box";return this._observers.has(o)||this._observers.set(o,new kO(o)),this._observers.get(o).observe(n)}};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();var qhe=["notch"],Yhe=["matFormFieldNotchedOutline",""],Xhe=["*"],Zhe=["textField"],Qhe=["iconPrefixContainer"],Khe=["textPrefixContainer"],Jhe=["*",[["mat-label"]],[["","matPrefix",""],["","matIconPrefix",""]],[["","matTextPrefix",""]],[["","matTextSuffix",""]],[["","matSuffix",""],["","matIconSuffix",""]],[["mat-error"],["","matError",""]],[["mat-hint",3,"align","end"]],[["mat-hint","align","end"]]],epe=["*","mat-label","[matPrefix], [matIconPrefix]","[matTextPrefix]","[matTextSuffix]","[matSuffix], [matIconSuffix]","mat-error, [matError]","mat-hint:not([align='end'])","mat-hint[align='end']"];function tpe(i,e){i&1&&ee(0,"span",19)}function npe(i,e){if(i&1&&(v(0,"label",18),Wt(1,1),$(2,tpe,1,0,"span",19),b()),i&2){let t=I(2);R("floating",t._shouldLabelFloat())("monitorResize",t._hasOutline())("id",t._labelId),Ye("for",t._control.disableAutomaticLabeling?null:t._control.id),w(2),oe(!t.hideRequiredMarker&&t._control.required?2:-1)}}function ipe(i,e){if(i&1&&$(0,npe,3,5,"label",18),i&2){let t=I();oe(t._hasFloatingLabel()?0:-1)}}function rpe(i,e){i&1&&ee(0,"div",5)}function ope(i,e){}function spe(i,e){if(i&1&&$(0,ope,0,0,"ng-template",11),i&2){I(2);let t=ve(1);R("ngTemplateOutlet",t)}}function ape(i,e){if(i&1&&(v(0,"div",7),$(1,spe,1,1,null,11),b()),i&2){let t=I();R("matFormFieldNotchedOutlineOpen",t._shouldLabelFloat()),w(),oe(t._forceDisplayInfixLabel()?-1:1)}}function cpe(i,e){i&1&&(v(0,"div",8,2),Wt(2,2),b())}function lpe(i,e){i&1&&(v(0,"div",9,3),Wt(2,3),b())}function dpe(i,e){}function upe(i,e){if(i&1&&$(0,dpe,0,0,"ng-template",11),i&2){I();let t=ve(1);R("ngTemplateOutlet",t)}}function hpe(i,e){i&1&&(v(0,"div",12),Wt(1,4),b())}function ppe(i,e){i&1&&(v(0,"div",13),Wt(1,5),b())}function fpe(i,e){i&1&&ee(0,"div",14)}function mpe(i,e){if(i&1&&(v(0,"div",16),Wt(1,6),b()),i&2){let t=I();R("@transitionMessages",t._subscriptAnimationState)}}function gpe(i,e){if(i&1&&(v(0,"mat-hint",20),S(1),b()),i&2){let t=I(2);R("id",t._hintLabelId),w(),st(t.hintLabel)}}function _pe(i,e){if(i&1&&(v(0,"div",17),$(1,gpe,2,2,"mat-hint",20),Wt(2,7),ee(3,"div",21),Wt(4,8),b()),i&2){let t=I();R("@transitionMessages",t._subscriptAnimationState),w(),oe(t.hintLabel?1:-1)}}var VC=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275dir=Ve({type:e,selectors:[["mat-label"]],standalone:!0});let i=e;return i})();var vpe=new me("MatError");var bpe=0,rj=(()=>{let e=class e{constructor(){this.align="start",this.id=`mat-mdc-hint-${bpe++}`}};e.\u0275fac=function(r){return new(r||e)},e.\u0275dir=Ve({type:e,selectors:[["mat-hint"]],hostAttrs:[1,"mat-mdc-form-field-hint","mat-mdc-form-field-bottom-align"],hostVars:4,hostBindings:function(r,o){r&2&&(Fo("id",o.id),Ye("align",null),re("mat-mdc-form-field-hint-end",o.align==="end"))},inputs:{align:"align",id:"id"},standalone:!0});let i=e;return i})(),ype=new me("MatPrefix");var xpe=new me("MatSuffix");var hj=new me("FloatingLabelParent"),oj=(()=>{let e=class e{get floating(){return this._floating}set floating(n){this._floating=n,this.monitorResize&&this._handleResize()}get monitorResize(){return this._monitorResize}set monitorResize(n){this._monitorResize=n,this._monitorResize?this._subscribeToResize():this._resizeSubscription.unsubscribe()}constructor(n){this._elementRef=n,this._floating=!1,this._monitorResize=!1,this._resizeObserver=te(ij),this._ngZone=te(Fe),this._parent=te(hj),this._resizeSubscription=new Ct}ngOnDestroy(){this._resizeSubscription.unsubscribe()}getWidth(){return wpe(this._elementRef.nativeElement)}get element(){return this._elementRef.nativeElement}_handleResize(){setTimeout(()=>this._parent._handleLabelResized())}_subscribeToResize(){this._resizeSubscription.unsubscribe(),this._ngZone.runOutsideAngular(()=>{this._resizeSubscription=this._resizeObserver.observe(this._elementRef.nativeElement,{box:"border-box"}).subscribe(()=>this._handleResize())})}};e.\u0275fac=function(r){return new(r||e)(M(Re))},e.\u0275dir=Ve({type:e,selectors:[["label","matFormFieldFloatingLabel",""]],hostAttrs:[1,"mdc-floating-label","mat-mdc-floating-label"],hostVars:2,hostBindings:function(r,o){r&2&&re("mdc-floating-label--float-above",o.floating)},inputs:{floating:"floating",monitorResize:"monitorResize"},standalone:!0});let i=e;return i})();function wpe(i){let e=i;if(e.offsetParent!==null)return e.scrollWidth;let t=e.cloneNode(!0);t.style.setProperty("position","absolute"),t.style.setProperty("transform","translate(-9999px, -9999px)"),document.documentElement.appendChild(t);let n=t.scrollWidth;return t.remove(),n}var sj="mdc-line-ripple--active",BC="mdc-line-ripple--deactivating",aj=(()=>{let e=class e{constructor(n,r){this._elementRef=n,this._handleTransitionEnd=o=>{let s=this._elementRef.nativeElement.classList,a=s.contains(BC);o.propertyName==="opacity"&&a&&s.remove(sj,BC)},r.runOutsideAngular(()=>{n.nativeElement.addEventListener("transitionend",this._handleTransitionEnd)})}activate(){let n=this._elementRef.nativeElement.classList;n.remove(BC),n.add(sj)}deactivate(){this._elementRef.nativeElement.classList.add(BC)}ngOnDestroy(){this._elementRef.nativeElement.removeEventListener("transitionend",this._handleTransitionEnd)}};e.\u0275fac=function(r){return new(r||e)(M(Re),M(Fe))},e.\u0275dir=Ve({type:e,selectors:[["div","matFormFieldLineRipple",""]],hostAttrs:[1,"mdc-line-ripple"],standalone:!0});let i=e;return i})(),cj=(()=>{let e=class e{constructor(n,r){this._elementRef=n,this._ngZone=r,this.open=!1}ngAfterViewInit(){let n=this._elementRef.nativeElement.querySelector(".mdc-floating-label");n?(this._elementRef.nativeElement.classList.add("mdc-notched-outline--upgraded"),typeof requestAnimationFrame=="function"&&(n.style.transitionDuration="0s",this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>n.style.transitionDuration="")}))):this._elementRef.nativeElement.classList.add("mdc-notched-outline--no-label")}_setNotchWidth(n){!this.open||!n?this._notch.nativeElement.style.width="":this._notch.nativeElement.style.width=`calc(${n}px * var(--mat-mdc-form-field-floating-label-scale, 0.75) + 9px)`}};e.\u0275fac=function(r){return new(r||e)(M(Re),M(Fe))},e.\u0275cmp=ce({type:e,selectors:[["div","matFormFieldNotchedOutline",""]],viewQuery:function(r,o){if(r&1&&Ee(qhe,5),r&2){let s;be(s=ye())&&(o._notch=s.first)}},hostAttrs:[1,"mdc-notched-outline"],hostVars:2,hostBindings:function(r,o){r&2&&re("mdc-notched-outline--notched",o.open)},inputs:{open:[0,"matFormFieldNotchedOutlineOpen","open"]},standalone:!0,features:[le],attrs:Yhe,ngContentSelectors:Xhe,decls:5,vars:0,consts:[["notch",""],[1,"mat-mdc-notch-piece","mdc-notched-outline__leading"],[1,"mat-mdc-notch-piece","mdc-notched-outline__notch"],[1,"mat-mdc-notch-piece","mdc-notched-outline__trailing"]],template:function(r,o){r&1&&(In(),ee(0,"div",1),v(1,"div",2,0),Wt(3),b(),ee(4,"div",3))},encapsulation:2,changeDetection:0});let i=e;return i})(),Cpe={transitionMessages:li("transitionMessages",[vi("enter",Kt({opacity:1,transform:"translateY(0%)"})),An("void => enter",[Kt({opacity:0,transform:"translateY(-5px)"}),Rn("300ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])},LO=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275dir=Ve({type:e});let i=e;return i})();var J_=new me("MatFormField"),Spe=new me("MAT_FORM_FIELD_DEFAULT_OPTIONS"),lj=0,dj="fill",Mpe="auto",uj="fixed",Epe="translateY(-50%)",pj=(()=>{let e=class e{get hideRequiredMarker(){return this._hideRequiredMarker}set hideRequiredMarker(n){this._hideRequiredMarker=Ph(n)}get floatLabel(){return this._floatLabel||this._defaults?.floatLabel||Mpe}set floatLabel(n){n!==this._floatLabel&&(this._floatLabel=n,this._changeDetectorRef.markForCheck())}get appearance(){return this._appearance}set appearance(n){let r=this._appearance,o=n||this._defaults?.appearance||dj;this._appearance=o,this._appearance==="outline"&&this._appearance!==r&&(this._needsOutlineLabelOffsetUpdate=!0)}get subscriptSizing(){return this._subscriptSizing||this._defaults?.subscriptSizing||uj}set subscriptSizing(n){this._subscriptSizing=n||this._defaults?.subscriptSizing||uj}get hintLabel(){return this._hintLabel}set hintLabel(n){this._hintLabel=n,this._processHints()}get _control(){return this._explicitFormFieldControl||this._formFieldControl}set _control(n){this._explicitFormFieldControl=n}constructor(n,r,o,s,a,c,l,d){this._elementRef=n,this._changeDetectorRef=r,this._dir=s,this._platform=a,this._defaults=c,this._animationMode=l,this._labelChild=E2(VC),this._hideRequiredMarker=!1,this.color="primary",this._appearance=dj,this._subscriptSizing=null,this._hintLabel="",this._hasIconPrefix=!1,this._hasTextPrefix=!1,this._hasIconSuffix=!1,this._hasTextSuffix=!1,this._labelId=`mat-mdc-form-field-label-${lj++}`,this._hintLabelId=`mat-mdc-hint-${lj++}`,this._subscriptAnimationState="",this._destroyed=new pe,this._isFocused=null,this._needsOutlineLabelOffsetUpdate=!1,this._injector=te(vt),this.getLabelId=Bt(()=>this._hasFloatingLabel()?this._labelId:null),this._hasFloatingLabel=Bt(()=>!!this._labelChild()),c&&(c.appearance&&(this.appearance=c.appearance),this._hideRequiredMarker=!!c?.hideRequiredMarker,c.color&&(this.color=c.color))}ngAfterViewInit(){this._updateFocusState(),this._subscriptAnimationState="enter",this._changeDetectorRef.detectChanges()}ngAfterContentInit(){this._assertFormFieldControl(),this._initializeControl(),this._initializeSubscript(),this._initializePrefixAndSuffix(),this._initializeOutlineLabelOffsetSubscriptions()}ngAfterContentChecked(){this._assertFormFieldControl()}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}getConnectedOverlayOrigin(){return this._textField||this._elementRef}_animateAndLockLabel(){this._hasFloatingLabel()&&(this.floatLabel="always")}_initializeControl(){let n=this._control;n.controlType&&this._elementRef.nativeElement.classList.add(`mat-mdc-form-field-type-${n.controlType}`),n.stateChanges.subscribe(()=>{this._updateFocusState(),this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),n.ngControl&&n.ngControl.valueChanges&&n.ngControl.valueChanges.pipe(Ze(this._destroyed)).subscribe(()=>this._changeDetectorRef.markForCheck())}_checkPrefixAndSuffixTypes(){this._hasIconPrefix=!!this._prefixChildren.find(n=>!n._isText),this._hasTextPrefix=!!this._prefixChildren.find(n=>n._isText),this._hasIconSuffix=!!this._suffixChildren.find(n=>!n._isText),this._hasTextSuffix=!!this._suffixChildren.find(n=>n._isText)}_initializePrefixAndSuffix(){this._checkPrefixAndSuffixTypes(),Zn(this._prefixChildren.changes,this._suffixChildren.changes).subscribe(()=>{this._checkPrefixAndSuffixTypes(),this._changeDetectorRef.markForCheck()})}_initializeSubscript(){this._hintChildren.changes.subscribe(()=>{this._processHints(),this._changeDetectorRef.markForCheck()}),this._errorChildren.changes.subscribe(()=>{this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),this._validateHints(),this._syncDescribedByIds()}_assertFormFieldControl(){this._control}_updateFocusState(){this._control.focused&&!this._isFocused?(this._isFocused=!0,this._lineRipple?.activate()):!this._control.focused&&(this._isFocused||this._isFocused===null)&&(this._isFocused=!1,this._lineRipple?.deactivate()),this._textField?.nativeElement.classList.toggle("mdc-text-field--focused",this._control.focused)}_initializeOutlineLabelOffsetSubscriptions(){this._prefixChildren.changes.subscribe(()=>this._needsOutlineLabelOffsetUpdate=!0),Kf(()=>{this._needsOutlineLabelOffsetUpdate&&(this._needsOutlineLabelOffsetUpdate=!1,this._updateOutlineLabelOffset())},{injector:this._injector}),this._dir.change.pipe(Ze(this._destroyed)).subscribe(()=>this._needsOutlineLabelOffsetUpdate=!0)}_shouldAlwaysFloat(){return this.floatLabel==="always"}_hasOutline(){return this.appearance==="outline"}_forceDisplayInfixLabel(){return!this._platform.isBrowser&&this._prefixChildren.length&&!this._shouldLabelFloat()}_shouldLabelFloat(){return this._hasFloatingLabel()?this._control.shouldLabelFloat||this._shouldAlwaysFloat():!1}_shouldForward(n){let r=this._control?this._control.ngControl:null;return r&&r[n]}_getDisplayedMessages(){return this._errorChildren&&this._errorChildren.length>0&&this._control.errorState?"error":"hint"}_handleLabelResized(){this._refreshOutlineNotchWidth()}_refreshOutlineNotchWidth(){!this._hasOutline()||!this._floatingLabel||!this._shouldLabelFloat()?this._notchedOutline?._setNotchWidth(0):this._notchedOutline?._setNotchWidth(this._floatingLabel.getWidth())}_processHints(){this._validateHints(),this._syncDescribedByIds()}_validateHints(){this._hintChildren}_syncDescribedByIds(){if(this._control){let n=[];if(this._control.userAriaDescribedBy&&typeof this._control.userAriaDescribedBy=="string"&&n.push(...this._control.userAriaDescribedBy.split(" ")),this._getDisplayedMessages()==="hint"){let r=this._hintChildren?this._hintChildren.find(s=>s.align==="start"):null,o=this._hintChildren?this._hintChildren.find(s=>s.align==="end"):null;r?n.push(r.id):this._hintLabel&&n.push(this._hintLabelId),o&&n.push(o.id)}else this._errorChildren&&n.push(...this._errorChildren.map(r=>r.id));this._control.setDescribedByIds(n)}}_updateOutlineLabelOffset(){if(!this._hasOutline()||!this._floatingLabel)return;let n=this._floatingLabel.element;if(!(this._iconPrefixContainer||this._textPrefixContainer)){n.style.transform="";return}if(!this._isAttachedToDom()){this._needsOutlineLabelOffsetUpdate=!0;return}let r=this._iconPrefixContainer?.nativeElement,o=this._textPrefixContainer?.nativeElement,s=r?.getBoundingClientRect().width??0,a=o?.getBoundingClientRect().width??0,c=this._dir.value==="rtl"?"-1":"1",l=`${s+a}px`,u=`calc(${c} * (${l} + var(--mat-mdc-form-field-label-offset-x, 0px)))`;n.style.transform=`var( --mat-mdc-form-field-label-transform, - ${gpe} translateX(${u}) - )`}_isAttachedToDom(){let n=this._elementRef.nativeElement;if(n.getRootNode){let r=n.getRootNode();return r&&r!==n}return document.documentElement.contains(n)}};e.\u0275fac=function(r){return new(r||e)(M(Re),M(Fe),M(Le),M(li),M(gn),M(fpe,8),M(Zn,8),M(Ye))},e.\u0275cmp=le({type:e,selectors:[["mat-form-field"]],contentQueries:function(r,o,s){if(r&1&&(z2(s,o._labelChild,BC,5),wi(s,kO,5),wi(s,dpe,5),wi(s,upe,5),wi(s,lpe,5),wi(s,KG,5)),r&2){U2();let a;be(a=ye())&&(o._formFieldControl=a.first),be(a=ye())&&(o._prefixChildren=a),be(a=ye())&&(o._suffixChildren=a),be(a=ye())&&(o._errorChildren=a),be(a=ye())&&(o._hintChildren=a)}},viewQuery:function(r,o){if(r&1&&(Te(zhe,5),Te(Uhe,5),Te(Hhe,5),Te(JG,5),Te(nj,5),Te(tj,5)),r&2){let s;be(s=ye())&&(o._textField=s.first),be(s=ye())&&(o._iconPrefixContainer=s.first),be(s=ye())&&(o._textPrefixContainer=s.first),be(s=ye())&&(o._floatingLabel=s.first),be(s=ye())&&(o._notchedOutline=s.first),be(s=ye())&&(o._lineRipple=s.first)}},hostAttrs:[1,"mat-mdc-form-field"],hostVars:42,hostBindings:function(r,o){r&2&&se("mat-mdc-form-field-label-always-float",o._shouldAlwaysFloat())("mat-mdc-form-field-has-icon-prefix",o._hasIconPrefix)("mat-mdc-form-field-has-icon-suffix",o._hasIconSuffix)("mat-form-field-invalid",o._control.errorState)("mat-form-field-disabled",o._control.disabled)("mat-form-field-autofilled",o._control.autofilled)("mat-form-field-no-animations",o._animationMode==="NoopAnimations")("mat-form-field-appearance-fill",o.appearance=="fill")("mat-form-field-appearance-outline",o.appearance=="outline")("mat-form-field-hide-placeholder",o._hasFloatingLabel()&&!o._shouldLabelFloat())("mat-focused",o._control.focused)("mat-primary",o.color!=="accent"&&o.color!=="warn")("mat-accent",o.color==="accent")("mat-warn",o.color==="warn")("ng-untouched",o._shouldForward("untouched"))("ng-touched",o._shouldForward("touched"))("ng-pristine",o._shouldForward("pristine"))("ng-dirty",o._shouldForward("dirty"))("ng-valid",o._shouldForward("valid"))("ng-invalid",o._shouldForward("invalid"))("ng-pending",o._shouldForward("pending"))},inputs:{hideRequiredMarker:"hideRequiredMarker",color:"color",floatLabel:"floatLabel",appearance:"appearance",subscriptSizing:"subscriptSizing",hintLabel:"hintLabel"},exportAs:["matFormField"],standalone:!0,features:[Bt([{provide:Z_,useExisting:e},{provide:sj,useExisting:e}]),ce],ngContentSelectors:jhe,decls:18,vars:21,consts:[["labelTemplate",""],["textField",""],["iconPrefixContainer",""],["textPrefixContainer",""],[1,"mat-mdc-text-field-wrapper","mdc-text-field",3,"click"],[1,"mat-mdc-form-field-focus-overlay"],[1,"mat-mdc-form-field-flex"],["matFormFieldNotchedOutline","",3,"matFormFieldNotchedOutlineOpen"],[1,"mat-mdc-form-field-icon-prefix"],[1,"mat-mdc-form-field-text-prefix"],[1,"mat-mdc-form-field-infix"],[3,"ngTemplateOutlet"],[1,"mat-mdc-form-field-text-suffix"],[1,"mat-mdc-form-field-icon-suffix"],["matFormFieldLineRipple",""],[1,"mat-mdc-form-field-subscript-wrapper","mat-mdc-form-field-bottom-align"],[1,"mat-mdc-form-field-error-wrapper"],[1,"mat-mdc-form-field-hint-wrapper"],["matFormFieldFloatingLabel","",3,"floating","monitorResize","id"],["aria-hidden","true",1,"mat-mdc-form-field-required-marker","mdc-floating-label--required"],[3,"id"],[1,"mat-mdc-form-field-hint-spacer"]],template:function(r,o){if(r&1){let s=ie();Ln(Ghe),W(0,qhe,1,1,"ng-template",null,0,kt),v(2,"div",4,1),H("click",function(l){return V(s),z(o._control.onContainerClick(l))}),W(4,Yhe,1,0,"div",5),v(5,"div",6),W(6,Qhe,2,2,"div",7)(7,Khe,3,0,"div",8)(8,Jhe,3,0,"div",9),v(9,"div",10),W(10,tpe,1,1,null,11),$t(11),b(),W(12,npe,2,0,"div",12)(13,ipe,2,0,"div",13),b(),W(14,rpe,1,0,"div",14),b(),v(15,"div",15),W(16,ope,2,1,"div",16)(17,ape,5,2,"div",17),b()}if(r&2){let s;w(2),se("mdc-text-field--filled",!o._hasOutline())("mdc-text-field--outlined",o._hasOutline())("mdc-text-field--no-label",!o._hasFloatingLabel())("mdc-text-field--disabled",o._control.disabled)("mdc-text-field--invalid",o._control.errorState),w(2),ae(!o._hasOutline()&&!o._control.disabled?4:-1),w(2),ae(o._hasOutline()?6:-1),w(),ae(o._hasIconPrefix?7:-1),w(),ae(o._hasTextPrefix?8:-1),w(2),ae(!o._hasOutline()||o._forceDisplayInfixLabel()?10:-1),w(2),ae(o._hasTextSuffix?12:-1),w(),ae(o._hasIconSuffix?13:-1),w(),ae(o._hasOutline()?-1:14),w(),se("mat-mdc-form-field-subscript-dynamic-size",o.subscriptSizing==="dynamic"),w(),ae((s=o._getDisplayedMessages())==="error"?16:s==="hint"?17:-1)}},dependencies:[JG,nj,Us,tj,KG],styles:['.mdc-text-field{display:inline-flex;align-items:baseline;padding:0 16px;position:relative;box-sizing:border-box;overflow:hidden;will-change:opacity,transform,color;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.mdc-text-field__input{width:100%;min-width:0;border:none;border-radius:0;background:none;padding:0;-moz-appearance:none;-webkit-appearance:none;height:28px}.mdc-text-field__input::-webkit-calendar-picker-indicator{display:none}.mdc-text-field__input::-ms-clear{display:none}.mdc-text-field__input:focus{outline:none}.mdc-text-field__input:invalid{box-shadow:none}.mdc-text-field__input::placeholder{opacity:0}.mdc-text-field__input::-moz-placeholder{opacity:0}.mdc-text-field__input::-webkit-input-placeholder{opacity:0}.mdc-text-field__input:-ms-input-placeholder{opacity:0}.mdc-text-field--no-label .mdc-text-field__input::placeholder,.mdc-text-field--focused .mdc-text-field__input::placeholder{opacity:1}.mdc-text-field--no-label .mdc-text-field__input::-moz-placeholder,.mdc-text-field--focused .mdc-text-field__input::-moz-placeholder{opacity:1}.mdc-text-field--no-label .mdc-text-field__input::-webkit-input-placeholder,.mdc-text-field--focused .mdc-text-field__input::-webkit-input-placeholder{opacity:1}.mdc-text-field--no-label .mdc-text-field__input:-ms-input-placeholder,.mdc-text-field--focused .mdc-text-field__input:-ms-input-placeholder{opacity:1}.mdc-text-field--outlined .mdc-text-field__input,.mdc-text-field--filled.mdc-text-field--no-label .mdc-text-field__input{height:100%}.mdc-text-field--outlined .mdc-text-field__input{display:flex;border:none !important;background-color:rgba(0,0,0,0)}.mdc-text-field--disabled .mdc-text-field__input{pointer-events:auto}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input{color:var(--mdc-filled-text-field-input-text-color);caret-color:var(--mdc-filled-text-field-caret-color)}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input::placeholder{color:var(--mdc-filled-text-field-input-text-placeholder-color)}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input::-moz-placeholder{color:var(--mdc-filled-text-field-input-text-placeholder-color)}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input::-webkit-input-placeholder{color:var(--mdc-filled-text-field-input-text-placeholder-color)}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input:-ms-input-placeholder{color:var(--mdc-filled-text-field-input-text-placeholder-color)}.mdc-text-field--filled.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input{caret-color:var(--mdc-filled-text-field-error-caret-color)}.mdc-text-field--filled.mdc-text-field--disabled .mdc-text-field__input{color:var(--mdc-filled-text-field-disabled-input-text-color)}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input{color:var(--mdc-outlined-text-field-input-text-color);caret-color:var(--mdc-outlined-text-field-caret-color)}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input::placeholder{color:var(--mdc-outlined-text-field-input-text-placeholder-color)}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input::-moz-placeholder{color:var(--mdc-outlined-text-field-input-text-placeholder-color)}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input::-webkit-input-placeholder{color:var(--mdc-outlined-text-field-input-text-placeholder-color)}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input:-ms-input-placeholder{color:var(--mdc-outlined-text-field-input-text-placeholder-color)}.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input{caret-color:var(--mdc-outlined-text-field-error-caret-color)}.mdc-text-field--outlined.mdc-text-field--disabled .mdc-text-field__input{color:var(--mdc-outlined-text-field-disabled-input-text-color)}.mdc-text-field--disabled .cdk-high-contrast-active .mdc-text-field__input{background-color:Window}.mdc-text-field--filled{height:56px;border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-left-radius:var(--mdc-filled-text-field-container-shape);border-top-right-radius:var(--mdc-filled-text-field-container-shape)}.mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:var(--mdc-filled-text-field-container-color)}.mdc-text-field--filled.mdc-text-field--disabled{background-color:var(--mdc-filled-text-field-disabled-container-color)}.mdc-text-field--outlined{height:56px;overflow:visible;padding-left:16px;padding-right:16px}@supports(top: max(0%)){.mdc-text-field--outlined{padding-right:max(16px,var(--mdc-outlined-text-field-container-shape));padding-left:max(16px,var(--mdc-outlined-text-field-container-shape) + 4px)}[dir=rtl] .mdc-text-field--outlined{padding-right:max(16px,var(--mdc-outlined-text-field-container-shape) + 4px);padding-left:max(16px,var(--mdc-outlined-text-field-container-shape))}}.mdc-floating-label{position:absolute;left:0;transform-origin:left top;line-height:1.15rem;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:text;overflow:hidden;will-change:transform}[dir=rtl] .mdc-floating-label{right:0;left:auto;transform-origin:right top;text-align:right}.mdc-text-field .mdc-floating-label{top:50%;transform:translateY(-50%);pointer-events:none}.mdc-notched-outline .mdc-floating-label{display:inline-block;position:relative;max-width:100%}.mdc-text-field--outlined .mdc-floating-label{left:4px;right:auto}[dir=rtl] .mdc-text-field--outlined .mdc-floating-label{left:auto;right:4px}.mdc-text-field--filled .mdc-floating-label{left:16px;right:auto}[dir=rtl] .mdc-text-field--filled .mdc-floating-label{left:auto;right:16px}.mdc-text-field--disabled .mdc-floating-label{cursor:default}.cdk-high-contrast-active .mdc-text-field--disabled .mdc-floating-label{z-index:1}.mdc-text-field--filled.mdc-text-field--no-label .mdc-floating-label{display:none}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-floating-label{color:var(--mdc-filled-text-field-label-text-color)}.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-floating-label{color:var(--mdc-filled-text-field-focus-label-text-color)}.mdc-text-field--filled:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-floating-label{color:var(--mdc-filled-text-field-hover-label-text-color)}.mdc-text-field--filled.mdc-text-field--disabled .mdc-floating-label{color:var(--mdc-filled-text-field-disabled-label-text-color)}.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--invalid .mdc-floating-label{color:var(--mdc-filled-text-field-error-label-text-color)}.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--invalid.mdc-text-field--focused .mdc-floating-label{color:var(--mdc-filled-text-field-error-focus-label-text-color)}.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--invalid:not(.mdc-text-field--disabled):hover .mdc-floating-label{color:var(--mdc-filled-text-field-error-hover-label-text-color)}.mdc-text-field--filled .mdc-floating-label{font-family:var(--mdc-filled-text-field-label-text-font);font-size:var(--mdc-filled-text-field-label-text-size);font-weight:var(--mdc-filled-text-field-label-text-weight);letter-spacing:var(--mdc-filled-text-field-label-text-tracking)}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-floating-label{color:var(--mdc-outlined-text-field-label-text-color)}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-floating-label{color:var(--mdc-outlined-text-field-focus-label-text-color)}.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-floating-label{color:var(--mdc-outlined-text-field-hover-label-text-color)}.mdc-text-field--outlined.mdc-text-field--disabled .mdc-floating-label{color:var(--mdc-outlined-text-field-disabled-label-text-color)}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid .mdc-floating-label{color:var(--mdc-outlined-text-field-error-label-text-color)}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid.mdc-text-field--focused .mdc-floating-label{color:var(--mdc-outlined-text-field-error-focus-label-text-color)}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid:not(.mdc-text-field--disabled):hover .mdc-floating-label{color:var(--mdc-outlined-text-field-error-hover-label-text-color)}.mdc-text-field--outlined .mdc-floating-label{font-family:var(--mdc-outlined-text-field-label-text-font);font-size:var(--mdc-outlined-text-field-label-text-size);font-weight:var(--mdc-outlined-text-field-label-text-weight);letter-spacing:var(--mdc-outlined-text-field-label-text-tracking)}.mdc-floating-label--float-above{cursor:auto;transform:translateY(-106%) scale(0.75)}.mdc-text-field--filled .mdc-floating-label--float-above{transform:translateY(-106%) scale(0.75)}.mdc-text-field--outlined .mdc-floating-label--float-above{transform:translateY(-37.25px) scale(1);font-size:.75rem}.mdc-notched-outline .mdc-floating-label--float-above{text-overflow:clip}.mdc-notched-outline--upgraded .mdc-floating-label--float-above{max-width:133.3333333333%}.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{transform:translateY(-34.75px) scale(0.75)}.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:1rem}.mdc-floating-label--required:not(.mdc-floating-label--hide-required-marker)::after{margin-left:1px;margin-right:0;content:"*"}[dir=rtl] .mdc-floating-label--required:not(.mdc-floating-label--hide-required-marker)::after{margin-left:0;margin-right:1px}.mdc-notched-outline{display:flex;position:absolute;top:0;right:0;left:0;box-sizing:border-box;width:100%;max-width:100%;height:100%;text-align:left;pointer-events:none}[dir=rtl] .mdc-notched-outline{text-align:right}.mdc-text-field--outlined .mdc-notched-outline{z-index:1}.mat-mdc-notch-piece{box-sizing:border-box;height:100%;pointer-events:none;border-top:1px solid;border-bottom:1px solid}.mdc-text-field--focused .mat-mdc-notch-piece{border-width:2px}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mat-mdc-notch-piece{border-color:var(--mdc-outlined-text-field-outline-color);border-width:var(--mdc-outlined-text-field-outline-width)}.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mat-mdc-notch-piece{border-color:var(--mdc-outlined-text-field-hover-outline-color)}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mat-mdc-notch-piece{border-color:var(--mdc-outlined-text-field-focus-outline-color)}.mdc-text-field--outlined.mdc-text-field--disabled .mat-mdc-notch-piece{border-color:var(--mdc-outlined-text-field-disabled-outline-color)}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid .mat-mdc-notch-piece{border-color:var(--mdc-outlined-text-field-error-outline-color)}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid:not(.mdc-text-field--focused):hover .mdc-notched-outline .mat-mdc-notch-piece{border-color:var(--mdc-outlined-text-field-error-hover-outline-color)}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid.mdc-text-field--focused .mat-mdc-notch-piece{border-color:var(--mdc-outlined-text-field-error-focus-outline-color)}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline .mat-mdc-notch-piece{border-width:var(--mdc-outlined-text-field-focus-outline-width)}.mdc-notched-outline__leading{border-left:1px solid;border-right:none;border-top-right-radius:0;border-bottom-right-radius:0;width:12px;border-top-left-radius:var(--mdc-outlined-text-field-container-shape);border-bottom-left-radius:var(--mdc-outlined-text-field-container-shape)}@supports(top: max(0%)){.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{width:max(12px,var(--mdc-outlined-text-field-container-shape))}}[dir=rtl] .mdc-notched-outline__leading{border-left:none;border-right:1px solid;border-bottom-left-radius:0;border-top-left-radius:0;border-top-right-radius:var(--mdc-outlined-text-field-container-shape);border-bottom-right-radius:var(--mdc-outlined-text-field-container-shape)}.mdc-notched-outline__trailing{flex-grow:1;border-left:none;border-right:1px solid;border-top-left-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--mdc-outlined-text-field-container-shape);border-bottom-right-radius:var(--mdc-outlined-text-field-container-shape)}[dir=rtl] .mdc-notched-outline__trailing{border-left:1px solid;border-right:none;border-top-right-radius:0;border-bottom-right-radius:0;border-top-left-radius:var(--mdc-outlined-text-field-container-shape);border-bottom-left-radius:var(--mdc-outlined-text-field-container-shape)}.mdc-notched-outline__notch{flex:0 0 auto;width:auto;max-width:calc(100% - 24px)}@supports(top: max(0%)){.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__notch{max-width:calc(100% - max(12px,var(--mdc-outlined-text-field-container-shape))*2)}}.mdc-text-field--outlined .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-top:1px}.mdc-text-field--focused.mdc-text-field--outlined .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-top:2px}.mdc-notched-outline--notched .mdc-notched-outline__notch{padding-left:0;padding-right:8px;border-top:none}[dir=rtl] .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-left:8px;padding-right:0}.mdc-notched-outline--no-label .mdc-notched-outline__notch{display:none}.mdc-line-ripple::before,.mdc-line-ripple::after{position:absolute;bottom:0;left:0;width:100%;border-bottom-style:solid;content:""}.mdc-line-ripple::before{z-index:1;border-bottom-width:var(--mdc-filled-text-field-active-indicator-height)}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-line-ripple::before{border-bottom-color:var(--mdc-filled-text-field-active-indicator-color)}.mdc-text-field--filled:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-line-ripple::before{border-bottom-color:var(--mdc-filled-text-field-hover-active-indicator-color)}.mdc-text-field--filled.mdc-text-field--disabled .mdc-line-ripple::before{border-bottom-color:var(--mdc-filled-text-field-disabled-active-indicator-color)}.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--invalid .mdc-line-ripple::before{border-bottom-color:var(--mdc-filled-text-field-error-active-indicator-color)}.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--invalid:not(.mdc-text-field--focused):hover .mdc-line-ripple::before{border-bottom-color:var(--mdc-filled-text-field-error-hover-active-indicator-color)}.mdc-line-ripple::after{transform:scaleX(0);opacity:0;z-index:2}.mdc-text-field--filled .mdc-line-ripple::after{border-bottom-width:var(--mdc-filled-text-field-focus-active-indicator-height)}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-line-ripple::after{border-bottom-color:var(--mdc-filled-text-field-focus-active-indicator-color)}.mdc-text-field--filled.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-line-ripple::after{border-bottom-color:var(--mdc-filled-text-field-error-focus-active-indicator-color)}.mdc-line-ripple--active::after{transform:scaleX(1);opacity:1}.mdc-line-ripple--deactivating::after{opacity:0}.mdc-text-field--disabled{pointer-events:none}.mat-mdc-form-field-textarea-control{vertical-align:middle;resize:vertical;box-sizing:border-box;height:auto;margin:0;padding:0;border:none;overflow:auto}.mat-mdc-form-field-input-control.mat-mdc-form-field-input-control{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font:inherit;letter-spacing:inherit;text-decoration:inherit;text-transform:inherit;border:none}.mat-mdc-form-field .mat-mdc-floating-label.mdc-floating-label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;line-height:normal;pointer-events:all;will-change:auto}.mat-mdc-form-field:not(.mat-form-field-disabled) .mat-mdc-floating-label.mdc-floating-label{cursor:inherit}.mdc-text-field--no-label:not(.mdc-text-field--textarea) .mat-mdc-form-field-input-control.mdc-text-field__input,.mat-mdc-text-field-wrapper .mat-mdc-form-field-input-control{height:auto}.mat-mdc-text-field-wrapper .mat-mdc-form-field-input-control.mdc-text-field__input[type=color]{height:23px}.mat-mdc-text-field-wrapper{height:auto;flex:auto;will-change:auto}.mat-mdc-form-field-has-icon-prefix .mat-mdc-text-field-wrapper{padding-left:0;--mat-mdc-form-field-label-offset-x: -16px}.mat-mdc-form-field-has-icon-suffix .mat-mdc-text-field-wrapper{padding-right:0}[dir=rtl] .mat-mdc-text-field-wrapper{padding-left:16px;padding-right:16px}[dir=rtl] .mat-mdc-form-field-has-icon-suffix .mat-mdc-text-field-wrapper{padding-left:0}[dir=rtl] .mat-mdc-form-field-has-icon-prefix .mat-mdc-text-field-wrapper{padding-right:0}.mat-form-field-disabled .mdc-text-field__input::placeholder{color:var(--mat-form-field-disabled-input-text-placeholder-color)}.mat-form-field-disabled .mdc-text-field__input::-moz-placeholder{color:var(--mat-form-field-disabled-input-text-placeholder-color)}.mat-form-field-disabled .mdc-text-field__input::-webkit-input-placeholder{color:var(--mat-form-field-disabled-input-text-placeholder-color)}.mat-form-field-disabled .mdc-text-field__input:-ms-input-placeholder{color:var(--mat-form-field-disabled-input-text-placeholder-color)}.mat-mdc-form-field-label-always-float .mdc-text-field__input::placeholder{transition-delay:40ms;transition-duration:110ms;opacity:1}.mat-mdc-text-field-wrapper .mat-mdc-form-field-infix .mat-mdc-floating-label{left:auto;right:auto}.mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-text-field__input{display:inline-block}.mat-mdc-form-field .mat-mdc-text-field-wrapper.mdc-text-field .mdc-notched-outline__notch{padding-top:0}.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field .mdc-notched-outline__notch{border-left:1px solid rgba(0,0,0,0)}[dir=rtl] .mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field .mdc-notched-outline__notch{border-left:none;border-right:1px solid rgba(0,0,0,0)}.mat-mdc-form-field-infix{min-height:var(--mat-form-field-container-height);padding-top:var(--mat-form-field-filled-with-label-container-padding-top);padding-bottom:var(--mat-form-field-filled-with-label-container-padding-bottom)}.mdc-text-field--outlined .mat-mdc-form-field-infix,.mdc-text-field--no-label .mat-mdc-form-field-infix{padding-top:var(--mat-form-field-container-vertical-padding);padding-bottom:var(--mat-form-field-container-vertical-padding)}.mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label{top:calc(var(--mat-form-field-container-height)/2)}.mdc-text-field--filled .mat-mdc-floating-label{display:var(--mat-form-field-filled-label-display, block)}.mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{--mat-mdc-form-field-label-transform: translateY(calc(calc(6.75px + var(--mat-form-field-container-height) / 2) * -1)) scale(var(--mat-mdc-form-field-floating-label-scale, 0.75));transform:var(--mat-mdc-form-field-label-transform)}.mat-mdc-form-field-subscript-wrapper{box-sizing:border-box;width:100%;position:relative}.mat-mdc-form-field-hint-wrapper,.mat-mdc-form-field-error-wrapper{position:absolute;top:0;left:0;right:0;padding:0 16px}.mat-mdc-form-field-subscript-dynamic-size .mat-mdc-form-field-hint-wrapper,.mat-mdc-form-field-subscript-dynamic-size .mat-mdc-form-field-error-wrapper{position:static}.mat-mdc-form-field-bottom-align::before{content:"";display:inline-block;height:16px}.mat-mdc-form-field-bottom-align.mat-mdc-form-field-subscript-dynamic-size::before{content:unset}.mat-mdc-form-field-hint-end{order:1}.mat-mdc-form-field-hint-wrapper{display:flex}.mat-mdc-form-field-hint-spacer{flex:1 0 1em}.mat-mdc-form-field-error{display:block;color:var(--mat-form-field-error-text-color)}.mat-mdc-form-field-subscript-wrapper,.mat-mdc-form-field-bottom-align::before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mat-form-field-subscript-text-font);line-height:var(--mat-form-field-subscript-text-line-height);font-size:var(--mat-form-field-subscript-text-size);letter-spacing:var(--mat-form-field-subscript-text-tracking);font-weight:var(--mat-form-field-subscript-text-weight)}.mat-mdc-form-field-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;opacity:0;pointer-events:none;background-color:var(--mat-form-field-state-layer-color)}.mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-focus-overlay{opacity:var(--mat-form-field-hover-state-layer-opacity)}.mat-mdc-form-field.mat-focused .mat-mdc-form-field-focus-overlay{opacity:var(--mat-form-field-focus-state-layer-opacity)}select.mat-mdc-form-field-input-control{-moz-appearance:none;-webkit-appearance:none;background-color:rgba(0,0,0,0);display:inline-flex;box-sizing:border-box}select.mat-mdc-form-field-input-control:not(:disabled){cursor:pointer}select.mat-mdc-form-field-input-control:not(.mat-mdc-native-select-inline) option{color:var(--mat-form-field-select-option-text-color)}select.mat-mdc-form-field-input-control:not(.mat-mdc-native-select-inline) option:disabled{color:var(--mat-form-field-select-disabled-option-text-color)}.mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-infix::after{content:"";width:0;height:0;border-left:5px solid rgba(0,0,0,0);border-right:5px solid rgba(0,0,0,0);border-top:5px solid;position:absolute;right:0;top:50%;margin-top:-2.5px;pointer-events:none;color:var(--mat-form-field-enabled-select-arrow-color)}[dir=rtl] .mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-infix::after{right:auto;left:0}.mat-mdc-form-field-type-mat-native-select.mat-focused .mat-mdc-form-field-infix::after{color:var(--mat-form-field-focus-select-arrow-color)}.mat-mdc-form-field-type-mat-native-select.mat-form-field-disabled .mat-mdc-form-field-infix::after{color:var(--mat-form-field-disabled-select-arrow-color)}.mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-input-control{padding-right:15px}[dir=rtl] .mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-input-control{padding-right:0;padding-left:15px}.cdk-high-contrast-active .mat-form-field-appearance-fill .mat-mdc-text-field-wrapper{outline:solid 1px}.cdk-high-contrast-active .mat-form-field-appearance-fill.mat-form-field-disabled .mat-mdc-text-field-wrapper{outline-color:GrayText}.cdk-high-contrast-active .mat-form-field-appearance-fill.mat-focused .mat-mdc-text-field-wrapper{outline:dashed 3px}.cdk-high-contrast-active .mat-mdc-form-field.mat-focused .mdc-notched-outline{border:dashed 3px}.mat-mdc-form-field-input-control[type=date],.mat-mdc-form-field-input-control[type=datetime],.mat-mdc-form-field-input-control[type=datetime-local],.mat-mdc-form-field-input-control[type=month],.mat-mdc-form-field-input-control[type=week],.mat-mdc-form-field-input-control[type=time]{line-height:1}.mat-mdc-form-field-input-control::-webkit-datetime-edit{line-height:1;padding:0;margin-bottom:-2px}.mat-mdc-form-field{--mat-mdc-form-field-floating-label-scale: 0.75;display:inline-flex;flex-direction:column;min-width:0;text-align:left;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mat-form-field-container-text-font);line-height:var(--mat-form-field-container-text-line-height);font-size:var(--mat-form-field-container-text-size);letter-spacing:var(--mat-form-field-container-text-tracking);font-weight:var(--mat-form-field-container-text-weight)}[dir=rtl] .mat-mdc-form-field{text-align:right}.mat-mdc-form-field .mdc-text-field--outlined .mdc-floating-label--float-above{font-size:calc(var(--mat-form-field-outlined-label-text-populated-size)*var(--mat-mdc-form-field-floating-label-scale))}.mat-mdc-form-field .mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:var(--mat-form-field-outlined-label-text-populated-size)}.mat-mdc-form-field-flex{display:inline-flex;align-items:baseline;box-sizing:border-box;width:100%}.mat-mdc-text-field-wrapper{width:100%;z-index:0}.mat-mdc-form-field-icon-prefix,.mat-mdc-form-field-icon-suffix{align-self:center;line-height:0;pointer-events:auto;position:relative;z-index:1}.mat-mdc-form-field-icon-prefix>.mat-icon,.mat-mdc-form-field-icon-suffix>.mat-icon{padding:0 12px;box-sizing:content-box}.mat-mdc-form-field-icon-prefix{color:var(--mat-form-field-leading-icon-color)}.mat-form-field-disabled .mat-mdc-form-field-icon-prefix{color:var(--mat-form-field-disabled-leading-icon-color)}.mat-mdc-form-field-icon-suffix{color:var(--mat-form-field-trailing-icon-color)}.mat-form-field-disabled .mat-mdc-form-field-icon-suffix{color:var(--mat-form-field-disabled-trailing-icon-color)}.mat-form-field-invalid .mat-mdc-form-field-icon-suffix{color:var(--mat-form-field-error-trailing-icon-color)}.mat-form-field-invalid:not(.mat-focused):not(.mat-form-field-disabled) .mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-icon-suffix{color:var(--mat-form-field-error-hover-trailing-icon-color)}.mat-form-field-invalid.mat-focused .mat-mdc-text-field-wrapper .mat-mdc-form-field-icon-suffix{color:var(--mat-form-field-error-focus-trailing-icon-color)}.mat-mdc-form-field-icon-prefix,[dir=rtl] .mat-mdc-form-field-icon-suffix{padding:0 4px 0 0}.mat-mdc-form-field-icon-suffix,[dir=rtl] .mat-mdc-form-field-icon-prefix{padding:0 0 0 4px}.mat-mdc-form-field-subscript-wrapper .mat-icon,.mat-mdc-form-field label .mat-icon{width:1em;height:1em;font-size:inherit}.mat-mdc-form-field-infix{flex:auto;min-width:0;width:180px;position:relative;box-sizing:border-box}.mat-mdc-form-field .mdc-notched-outline__notch{margin-left:-1px;-webkit-clip-path:inset(-9em -999em -9em 1px);clip-path:inset(-9em -999em -9em 1px)}[dir=rtl] .mat-mdc-form-field .mdc-notched-outline__notch{margin-left:0;margin-right:-1px;-webkit-clip-path:inset(-9em 1px -9em -999em);clip-path:inset(-9em 1px -9em -999em)}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-floating-label{transition:transform 150ms cubic-bezier(0.4, 0, 0.2, 1),color 150ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__input{transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__input::placeholder{transition:opacity 67ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__input::-moz-placeholder{transition:opacity 67ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__input::-webkit-input-placeholder{transition:opacity 67ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__input:-ms-input-placeholder{transition:opacity 67ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-mdc-form-field:not(.mat-form-field-no-animations).mdc-text-field--no-label .mdc-text-field__input::placeholder,.mat-mdc-form-field:not(.mat-form-field-no-animations).mdc-text-field--focused .mdc-text-field__input::placeholder{transition-delay:40ms;transition-duration:110ms}.mat-mdc-form-field:not(.mat-form-field-no-animations).mdc-text-field--no-label .mdc-text-field__input::-moz-placeholder,.mat-mdc-form-field:not(.mat-form-field-no-animations).mdc-text-field--focused .mdc-text-field__input::-moz-placeholder{transition-delay:40ms;transition-duration:110ms}.mat-mdc-form-field:not(.mat-form-field-no-animations).mdc-text-field--no-label .mdc-text-field__input::-webkit-input-placeholder,.mat-mdc-form-field:not(.mat-form-field-no-animations).mdc-text-field--focused .mdc-text-field__input::-webkit-input-placeholder{transition-delay:40ms;transition-duration:110ms}.mat-mdc-form-field:not(.mat-form-field-no-animations).mdc-text-field--no-label .mdc-text-field__input:-ms-input-placeholder,.mat-mdc-form-field:not(.mat-form-field-no-animations).mdc-text-field--focused .mdc-text-field__input:-ms-input-placeholder{transition-delay:40ms;transition-duration:110ms}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field--filled:not(.mdc-ripple-upgraded):focus .mdc-text-field__ripple::before{transition-duration:75ms}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-line-ripple::after{transition:transform 180ms cubic-bezier(0.4, 0, 0.2, 1),opacity 180ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-notched-outline .mdc-floating-label{max-width:calc(100% + 1px)}.mdc-notched-outline--upgraded .mdc-floating-label--float-above{max-width:calc(133.3333333333% + 1px)}'],encapsulation:2,data:{animation:[ppe.transitionMessages]},changeDetection:0});let i=e;return i})(),pa=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=ot({type:e}),e.\u0275inj=rt({imports:[qt,Ae,gy,qt]});let i=e;return i})();var vpe=["trigger"],bpe=["panel"],ype=[[["mat-select-trigger"]],"*"],xpe=["mat-select-trigger","*"];function wpe(i,e){if(i&1&&(v(0,"span",4),S(1),b()),i&2){let t=I();w(),nt(t.placeholder)}}function Cpe(i,e){i&1&&$t(0)}function Spe(i,e){if(i&1&&(v(0,"span",11),S(1),b()),i&2){let t=I(2);w(),nt(t.triggerValue)}}function Mpe(i,e){if(i&1&&(v(0,"span",5),W(1,Cpe,1,0)(2,Spe,2,1,"span",11),b()),i&2){let t=I();w(),ae(t.customTrigger?1:2)}}function Epe(i,e){if(i&1){let t=ie();v(0,"div",12,1),H("@transformPanel.done",function(r){V(t);let o=I();return z(o._panelDoneAnimatingStream.next(r.toState))})("keydown",function(r){V(t);let o=I();return z(o._handleKeydown(r))}),$t(2,1),b()}if(i&2){let t=I();B2("mat-mdc-select-panel mdc-menu-surface mdc-menu-surface--open ",t._getPanelTheme(),""),N("ngClass",t.panelClass)("@transformPanel","showing"),Ze("id",t.id+"-panel")("aria-multiselectable",t.multiple)("aria-label",t.ariaLabel||null)("aria-labelledby",t._getPanelAriaLabelledby())}}var Ipe={transformPanelWrap:ai("transformPanelWrap",[On("* => void",mF("@transformPanel",[fF()],{optional:!0}))]),transformPanel:ai("transformPanel",[mi("void",Qt({opacity:0,transform:"scale(1, 0.8)"})),On("void => showing",Pn("120ms cubic-bezier(0, 0, 0.2, 1)",Qt({opacity:1,transform:"scale(1, 1)"}))),On("* => void",Pn("100ms linear",Qt({opacity:0})))])};var lj=0,cj=new ge("mat-select-scroll-strategy",{providedIn:"root",factory:()=>{let i=te(Gt);return()=>i.scrollStrategies.reposition()}});function Tpe(i){return()=>i.scrollStrategies.reposition()}var Dpe=new ge("MAT_SELECT_CONFIG"),Ppe={provide:cj,deps:[Gt],useFactory:Tpe},Ope=new ge("MatSelectTrigger"),LO=class{constructor(e,t){this.source=e,this.value=t}},VC=(()=>{let e=class e{_scrollOptionIntoView(n){let r=this.options.toArray()[n];if(r){let o=this.panel.nativeElement,s=Py(n,this.options,this.optionGroups),a=r._getHostElement();n===0&&s===1?o.scrollTop=0:o.scrollTop=Oy(a.offsetTop,a.offsetHeight,o.scrollTop,o.offsetHeight)}}_positioningSettled(){this._scrollOptionIntoView(this._keyManager.activeItemIndex||0)}_getChangeEvent(n){return new LO(this,n)}get focused(){return this._focused||this._panelOpen}get hideSingleSelectionIndicator(){return this._hideSingleSelectionIndicator}set hideSingleSelectionIndicator(n){this._hideSingleSelectionIndicator=n,this._syncParentProperties()}get placeholder(){return this._placeholder}set placeholder(n){this._placeholder=n,this.stateChanges.next()}get required(){return this._required??this.ngControl?.control?.hasValidator(ny.required)??!1}set required(n){this._required=n,this.stateChanges.next()}get multiple(){return this._multiple}set multiple(n){this._selectionModel,this._multiple=n}get compareWith(){return this._compareWith}set compareWith(n){this._compareWith=n,this._selectionModel&&this._initializeSelection()}get value(){return this._value}set value(n){this._assignValue(n)&&this._onChange(n)}get errorStateMatcher(){return this._errorStateTracker.matcher}set errorStateMatcher(n){this._errorStateTracker.matcher=n}get id(){return this._id}set id(n){this._id=n||this._uid,this.stateChanges.next()}get errorState(){return this._errorStateTracker.errorState}set errorState(n){this._errorStateTracker.errorState=n}constructor(n,r,o,s,a,l,c,d,u,h,p,f,m,y){this._viewportRuler=n,this._changeDetectorRef=r,this._elementRef=a,this._dir=l,this._parentFormField=u,this.ngControl=h,this._liveAnnouncer=m,this._defaultOptions=y,this._positions=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom",panelClass:"mat-mdc-select-panel-above"},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom",panelClass:"mat-mdc-select-panel-above"}],this._panelOpen=!1,this._compareWith=(g,_)=>g===_,this._uid=`mat-select-${lj++}`,this._triggerAriaLabelledBy=null,this._destroy=new me,this.stateChanges=new me,this.disableAutomaticLabeling=!0,this._onChange=()=>{},this._onTouched=()=>{},this._valueId=`mat-select-value-${lj++}`,this._panelDoneAnimatingStream=new me,this._overlayPanelClass=this._defaultOptions?.overlayPanelClass||"",this._focused=!1,this.controlType="mat-select",this.disabled=!1,this.disableRipple=!1,this.tabIndex=0,this._hideSingleSelectionIndicator=this._defaultOptions?.hideSingleSelectionIndicator??!1,this._multiple=!1,this.disableOptionCentering=this._defaultOptions?.disableOptionCentering??!1,this.ariaLabel="",this.panelWidth=this._defaultOptions&&typeof this._defaultOptions.panelWidth<"u"?this._defaultOptions.panelWidth:"auto",this._initialized=new me,this.optionSelectionChanges=Io(()=>{let g=this.options;return g?g.changes.pipe(fi(g),Xn(()=>Yn(...g.map(_=>_.onSelectionChange)))):this._initialized.pipe(Xn(()=>this.optionSelectionChanges))}),this.openedChange=new Ie,this._openedStream=this.openedChange.pipe(jt(g=>g),Je(()=>{})),this._closedStream=this.openedChange.pipe(jt(g=>!g),Je(()=>{})),this.selectionChange=new Ie,this.valueChange=new Ie,this._trackedModal=null,this._skipPredicate=g=>this.panelOpen?!1:g.disabled,this.ngControl&&(this.ngControl.valueAccessor=this),y?.typeaheadDebounceInterval!=null&&(this.typeaheadDebounceInterval=y.typeaheadDebounceInterval),this._errorStateTracker=new Dy(s,h,d,c,this.stateChanges),this._scrollStrategyFactory=f,this._scrollStrategy=this._scrollStrategyFactory(),this.tabIndex=parseInt(p)||0,this.id=this.id}ngOnInit(){this._selectionModel=new ef(this.multiple),this.stateChanges.next(),this._panelDoneAnimatingStream.pipe(vl(),Xe(this._destroy)).subscribe(()=>this._panelDoneAnimating(this.panelOpen)),this._viewportRuler.change().pipe(Xe(this._destroy)).subscribe(()=>{this.panelOpen&&(this._overlayWidth=this._getOverlayWidth(this._preferredOverlayOrigin),this._changeDetectorRef.detectChanges())})}ngAfterContentInit(){this._initialized.next(),this._initialized.complete(),this._initKeyManager(),this._selectionModel.changed.pipe(Xe(this._destroy)).subscribe(n=>{n.added.forEach(r=>r.select()),n.removed.forEach(r=>r.deselect())}),this.options.changes.pipe(fi(null),Xe(this._destroy)).subscribe(()=>{this._resetOptions(),this._initializeSelection()})}ngDoCheck(){let n=this._getTriggerAriaLabelledby(),r=this.ngControl;if(n!==this._triggerAriaLabelledBy){let o=this._elementRef.nativeElement;this._triggerAriaLabelledBy=n,n?o.setAttribute("aria-labelledby",n):o.removeAttribute("aria-labelledby")}r&&(this._previousControl!==r.control&&(this._previousControl!==void 0&&r.disabled!==null&&r.disabled!==this.disabled&&(this.disabled=r.disabled),this._previousControl=r.control),this.updateErrorState())}ngOnChanges(n){(n.disabled||n.userAriaDescribedBy)&&this.stateChanges.next(),n.typeaheadDebounceInterval&&this._keyManager&&this._keyManager.withTypeAhead(this.typeaheadDebounceInterval)}ngOnDestroy(){this._keyManager?.destroy(),this._destroy.next(),this._destroy.complete(),this.stateChanges.complete(),this._clearFromModal()}toggle(){this.panelOpen?this.close():this.open()}open(){this._canOpen()&&(this._parentFormField&&(this._preferredOverlayOrigin=this._parentFormField.getConnectedOverlayOrigin()),this._overlayWidth=this._getOverlayWidth(this._preferredOverlayOrigin),this._applyModalPanelOwnership(),this._panelOpen=!0,this._keyManager.withHorizontalOrientation(null),this._highlightCorrectOption(),this._changeDetectorRef.markForCheck(),this.stateChanges.next())}_applyModalPanelOwnership(){let n=this._elementRef.nativeElement.closest('body > .cdk-overlay-container [aria-modal="true"]');if(!n)return;let r=`${this.id}-panel`;this._trackedModal&&Wl(this._trackedModal,"aria-owns",r),Ah(n,"aria-owns",r),this._trackedModal=n}_clearFromModal(){if(!this._trackedModal)return;let n=`${this.id}-panel`;Wl(this._trackedModal,"aria-owns",n),this._trackedModal=null}close(){this._panelOpen&&(this._panelOpen=!1,this._keyManager.withHorizontalOrientation(this._isRtl()?"rtl":"ltr"),this._changeDetectorRef.markForCheck(),this._onTouched(),this.stateChanges.next())}writeValue(n){this._assignValue(n)}registerOnChange(n){this._onChange=n}registerOnTouched(n){this._onTouched=n}setDisabledState(n){this.disabled=n,this._changeDetectorRef.markForCheck(),this.stateChanges.next()}get panelOpen(){return this._panelOpen}get selected(){return this.multiple?this._selectionModel?.selected||[]:this._selectionModel?.selected[0]}get triggerValue(){if(this.empty)return"";if(this._multiple){let n=this._selectionModel.selected.map(r=>r.viewValue);return this._isRtl()&&n.reverse(),n.join(", ")}return this._selectionModel.selected[0].viewValue}updateErrorState(){this._errorStateTracker.updateErrorState()}_isRtl(){return this._dir?this._dir.value==="rtl":!1}_handleKeydown(n){this.disabled||(this.panelOpen?this._handleOpenKeydown(n):this._handleClosedKeydown(n))}_handleClosedKeydown(n){let r=n.keyCode,o=r===40||r===38||r===37||r===39,s=r===13||r===32,a=this._keyManager;if(!a.isTyping()&&s&&!gi(n)||(this.multiple||n.altKey)&&o)n.preventDefault(),this.open();else if(!this.multiple){let l=this.selected;a.onKeydown(n);let c=this.selected;c&&l!==c&&this._liveAnnouncer.announce(c.viewValue,1e4)}}_handleOpenKeydown(n){let r=this._keyManager,o=n.keyCode,s=o===40||o===38,a=r.isTyping();if(s&&n.altKey)n.preventDefault(),this.close();else if(!a&&(o===13||o===32)&&r.activeItem&&!gi(n))n.preventDefault(),r.activeItem._selectViaInteraction();else if(!a&&this._multiple&&o===65&&n.ctrlKey){n.preventDefault();let l=this.options.some(c=>!c.disabled&&!c.selected);this.options.forEach(c=>{c.disabled||(l?c.select():c.deselect())})}else{let l=r.activeItemIndex;r.onKeydown(n),this._multiple&&s&&n.shiftKey&&r.activeItem&&r.activeItemIndex!==l&&r.activeItem._selectViaInteraction()}}_onFocus(){this.disabled||(this._focused=!0,this.stateChanges.next())}_onBlur(){this._focused=!1,this._keyManager?.cancelTypeahead(),!this.disabled&&!this.panelOpen&&(this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next())}_onAttached(){this._overlayDir.positionChange.pipe(_n(1)).subscribe(()=>{this._changeDetectorRef.detectChanges(),this._positioningSettled()})}_getPanelTheme(){return this._parentFormField?`mat-${this._parentFormField.color}`:""}get empty(){return!this._selectionModel||this._selectionModel.isEmpty()}_initializeSelection(){Promise.resolve().then(()=>{this.ngControl&&(this._value=this.ngControl.value),this._setSelectionByValue(this._value),this.stateChanges.next()})}_setSelectionByValue(n){if(this.options.forEach(r=>r.setInactiveStyles()),this._selectionModel.clear(),this.multiple&&n)Array.isArray(n),n.forEach(r=>this._selectOptionByValue(r)),this._sortValues();else{let r=this._selectOptionByValue(n);r?this._keyManager.updateActiveItem(r):this.panelOpen||this._keyManager.updateActiveItem(-1)}this._changeDetectorRef.markForCheck()}_selectOptionByValue(n){let r=this.options.find(o=>{if(this._selectionModel.isSelected(o))return!1;try{return o.value!=null&&this._compareWith(o.value,n)}catch{return!1}});return r&&this._selectionModel.select(r),r}_assignValue(n){return n!==this._value||this._multiple&&Array.isArray(n)?(this.options&&this._setSelectionByValue(n),this._value=n,!0):!1}_getOverlayWidth(n){return this.panelWidth==="auto"?(n instanceof G_?n.elementRef:n||this._elementRef).nativeElement.getBoundingClientRect().width:this.panelWidth===null?"":this.panelWidth}_syncParentProperties(){if(this.options)for(let n of this.options)n._changeDetectorRef.markForCheck()}_initKeyManager(){this._keyManager=new Ph(this.options).withTypeAhead(this.typeaheadDebounceInterval).withVerticalOrientation().withHorizontalOrientation(this._isRtl()?"rtl":"ltr").withHomeAndEnd().withPageUpDown().withAllowedModifierKeys(["shiftKey"]).skipPredicate(this._skipPredicate),this._keyManager.tabOut.subscribe(()=>{this.panelOpen&&(!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction(),this.focus(),this.close())}),this._keyManager.change.subscribe(()=>{this._panelOpen&&this.panel?this._scrollOptionIntoView(this._keyManager.activeItemIndex||0):!this._panelOpen&&!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction()})}_resetOptions(){let n=Yn(this.options.changes,this._destroy);this.optionSelectionChanges.pipe(Xe(n)).subscribe(r=>{this._onSelect(r.source,r.isUserInput),r.isUserInput&&!this.multiple&&this._panelOpen&&(this.close(),this.focus())}),Yn(...this.options.map(r=>r._stateChanges)).pipe(Xe(n)).subscribe(()=>{this._changeDetectorRef.detectChanges(),this.stateChanges.next()})}_onSelect(n,r){let o=this._selectionModel.isSelected(n);n.value==null&&!this._multiple?(n.deselect(),this._selectionModel.clear(),this.value!=null&&this._propagateChanges(n.value)):(o!==n.selected&&(n.selected?this._selectionModel.select(n):this._selectionModel.deselect(n)),r&&this._keyManager.setActiveItem(n),this.multiple&&(this._sortValues(),r&&this.focus())),o!==this._selectionModel.isSelected(n)&&this._propagateChanges(),this.stateChanges.next()}_sortValues(){if(this.multiple){let n=this.options.toArray();this._selectionModel.sort((r,o)=>this.sortComparator?this.sortComparator(r,o,n):n.indexOf(r)-n.indexOf(o)),this.stateChanges.next()}}_propagateChanges(n){let r;this.multiple?r=this.selected.map(o=>o.value):r=this.selected?this.selected.value:n,this._value=r,this.valueChange.emit(r),this._onChange(r),this.selectionChange.emit(this._getChangeEvent(r)),this._changeDetectorRef.markForCheck()}_highlightCorrectOption(){if(this._keyManager)if(this.empty){let n=-1;for(let r=0;r0}focus(n){this._elementRef.nativeElement.focus(n)}_getPanelAriaLabelledby(){if(this.ariaLabel)return null;let n=this._parentFormField?.getLabelId(),r=n?n+" ":"";return this.ariaLabelledby?r+this.ariaLabelledby:n}_getAriaActiveDescendant(){return this.panelOpen&&this._keyManager&&this._keyManager.activeItem?this._keyManager.activeItem.id:null}_getTriggerAriaLabelledby(){if(this.ariaLabel)return null;let n=this._parentFormField?.getLabelId(),r=(n?n+" ":"")+this._valueId;return this.ariaLabelledby&&(r+=" "+this.ariaLabelledby),r}_panelDoneAnimating(n){this.openedChange.emit(n)}setDescribedByIds(n){n.length?this._elementRef.nativeElement.setAttribute("aria-describedby",n.join(" ")):this._elementRef.nativeElement.removeAttribute("aria-describedby")}onContainerClick(){this.focus(),this.open()}get shouldLabelFloat(){return this.panelOpen||!this.empty||this.focused&&!!this.placeholder}};e.\u0275fac=function(r){return new(r||e)(M(aa),M(Fe),M(Le),M(U3),M(Re),M(li,8),M(lT,8),M(cT,8),M(Z_,8),M(fd,10),oo("tabindex"),M(cj),M(Ey),M(Dpe,8))},e.\u0275cmp=le({type:e,selectors:[["mat-select"]],contentQueries:function(r,o,s){if(r&1&&(wi(s,Ope,5),wi(s,ql,5),wi(s,Fh,5)),r&2){let a;be(a=ye())&&(o.customTrigger=a.first),be(a=ye())&&(o.options=a),be(a=ye())&&(o.optionGroups=a)}},viewQuery:function(r,o){if(r&1&&(Te(vpe,5),Te(bpe,5),Te(_O,5)),r&2){let s;be(s=ye())&&(o.trigger=s.first),be(s=ye())&&(o.panel=s.first),be(s=ye())&&(o._overlayDir=s.first)}},hostAttrs:["role","combobox","aria-autocomplete","none","aria-haspopup","listbox",1,"mat-mdc-select"],hostVars:19,hostBindings:function(r,o){r&1&&H("keydown",function(a){return o._handleKeydown(a)})("focus",function(){return o._onFocus()})("blur",function(){return o._onBlur()}),r&2&&(Ze("id",o.id)("tabindex",o.disabled?-1:o.tabIndex)("aria-controls",o.panelOpen?o.id+"-panel":null)("aria-expanded",o.panelOpen)("aria-label",o.ariaLabel||null)("aria-required",o.required.toString())("aria-disabled",o.disabled.toString())("aria-invalid",o.errorState)("aria-activedescendant",o._getAriaActiveDescendant()),se("mat-mdc-select-disabled",o.disabled)("mat-mdc-select-invalid",o.errorState)("mat-mdc-select-required",o.required)("mat-mdc-select-empty",o.empty)("mat-mdc-select-multiple",o.multiple))},inputs:{userAriaDescribedBy:[0,"aria-describedby","userAriaDescribedBy"],panelClass:"panelClass",disabled:[2,"disabled","disabled",at],disableRipple:[2,"disableRipple","disableRipple",at],tabIndex:[2,"tabIndex","tabIndex",n=>n==null?0:Ci(n)],hideSingleSelectionIndicator:[2,"hideSingleSelectionIndicator","hideSingleSelectionIndicator",at],placeholder:"placeholder",required:[2,"required","required",at],multiple:[2,"multiple","multiple",at],disableOptionCentering:[2,"disableOptionCentering","disableOptionCentering",at],compareWith:"compareWith",value:"value",ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],errorStateMatcher:"errorStateMatcher",typeaheadDebounceInterval:[2,"typeaheadDebounceInterval","typeaheadDebounceInterval",Ci],sortComparator:"sortComparator",id:"id",panelWidth:"panelWidth"},outputs:{openedChange:"openedChange",_openedStream:"opened",_closedStream:"closed",selectionChange:"selectionChange",valueChange:"valueChange"},exportAs:["matSelect"],standalone:!0,features:[Bt([{provide:kO,useExisting:e},{provide:Lh,useExisting:e}]),an,dn,ce],ngContentSelectors:xpe,decls:11,vars:8,consts:[["fallbackOverlayOrigin","cdkOverlayOrigin","trigger",""],["panel",""],["cdk-overlay-origin","",1,"mat-mdc-select-trigger",3,"click"],[1,"mat-mdc-select-value"],[1,"mat-mdc-select-placeholder","mat-mdc-select-min-line"],[1,"mat-mdc-select-value-text"],[1,"mat-mdc-select-arrow-wrapper"],[1,"mat-mdc-select-arrow"],["viewBox","0 0 24 24","width","24px","height","24px","focusable","false","aria-hidden","true"],["d","M7 10l5 5 5-5z"],["cdk-connected-overlay","","cdkConnectedOverlayLockPosition","","cdkConnectedOverlayHasBackdrop","","cdkConnectedOverlayBackdropClass","cdk-overlay-transparent-backdrop",3,"backdropClick","attach","detach","cdkConnectedOverlayPanelClass","cdkConnectedOverlayScrollStrategy","cdkConnectedOverlayOrigin","cdkConnectedOverlayOpen","cdkConnectedOverlayPositions","cdkConnectedOverlayWidth"],[1,"mat-mdc-select-min-line"],["role","listbox","tabindex","-1",3,"keydown","ngClass"]],template:function(r,o){if(r&1){let s=ie();Ln(ype),v(0,"div",2,0),H("click",function(){return V(s),z(o.open())}),v(3,"div",3),W(4,wpe,2,1,"span",4)(5,Mpe,3,1,"span",5),b(),v(6,"div",6)(7,"div",7),ro(),v(8,"svg",8),ee(9,"path",9),b()()()(),W(10,Epe,3,9,"ng-template",10),H("backdropClick",function(){return V(s),z(o.close())})("attach",function(){return V(s),z(o._onAttached())})("detach",function(){return V(s),z(o.close())})}if(r&2){let s=ve(1);w(3),Ze("id",o._valueId),w(),ae(o.empty?4:5),w(6),N("cdkConnectedOverlayPanelClass",o._overlayPanelClass)("cdkConnectedOverlayScrollStrategy",o._scrollStrategy)("cdkConnectedOverlayOrigin",o._preferredOverlayOrigin||s)("cdkConnectedOverlayOpen",o.panelOpen)("cdkConnectedOverlayPositions",o._positions)("cdkConnectedOverlayWidth",o._overlayWidth)}},dependencies:[G_,_O,ob],styles:['.mat-mdc-select{display:inline-block;width:100%;outline:none;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:var(--mat-select-enabled-trigger-text-color);font-family:var(--mat-select-trigger-text-font);line-height:var(--mat-select-trigger-text-line-height);font-size:var(--mat-select-trigger-text-size);font-weight:var(--mat-select-trigger-text-weight);letter-spacing:var(--mat-select-trigger-text-tracking)}div.mat-mdc-select-panel{box-shadow:var(--mat-select-container-elevation-shadow)}.mat-mdc-select-disabled{color:var(--mat-select-disabled-trigger-text-color)}.mat-mdc-select-trigger{display:inline-flex;align-items:center;cursor:pointer;position:relative;box-sizing:border-box;width:100%}.mat-mdc-select-disabled .mat-mdc-select-trigger{-webkit-user-select:none;user-select:none;cursor:default}.mat-mdc-select-value{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-mdc-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-mdc-select-arrow-wrapper{height:24px;flex-shrink:0;display:inline-flex;align-items:center}.mat-form-field-appearance-fill .mdc-text-field--no-label .mat-mdc-select-arrow-wrapper{transform:none}.mat-mdc-form-field .mat-mdc-select.mat-mdc-select-invalid .mat-mdc-select-arrow,.mat-form-field-invalid:not(.mat-form-field-disabled) .mat-mdc-form-field-infix::after{color:var(--mat-select-invalid-arrow-color)}.mat-mdc-select-arrow{width:10px;height:5px;position:relative;color:var(--mat-select-enabled-arrow-color)}.mat-mdc-form-field.mat-focused .mat-mdc-select-arrow{color:var(--mat-select-focused-arrow-color)}.mat-mdc-form-field .mat-mdc-select.mat-mdc-select-disabled .mat-mdc-select-arrow{color:var(--mat-select-disabled-arrow-color)}.mat-mdc-select-arrow svg{fill:currentColor;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.cdk-high-contrast-active .mat-mdc-select-arrow svg{fill:CanvasText}.mat-mdc-select-disabled .cdk-high-contrast-active .mat-mdc-select-arrow svg{fill:GrayText}div.mat-mdc-select-panel{width:100%;max-height:275px;outline:0;overflow:auto;padding:8px 0;border-radius:4px;box-sizing:border-box;position:static;background-color:var(--mat-select-panel-background-color)}.cdk-high-contrast-active div.mat-mdc-select-panel{outline:solid 1px}.cdk-overlay-pane:not(.mat-mdc-select-panel-above) div.mat-mdc-select-panel{border-top-left-radius:0;border-top-right-radius:0;transform-origin:top center}.mat-mdc-select-panel-above div.mat-mdc-select-panel{border-bottom-left-radius:0;border-bottom-right-radius:0;transform-origin:bottom center}div.mat-mdc-select-panel .mat-mdc-option{--mdc-list-list-item-container-color: var(--mat-select-panel-background-color)}.mat-mdc-select-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1);color:var(--mat-select-placeholder-text-color)}._mat-animation-noopable .mat-mdc-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-mdc-select-placeholder{color:rgba(0,0,0,0);-webkit-text-fill-color:rgba(0,0,0,0);transition:none;display:block}.mat-mdc-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-mdc-text-field-wrapper{cursor:pointer}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-fill .mat-mdc-floating-label{max-width:calc(100% - 18px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-fill .mdc-floating-label--float-above{max-width:calc(100%/0.75 - 24px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-outline .mdc-notched-outline__notch{max-width:calc(100% - 60px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-outline .mdc-text-field--label-floating .mdc-notched-outline__notch{max-width:calc(100% - 24px)}.mat-mdc-select-min-line:empty::before{content:" ";white-space:pre;width:1px;display:inline-block;visibility:hidden}.mat-form-field-appearance-fill .mat-mdc-select-arrow-wrapper{transform:var(--mat-select-arrow-transform)}'],encapsulation:2,data:{animation:[Ipe.transformPanel]},changeDetection:0});let i=e;return i})();var fa=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=ot({type:e}),e.\u0275inj=rt({providers:[Ppe],imports:[Ae,eo,Bh,qt,Zo,pa,Bh,qt]});let i=e;return i})();var sf=(()=>{class i{changeDetectorRef;pageSize;itemsCount;change=new Ie;curPageIndex=0;constructor(t){this.changeDetectorRef=t}reset(){this.curPageIndex=0,this.changeDetectorRef.markForCheck()}handleClickGoToPrevPage(){this.curPageIndex--,this.curPageIndex=Math.max(0,this.curPageIndex),this.change.emit(this.curPageIndex)}handleClickGoToNextPage(){this.curPageIndex++,this.curPageIndex=Math.min(Math.ceil(this.itemsCount/this.pageSize)-1,this.curPageIndex),this.change.emit(this.curPageIndex)}get disablePrevButton(){return this.curPageIndex===0}get disableNextButton(){return this.curPageIndex===Math.ceil(this.itemsCount/this.pageSize)-1}get curRangeText(){let t=Math.min(this.itemsCount,this.curPageIndex*this.pageSize+1),n=Math.min((this.curPageIndex+1)*this.pageSize,this.itemsCount);return t===n?`${t}`:`${t} - ${n}`}static \u0275fac=function(n){return new(n||i)(M(Fe))};static \u0275cmp=le({type:i,selectors:[["paginator"]],inputs:{pageSize:"pageSize",itemsCount:"itemsCount"},outputs:{change:"change"},standalone:!0,features:[ce],decls:9,vars:5,consts:[[1,"container"],[1,"icon-container","prev-page",3,"click"],[1,"range-text"],[1,"icon-container","next-page",3,"click"]],template:function(n,r){n&1&&(v(0,"div",0)(1,"div",1),H("click",function(){return r.handleClickGoToPrevPage()}),v(2,"mat-icon"),S(3,"chevron_left"),b()(),v(4,"div",2),S(5),b(),v(6,"div",3),H("click",function(){return r.handleClickGoToNextPage()}),v(7,"mat-icon"),S(8,"chevron_right"),b()()()),n&2&&(w(),se("disabled",r.disablePrevButton),w(4),Me(" ",r.curRangeText," "),w(),se("disabled",r.disableNextButton))},dependencies:[Ae,it,_t],styles:[`.container[_ngcontent-%COMP%]{display:flex;align-items:center;-webkit-user-select:none;user-select:none}.container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:99px;cursor:pointer}.container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]:hover{background-color:#ddd}.container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]:hover mat-icon[_ngcontent-%COMP%]{opacity:1}.container[_ngcontent-%COMP%] .icon-container.disabled[_ngcontent-%COMP%]{pointer-events:none;opacity:.3}.container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{opacity:.7;color:#333;font-size:20px;width:20px;height:20px}.container[_ngcontent-%COMP%] .range-text[_ngcontent-%COMP%]{color:#333;font-size:12px;display:flex;align-items:center;justify-content:center} + ${Epe} translateX(${u}) + )`}_isAttachedToDom(){let n=this._elementRef.nativeElement;if(n.getRootNode){let r=n.getRootNode();return r&&r!==n}return document.documentElement.contains(n)}};e.\u0275fac=function(r){return new(r||e)(M(Re),M(Ne),M(Fe),M(di),M(gn),M(Spe,8),M(jn,8),M(Xe))},e.\u0275cmp=ce({type:e,selectors:[["mat-form-field"]],contentQueries:function(r,o,s){if(r&1&&(G2(s,o._labelChild,VC,5),_i(s,LO,5),_i(s,ype,5),_i(s,xpe,5),_i(s,vpe,5),_i(s,rj,5)),r&2){j2();let a;be(a=ye())&&(o._formFieldControl=a.first),be(a=ye())&&(o._prefixChildren=a),be(a=ye())&&(o._suffixChildren=a),be(a=ye())&&(o._errorChildren=a),be(a=ye())&&(o._hintChildren=a)}},viewQuery:function(r,o){if(r&1&&(Ee(Zhe,5),Ee(Qhe,5),Ee(Khe,5),Ee(oj,5),Ee(cj,5),Ee(aj,5)),r&2){let s;be(s=ye())&&(o._textField=s.first),be(s=ye())&&(o._iconPrefixContainer=s.first),be(s=ye())&&(o._textPrefixContainer=s.first),be(s=ye())&&(o._floatingLabel=s.first),be(s=ye())&&(o._notchedOutline=s.first),be(s=ye())&&(o._lineRipple=s.first)}},hostAttrs:[1,"mat-mdc-form-field"],hostVars:42,hostBindings:function(r,o){r&2&&re("mat-mdc-form-field-label-always-float",o._shouldAlwaysFloat())("mat-mdc-form-field-has-icon-prefix",o._hasIconPrefix)("mat-mdc-form-field-has-icon-suffix",o._hasIconSuffix)("mat-form-field-invalid",o._control.errorState)("mat-form-field-disabled",o._control.disabled)("mat-form-field-autofilled",o._control.autofilled)("mat-form-field-no-animations",o._animationMode==="NoopAnimations")("mat-form-field-appearance-fill",o.appearance=="fill")("mat-form-field-appearance-outline",o.appearance=="outline")("mat-form-field-hide-placeholder",o._hasFloatingLabel()&&!o._shouldLabelFloat())("mat-focused",o._control.focused)("mat-primary",o.color!=="accent"&&o.color!=="warn")("mat-accent",o.color==="accent")("mat-warn",o.color==="warn")("ng-untouched",o._shouldForward("untouched"))("ng-touched",o._shouldForward("touched"))("ng-pristine",o._shouldForward("pristine"))("ng-dirty",o._shouldForward("dirty"))("ng-valid",o._shouldForward("valid"))("ng-invalid",o._shouldForward("invalid"))("ng-pending",o._shouldForward("pending"))},inputs:{hideRequiredMarker:"hideRequiredMarker",color:"color",floatLabel:"floatLabel",appearance:"appearance",subscriptSizing:"subscriptSizing",hintLabel:"hintLabel"},exportAs:["matFormField"],standalone:!0,features:[Ft([{provide:J_,useExisting:e},{provide:hj,useExisting:e}]),le],ngContentSelectors:epe,decls:18,vars:21,consts:[["labelTemplate",""],["textField",""],["iconPrefixContainer",""],["textPrefixContainer",""],[1,"mat-mdc-text-field-wrapper","mdc-text-field",3,"click"],[1,"mat-mdc-form-field-focus-overlay"],[1,"mat-mdc-form-field-flex"],["matFormFieldNotchedOutline","",3,"matFormFieldNotchedOutlineOpen"],[1,"mat-mdc-form-field-icon-prefix"],[1,"mat-mdc-form-field-text-prefix"],[1,"mat-mdc-form-field-infix"],[3,"ngTemplateOutlet"],[1,"mat-mdc-form-field-text-suffix"],[1,"mat-mdc-form-field-icon-suffix"],["matFormFieldLineRipple",""],[1,"mat-mdc-form-field-subscript-wrapper","mat-mdc-form-field-bottom-align"],[1,"mat-mdc-form-field-error-wrapper"],[1,"mat-mdc-form-field-hint-wrapper"],["matFormFieldFloatingLabel","",3,"floating","monitorResize","id"],["aria-hidden","true",1,"mat-mdc-form-field-required-marker","mdc-floating-label--required"],[3,"id"],[1,"mat-mdc-form-field-hint-spacer"]],template:function(r,o){if(r&1){let s=ne();In(Jhe),$(0,ipe,1,1,"ng-template",null,0,Tt),v(2,"div",4,1),H("click",function(c){return B(s),V(o._control.onContainerClick(c))}),$(4,rpe,1,0,"div",5),v(5,"div",6),$(6,ape,2,2,"div",7)(7,cpe,3,0,"div",8)(8,lpe,3,0,"div",9),v(9,"div",10),$(10,upe,1,1,null,11),Wt(11),b(),$(12,hpe,2,0,"div",12)(13,ppe,2,0,"div",13),b(),$(14,fpe,1,0,"div",14),b(),v(15,"div",15),$(16,mpe,2,1,"div",16)(17,_pe,5,2,"div",17),b()}if(r&2){let s;w(2),re("mdc-text-field--filled",!o._hasOutline())("mdc-text-field--outlined",o._hasOutline())("mdc-text-field--no-label",!o._hasFloatingLabel())("mdc-text-field--disabled",o._control.disabled)("mdc-text-field--invalid",o._control.errorState),w(2),oe(!o._hasOutline()&&!o._control.disabled?4:-1),w(2),oe(o._hasOutline()?6:-1),w(),oe(o._hasIconPrefix?7:-1),w(),oe(o._hasTextPrefix?8:-1),w(2),oe(!o._hasOutline()||o._forceDisplayInfixLabel()?10:-1),w(2),oe(o._hasTextSuffix?12:-1),w(),oe(o._hasIconSuffix?13:-1),w(),oe(o._hasOutline()?-1:14),w(),re("mat-mdc-form-field-subscript-dynamic-size",o.subscriptSizing==="dynamic"),w(),oe((s=o._getDisplayedMessages())==="error"?16:s==="hint"?17:-1)}},dependencies:[oj,cj,Gs,aj,rj],styles:['.mdc-text-field{display:inline-flex;align-items:baseline;padding:0 16px;position:relative;box-sizing:border-box;overflow:hidden;will-change:opacity,transform,color;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.mdc-text-field__input{width:100%;min-width:0;border:none;border-radius:0;background:none;padding:0;-moz-appearance:none;-webkit-appearance:none;height:28px}.mdc-text-field__input::-webkit-calendar-picker-indicator{display:none}.mdc-text-field__input::-ms-clear{display:none}.mdc-text-field__input:focus{outline:none}.mdc-text-field__input:invalid{box-shadow:none}.mdc-text-field__input::placeholder{opacity:0}.mdc-text-field__input::-moz-placeholder{opacity:0}.mdc-text-field__input::-webkit-input-placeholder{opacity:0}.mdc-text-field__input:-ms-input-placeholder{opacity:0}.mdc-text-field--no-label .mdc-text-field__input::placeholder,.mdc-text-field--focused .mdc-text-field__input::placeholder{opacity:1}.mdc-text-field--no-label .mdc-text-field__input::-moz-placeholder,.mdc-text-field--focused .mdc-text-field__input::-moz-placeholder{opacity:1}.mdc-text-field--no-label .mdc-text-field__input::-webkit-input-placeholder,.mdc-text-field--focused .mdc-text-field__input::-webkit-input-placeholder{opacity:1}.mdc-text-field--no-label .mdc-text-field__input:-ms-input-placeholder,.mdc-text-field--focused .mdc-text-field__input:-ms-input-placeholder{opacity:1}.mdc-text-field--outlined .mdc-text-field__input,.mdc-text-field--filled.mdc-text-field--no-label .mdc-text-field__input{height:100%}.mdc-text-field--outlined .mdc-text-field__input{display:flex;border:none !important;background-color:rgba(0,0,0,0)}.mdc-text-field--disabled .mdc-text-field__input{pointer-events:auto}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input{color:var(--mdc-filled-text-field-input-text-color);caret-color:var(--mdc-filled-text-field-caret-color)}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input::placeholder{color:var(--mdc-filled-text-field-input-text-placeholder-color)}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input::-moz-placeholder{color:var(--mdc-filled-text-field-input-text-placeholder-color)}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input::-webkit-input-placeholder{color:var(--mdc-filled-text-field-input-text-placeholder-color)}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input:-ms-input-placeholder{color:var(--mdc-filled-text-field-input-text-placeholder-color)}.mdc-text-field--filled.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input{caret-color:var(--mdc-filled-text-field-error-caret-color)}.mdc-text-field--filled.mdc-text-field--disabled .mdc-text-field__input{color:var(--mdc-filled-text-field-disabled-input-text-color)}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input{color:var(--mdc-outlined-text-field-input-text-color);caret-color:var(--mdc-outlined-text-field-caret-color)}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input::placeholder{color:var(--mdc-outlined-text-field-input-text-placeholder-color)}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input::-moz-placeholder{color:var(--mdc-outlined-text-field-input-text-placeholder-color)}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input::-webkit-input-placeholder{color:var(--mdc-outlined-text-field-input-text-placeholder-color)}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input:-ms-input-placeholder{color:var(--mdc-outlined-text-field-input-text-placeholder-color)}.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input{caret-color:var(--mdc-outlined-text-field-error-caret-color)}.mdc-text-field--outlined.mdc-text-field--disabled .mdc-text-field__input{color:var(--mdc-outlined-text-field-disabled-input-text-color)}.mdc-text-field--disabled .cdk-high-contrast-active .mdc-text-field__input{background-color:Window}.mdc-text-field--filled{height:56px;border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-left-radius:var(--mdc-filled-text-field-container-shape);border-top-right-radius:var(--mdc-filled-text-field-container-shape)}.mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:var(--mdc-filled-text-field-container-color)}.mdc-text-field--filled.mdc-text-field--disabled{background-color:var(--mdc-filled-text-field-disabled-container-color)}.mdc-text-field--outlined{height:56px;overflow:visible;padding-left:16px;padding-right:16px}@supports(top: max(0%)){.mdc-text-field--outlined{padding-right:max(16px,var(--mdc-outlined-text-field-container-shape));padding-left:max(16px,var(--mdc-outlined-text-field-container-shape) + 4px)}[dir=rtl] .mdc-text-field--outlined{padding-right:max(16px,var(--mdc-outlined-text-field-container-shape) + 4px);padding-left:max(16px,var(--mdc-outlined-text-field-container-shape))}}.mdc-floating-label{position:absolute;left:0;transform-origin:left top;line-height:1.15rem;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:text;overflow:hidden;will-change:transform}[dir=rtl] .mdc-floating-label{right:0;left:auto;transform-origin:right top;text-align:right}.mdc-text-field .mdc-floating-label{top:50%;transform:translateY(-50%);pointer-events:none}.mdc-notched-outline .mdc-floating-label{display:inline-block;position:relative;max-width:100%}.mdc-text-field--outlined .mdc-floating-label{left:4px;right:auto}[dir=rtl] .mdc-text-field--outlined .mdc-floating-label{left:auto;right:4px}.mdc-text-field--filled .mdc-floating-label{left:16px;right:auto}[dir=rtl] .mdc-text-field--filled .mdc-floating-label{left:auto;right:16px}.mdc-text-field--disabled .mdc-floating-label{cursor:default}.cdk-high-contrast-active .mdc-text-field--disabled .mdc-floating-label{z-index:1}.mdc-text-field--filled.mdc-text-field--no-label .mdc-floating-label{display:none}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-floating-label{color:var(--mdc-filled-text-field-label-text-color)}.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-floating-label{color:var(--mdc-filled-text-field-focus-label-text-color)}.mdc-text-field--filled:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-floating-label{color:var(--mdc-filled-text-field-hover-label-text-color)}.mdc-text-field--filled.mdc-text-field--disabled .mdc-floating-label{color:var(--mdc-filled-text-field-disabled-label-text-color)}.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--invalid .mdc-floating-label{color:var(--mdc-filled-text-field-error-label-text-color)}.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--invalid.mdc-text-field--focused .mdc-floating-label{color:var(--mdc-filled-text-field-error-focus-label-text-color)}.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--invalid:not(.mdc-text-field--disabled):hover .mdc-floating-label{color:var(--mdc-filled-text-field-error-hover-label-text-color)}.mdc-text-field--filled .mdc-floating-label{font-family:var(--mdc-filled-text-field-label-text-font);font-size:var(--mdc-filled-text-field-label-text-size);font-weight:var(--mdc-filled-text-field-label-text-weight);letter-spacing:var(--mdc-filled-text-field-label-text-tracking)}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-floating-label{color:var(--mdc-outlined-text-field-label-text-color)}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-floating-label{color:var(--mdc-outlined-text-field-focus-label-text-color)}.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-floating-label{color:var(--mdc-outlined-text-field-hover-label-text-color)}.mdc-text-field--outlined.mdc-text-field--disabled .mdc-floating-label{color:var(--mdc-outlined-text-field-disabled-label-text-color)}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid .mdc-floating-label{color:var(--mdc-outlined-text-field-error-label-text-color)}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid.mdc-text-field--focused .mdc-floating-label{color:var(--mdc-outlined-text-field-error-focus-label-text-color)}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid:not(.mdc-text-field--disabled):hover .mdc-floating-label{color:var(--mdc-outlined-text-field-error-hover-label-text-color)}.mdc-text-field--outlined .mdc-floating-label{font-family:var(--mdc-outlined-text-field-label-text-font);font-size:var(--mdc-outlined-text-field-label-text-size);font-weight:var(--mdc-outlined-text-field-label-text-weight);letter-spacing:var(--mdc-outlined-text-field-label-text-tracking)}.mdc-floating-label--float-above{cursor:auto;transform:translateY(-106%) scale(0.75)}.mdc-text-field--filled .mdc-floating-label--float-above{transform:translateY(-106%) scale(0.75)}.mdc-text-field--outlined .mdc-floating-label--float-above{transform:translateY(-37.25px) scale(1);font-size:.75rem}.mdc-notched-outline .mdc-floating-label--float-above{text-overflow:clip}.mdc-notched-outline--upgraded .mdc-floating-label--float-above{max-width:133.3333333333%}.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{transform:translateY(-34.75px) scale(0.75)}.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:1rem}.mdc-floating-label--required:not(.mdc-floating-label--hide-required-marker)::after{margin-left:1px;margin-right:0;content:"*"}[dir=rtl] .mdc-floating-label--required:not(.mdc-floating-label--hide-required-marker)::after{margin-left:0;margin-right:1px}.mdc-notched-outline{display:flex;position:absolute;top:0;right:0;left:0;box-sizing:border-box;width:100%;max-width:100%;height:100%;text-align:left;pointer-events:none}[dir=rtl] .mdc-notched-outline{text-align:right}.mdc-text-field--outlined .mdc-notched-outline{z-index:1}.mat-mdc-notch-piece{box-sizing:border-box;height:100%;pointer-events:none;border-top:1px solid;border-bottom:1px solid}.mdc-text-field--focused .mat-mdc-notch-piece{border-width:2px}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mat-mdc-notch-piece{border-color:var(--mdc-outlined-text-field-outline-color);border-width:var(--mdc-outlined-text-field-outline-width)}.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mat-mdc-notch-piece{border-color:var(--mdc-outlined-text-field-hover-outline-color)}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mat-mdc-notch-piece{border-color:var(--mdc-outlined-text-field-focus-outline-color)}.mdc-text-field--outlined.mdc-text-field--disabled .mat-mdc-notch-piece{border-color:var(--mdc-outlined-text-field-disabled-outline-color)}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid .mat-mdc-notch-piece{border-color:var(--mdc-outlined-text-field-error-outline-color)}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid:not(.mdc-text-field--focused):hover .mdc-notched-outline .mat-mdc-notch-piece{border-color:var(--mdc-outlined-text-field-error-hover-outline-color)}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid.mdc-text-field--focused .mat-mdc-notch-piece{border-color:var(--mdc-outlined-text-field-error-focus-outline-color)}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline .mat-mdc-notch-piece{border-width:var(--mdc-outlined-text-field-focus-outline-width)}.mdc-notched-outline__leading{border-left:1px solid;border-right:none;border-top-right-radius:0;border-bottom-right-radius:0;width:12px;border-top-left-radius:var(--mdc-outlined-text-field-container-shape);border-bottom-left-radius:var(--mdc-outlined-text-field-container-shape)}@supports(top: max(0%)){.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{width:max(12px,var(--mdc-outlined-text-field-container-shape))}}[dir=rtl] .mdc-notched-outline__leading{border-left:none;border-right:1px solid;border-bottom-left-radius:0;border-top-left-radius:0;border-top-right-radius:var(--mdc-outlined-text-field-container-shape);border-bottom-right-radius:var(--mdc-outlined-text-field-container-shape)}.mdc-notched-outline__trailing{flex-grow:1;border-left:none;border-right:1px solid;border-top-left-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--mdc-outlined-text-field-container-shape);border-bottom-right-radius:var(--mdc-outlined-text-field-container-shape)}[dir=rtl] .mdc-notched-outline__trailing{border-left:1px solid;border-right:none;border-top-right-radius:0;border-bottom-right-radius:0;border-top-left-radius:var(--mdc-outlined-text-field-container-shape);border-bottom-left-radius:var(--mdc-outlined-text-field-container-shape)}.mdc-notched-outline__notch{flex:0 0 auto;width:auto;max-width:calc(100% - 24px)}@supports(top: max(0%)){.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__notch{max-width:calc(100% - max(12px,var(--mdc-outlined-text-field-container-shape))*2)}}.mdc-text-field--outlined .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-top:1px}.mdc-text-field--focused.mdc-text-field--outlined .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-top:2px}.mdc-notched-outline--notched .mdc-notched-outline__notch{padding-left:0;padding-right:8px;border-top:none}[dir=rtl] .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-left:8px;padding-right:0}.mdc-notched-outline--no-label .mdc-notched-outline__notch{display:none}.mdc-line-ripple::before,.mdc-line-ripple::after{position:absolute;bottom:0;left:0;width:100%;border-bottom-style:solid;content:""}.mdc-line-ripple::before{z-index:1;border-bottom-width:var(--mdc-filled-text-field-active-indicator-height)}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-line-ripple::before{border-bottom-color:var(--mdc-filled-text-field-active-indicator-color)}.mdc-text-field--filled:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-line-ripple::before{border-bottom-color:var(--mdc-filled-text-field-hover-active-indicator-color)}.mdc-text-field--filled.mdc-text-field--disabled .mdc-line-ripple::before{border-bottom-color:var(--mdc-filled-text-field-disabled-active-indicator-color)}.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--invalid .mdc-line-ripple::before{border-bottom-color:var(--mdc-filled-text-field-error-active-indicator-color)}.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--invalid:not(.mdc-text-field--focused):hover .mdc-line-ripple::before{border-bottom-color:var(--mdc-filled-text-field-error-hover-active-indicator-color)}.mdc-line-ripple::after{transform:scaleX(0);opacity:0;z-index:2}.mdc-text-field--filled .mdc-line-ripple::after{border-bottom-width:var(--mdc-filled-text-field-focus-active-indicator-height)}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-line-ripple::after{border-bottom-color:var(--mdc-filled-text-field-focus-active-indicator-color)}.mdc-text-field--filled.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-line-ripple::after{border-bottom-color:var(--mdc-filled-text-field-error-focus-active-indicator-color)}.mdc-line-ripple--active::after{transform:scaleX(1);opacity:1}.mdc-line-ripple--deactivating::after{opacity:0}.mdc-text-field--disabled{pointer-events:none}.mat-mdc-form-field-textarea-control{vertical-align:middle;resize:vertical;box-sizing:border-box;height:auto;margin:0;padding:0;border:none;overflow:auto}.mat-mdc-form-field-input-control.mat-mdc-form-field-input-control{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font:inherit;letter-spacing:inherit;text-decoration:inherit;text-transform:inherit;border:none}.mat-mdc-form-field .mat-mdc-floating-label.mdc-floating-label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;line-height:normal;pointer-events:all;will-change:auto}.mat-mdc-form-field:not(.mat-form-field-disabled) .mat-mdc-floating-label.mdc-floating-label{cursor:inherit}.mdc-text-field--no-label:not(.mdc-text-field--textarea) .mat-mdc-form-field-input-control.mdc-text-field__input,.mat-mdc-text-field-wrapper .mat-mdc-form-field-input-control{height:auto}.mat-mdc-text-field-wrapper .mat-mdc-form-field-input-control.mdc-text-field__input[type=color]{height:23px}.mat-mdc-text-field-wrapper{height:auto;flex:auto;will-change:auto}.mat-mdc-form-field-has-icon-prefix .mat-mdc-text-field-wrapper{padding-left:0;--mat-mdc-form-field-label-offset-x: -16px}.mat-mdc-form-field-has-icon-suffix .mat-mdc-text-field-wrapper{padding-right:0}[dir=rtl] .mat-mdc-text-field-wrapper{padding-left:16px;padding-right:16px}[dir=rtl] .mat-mdc-form-field-has-icon-suffix .mat-mdc-text-field-wrapper{padding-left:0}[dir=rtl] .mat-mdc-form-field-has-icon-prefix .mat-mdc-text-field-wrapper{padding-right:0}.mat-form-field-disabled .mdc-text-field__input::placeholder{color:var(--mat-form-field-disabled-input-text-placeholder-color)}.mat-form-field-disabled .mdc-text-field__input::-moz-placeholder{color:var(--mat-form-field-disabled-input-text-placeholder-color)}.mat-form-field-disabled .mdc-text-field__input::-webkit-input-placeholder{color:var(--mat-form-field-disabled-input-text-placeholder-color)}.mat-form-field-disabled .mdc-text-field__input:-ms-input-placeholder{color:var(--mat-form-field-disabled-input-text-placeholder-color)}.mat-mdc-form-field-label-always-float .mdc-text-field__input::placeholder{transition-delay:40ms;transition-duration:110ms;opacity:1}.mat-mdc-text-field-wrapper .mat-mdc-form-field-infix .mat-mdc-floating-label{left:auto;right:auto}.mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-text-field__input{display:inline-block}.mat-mdc-form-field .mat-mdc-text-field-wrapper.mdc-text-field .mdc-notched-outline__notch{padding-top:0}.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field .mdc-notched-outline__notch{border-left:1px solid rgba(0,0,0,0)}[dir=rtl] .mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field .mdc-notched-outline__notch{border-left:none;border-right:1px solid rgba(0,0,0,0)}.mat-mdc-form-field-infix{min-height:var(--mat-form-field-container-height);padding-top:var(--mat-form-field-filled-with-label-container-padding-top);padding-bottom:var(--mat-form-field-filled-with-label-container-padding-bottom)}.mdc-text-field--outlined .mat-mdc-form-field-infix,.mdc-text-field--no-label .mat-mdc-form-field-infix{padding-top:var(--mat-form-field-container-vertical-padding);padding-bottom:var(--mat-form-field-container-vertical-padding)}.mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label{top:calc(var(--mat-form-field-container-height)/2)}.mdc-text-field--filled .mat-mdc-floating-label{display:var(--mat-form-field-filled-label-display, block)}.mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{--mat-mdc-form-field-label-transform: translateY(calc(calc(6.75px + var(--mat-form-field-container-height) / 2) * -1)) scale(var(--mat-mdc-form-field-floating-label-scale, 0.75));transform:var(--mat-mdc-form-field-label-transform)}.mat-mdc-form-field-subscript-wrapper{box-sizing:border-box;width:100%;position:relative}.mat-mdc-form-field-hint-wrapper,.mat-mdc-form-field-error-wrapper{position:absolute;top:0;left:0;right:0;padding:0 16px}.mat-mdc-form-field-subscript-dynamic-size .mat-mdc-form-field-hint-wrapper,.mat-mdc-form-field-subscript-dynamic-size .mat-mdc-form-field-error-wrapper{position:static}.mat-mdc-form-field-bottom-align::before{content:"";display:inline-block;height:16px}.mat-mdc-form-field-bottom-align.mat-mdc-form-field-subscript-dynamic-size::before{content:unset}.mat-mdc-form-field-hint-end{order:1}.mat-mdc-form-field-hint-wrapper{display:flex}.mat-mdc-form-field-hint-spacer{flex:1 0 1em}.mat-mdc-form-field-error{display:block;color:var(--mat-form-field-error-text-color)}.mat-mdc-form-field-subscript-wrapper,.mat-mdc-form-field-bottom-align::before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mat-form-field-subscript-text-font);line-height:var(--mat-form-field-subscript-text-line-height);font-size:var(--mat-form-field-subscript-text-size);letter-spacing:var(--mat-form-field-subscript-text-tracking);font-weight:var(--mat-form-field-subscript-text-weight)}.mat-mdc-form-field-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;opacity:0;pointer-events:none;background-color:var(--mat-form-field-state-layer-color)}.mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-focus-overlay{opacity:var(--mat-form-field-hover-state-layer-opacity)}.mat-mdc-form-field.mat-focused .mat-mdc-form-field-focus-overlay{opacity:var(--mat-form-field-focus-state-layer-opacity)}select.mat-mdc-form-field-input-control{-moz-appearance:none;-webkit-appearance:none;background-color:rgba(0,0,0,0);display:inline-flex;box-sizing:border-box}select.mat-mdc-form-field-input-control:not(:disabled){cursor:pointer}select.mat-mdc-form-field-input-control:not(.mat-mdc-native-select-inline) option{color:var(--mat-form-field-select-option-text-color)}select.mat-mdc-form-field-input-control:not(.mat-mdc-native-select-inline) option:disabled{color:var(--mat-form-field-select-disabled-option-text-color)}.mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-infix::after{content:"";width:0;height:0;border-left:5px solid rgba(0,0,0,0);border-right:5px solid rgba(0,0,0,0);border-top:5px solid;position:absolute;right:0;top:50%;margin-top:-2.5px;pointer-events:none;color:var(--mat-form-field-enabled-select-arrow-color)}[dir=rtl] .mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-infix::after{right:auto;left:0}.mat-mdc-form-field-type-mat-native-select.mat-focused .mat-mdc-form-field-infix::after{color:var(--mat-form-field-focus-select-arrow-color)}.mat-mdc-form-field-type-mat-native-select.mat-form-field-disabled .mat-mdc-form-field-infix::after{color:var(--mat-form-field-disabled-select-arrow-color)}.mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-input-control{padding-right:15px}[dir=rtl] .mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-input-control{padding-right:0;padding-left:15px}.cdk-high-contrast-active .mat-form-field-appearance-fill .mat-mdc-text-field-wrapper{outline:solid 1px}.cdk-high-contrast-active .mat-form-field-appearance-fill.mat-form-field-disabled .mat-mdc-text-field-wrapper{outline-color:GrayText}.cdk-high-contrast-active .mat-form-field-appearance-fill.mat-focused .mat-mdc-text-field-wrapper{outline:dashed 3px}.cdk-high-contrast-active .mat-mdc-form-field.mat-focused .mdc-notched-outline{border:dashed 3px}.mat-mdc-form-field-input-control[type=date],.mat-mdc-form-field-input-control[type=datetime],.mat-mdc-form-field-input-control[type=datetime-local],.mat-mdc-form-field-input-control[type=month],.mat-mdc-form-field-input-control[type=week],.mat-mdc-form-field-input-control[type=time]{line-height:1}.mat-mdc-form-field-input-control::-webkit-datetime-edit{line-height:1;padding:0;margin-bottom:-2px}.mat-mdc-form-field{--mat-mdc-form-field-floating-label-scale: 0.75;display:inline-flex;flex-direction:column;min-width:0;text-align:left;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mat-form-field-container-text-font);line-height:var(--mat-form-field-container-text-line-height);font-size:var(--mat-form-field-container-text-size);letter-spacing:var(--mat-form-field-container-text-tracking);font-weight:var(--mat-form-field-container-text-weight)}[dir=rtl] .mat-mdc-form-field{text-align:right}.mat-mdc-form-field .mdc-text-field--outlined .mdc-floating-label--float-above{font-size:calc(var(--mat-form-field-outlined-label-text-populated-size)*var(--mat-mdc-form-field-floating-label-scale))}.mat-mdc-form-field .mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:var(--mat-form-field-outlined-label-text-populated-size)}.mat-mdc-form-field-flex{display:inline-flex;align-items:baseline;box-sizing:border-box;width:100%}.mat-mdc-text-field-wrapper{width:100%;z-index:0}.mat-mdc-form-field-icon-prefix,.mat-mdc-form-field-icon-suffix{align-self:center;line-height:0;pointer-events:auto;position:relative;z-index:1}.mat-mdc-form-field-icon-prefix>.mat-icon,.mat-mdc-form-field-icon-suffix>.mat-icon{padding:0 12px;box-sizing:content-box}.mat-mdc-form-field-icon-prefix{color:var(--mat-form-field-leading-icon-color)}.mat-form-field-disabled .mat-mdc-form-field-icon-prefix{color:var(--mat-form-field-disabled-leading-icon-color)}.mat-mdc-form-field-icon-suffix{color:var(--mat-form-field-trailing-icon-color)}.mat-form-field-disabled .mat-mdc-form-field-icon-suffix{color:var(--mat-form-field-disabled-trailing-icon-color)}.mat-form-field-invalid .mat-mdc-form-field-icon-suffix{color:var(--mat-form-field-error-trailing-icon-color)}.mat-form-field-invalid:not(.mat-focused):not(.mat-form-field-disabled) .mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-icon-suffix{color:var(--mat-form-field-error-hover-trailing-icon-color)}.mat-form-field-invalid.mat-focused .mat-mdc-text-field-wrapper .mat-mdc-form-field-icon-suffix{color:var(--mat-form-field-error-focus-trailing-icon-color)}.mat-mdc-form-field-icon-prefix,[dir=rtl] .mat-mdc-form-field-icon-suffix{padding:0 4px 0 0}.mat-mdc-form-field-icon-suffix,[dir=rtl] .mat-mdc-form-field-icon-prefix{padding:0 0 0 4px}.mat-mdc-form-field-subscript-wrapper .mat-icon,.mat-mdc-form-field label .mat-icon{width:1em;height:1em;font-size:inherit}.mat-mdc-form-field-infix{flex:auto;min-width:0;width:180px;position:relative;box-sizing:border-box}.mat-mdc-form-field .mdc-notched-outline__notch{margin-left:-1px;-webkit-clip-path:inset(-9em -999em -9em 1px);clip-path:inset(-9em -999em -9em 1px)}[dir=rtl] .mat-mdc-form-field .mdc-notched-outline__notch{margin-left:0;margin-right:-1px;-webkit-clip-path:inset(-9em 1px -9em -999em);clip-path:inset(-9em 1px -9em -999em)}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-floating-label{transition:transform 150ms cubic-bezier(0.4, 0, 0.2, 1),color 150ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__input{transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__input::placeholder{transition:opacity 67ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__input::-moz-placeholder{transition:opacity 67ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__input::-webkit-input-placeholder{transition:opacity 67ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__input:-ms-input-placeholder{transition:opacity 67ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-mdc-form-field:not(.mat-form-field-no-animations).mdc-text-field--no-label .mdc-text-field__input::placeholder,.mat-mdc-form-field:not(.mat-form-field-no-animations).mdc-text-field--focused .mdc-text-field__input::placeholder{transition-delay:40ms;transition-duration:110ms}.mat-mdc-form-field:not(.mat-form-field-no-animations).mdc-text-field--no-label .mdc-text-field__input::-moz-placeholder,.mat-mdc-form-field:not(.mat-form-field-no-animations).mdc-text-field--focused .mdc-text-field__input::-moz-placeholder{transition-delay:40ms;transition-duration:110ms}.mat-mdc-form-field:not(.mat-form-field-no-animations).mdc-text-field--no-label .mdc-text-field__input::-webkit-input-placeholder,.mat-mdc-form-field:not(.mat-form-field-no-animations).mdc-text-field--focused .mdc-text-field__input::-webkit-input-placeholder{transition-delay:40ms;transition-duration:110ms}.mat-mdc-form-field:not(.mat-form-field-no-animations).mdc-text-field--no-label .mdc-text-field__input:-ms-input-placeholder,.mat-mdc-form-field:not(.mat-form-field-no-animations).mdc-text-field--focused .mdc-text-field__input:-ms-input-placeholder{transition-delay:40ms;transition-duration:110ms}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field--filled:not(.mdc-ripple-upgraded):focus .mdc-text-field__ripple::before{transition-duration:75ms}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-line-ripple::after{transition:transform 180ms cubic-bezier(0.4, 0, 0.2, 1),opacity 180ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-notched-outline .mdc-floating-label{max-width:calc(100% + 1px)}.mdc-notched-outline--upgraded .mdc-floating-label--float-above{max-width:calc(133.3333333333% + 1px)}'],encapsulation:2,data:{animation:[Cpe.transitionMessages]},changeDetection:0});let i=e;return i})(),ma=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=rt({type:e}),e.\u0275inj=it({imports:[Ut,Ae,by,Ut]});let i=e;return i})();var Tpe=["trigger"],Dpe=["panel"],Ppe=[[["mat-select-trigger"]],"*"],Ope=["mat-select-trigger","*"];function Rpe(i,e){if(i&1&&(v(0,"span",4),S(1),b()),i&2){let t=I();w(),st(t.placeholder)}}function Ape(i,e){i&1&&Wt(0)}function Npe(i,e){if(i&1&&(v(0,"span",11),S(1),b()),i&2){let t=I(2);w(),st(t.triggerValue)}}function kpe(i,e){if(i&1&&(v(0,"span",5),$(1,Ape,1,0)(2,Npe,2,1,"span",11),b()),i&2){let t=I();w(),oe(t.customTrigger?1:2)}}function Lpe(i,e){if(i&1){let t=ne();v(0,"div",12,1),H("@transformPanel.done",function(r){B(t);let o=I();return V(o._panelDoneAnimatingStream.next(r.toState))})("keydown",function(r){B(t);let o=I();return V(o._handleKeydown(r))}),Wt(2,1),b()}if(i&2){let t=I();U2("mat-mdc-select-panel mdc-menu-surface mdc-menu-surface--open ",t._getPanelTheme(),""),R("ngClass",t.panelClass)("@transformPanel","showing"),Ye("id",t.id+"-panel")("aria-multiselectable",t.multiple)("aria-label",t.ariaLabel||null)("aria-labelledby",t._getPanelAriaLabelledby())}}var Fpe={transformPanelWrap:li("transformPanelWrap",[An("* => void",vF("@transformPanel",[_F()],{optional:!0}))]),transformPanel:li("transformPanel",[vi("void",Kt({opacity:0,transform:"scale(1, 0.8)"})),An("void => showing",Rn("120ms cubic-bezier(0, 0, 0.2, 1)",Kt({opacity:1,transform:"scale(1, 1)"}))),An("* => void",Rn("100ms linear",Kt({opacity:0})))])};var fj=0,mj=new me("mat-select-scroll-strategy",{providedIn:"root",factory:()=>{let i=te($t);return()=>i.scrollStrategies.reposition()}});function Bpe(i){return()=>i.scrollStrategies.reposition()}var Vpe=new me("MAT_SELECT_CONFIG"),zpe={provide:mj,deps:[$t],useFactory:Bpe},Upe=new me("MatSelectTrigger"),FO=class{constructor(e,t){this.source=e,this.value=t}},zC=(()=>{let e=class e{_scrollOptionIntoView(n){let r=this.options.toArray()[n];if(r){let o=this.panel.nativeElement,s=Ay(n,this.options,this.optionGroups),a=r._getHostElement();n===0&&s===1?o.scrollTop=0:o.scrollTop=Ny(a.offsetTop,a.offsetHeight,o.scrollTop,o.offsetHeight)}}_positioningSettled(){this._scrollOptionIntoView(this._keyManager.activeItemIndex||0)}_getChangeEvent(n){return new FO(this,n)}get focused(){return this._focused||this._panelOpen}get hideSingleSelectionIndicator(){return this._hideSingleSelectionIndicator}set hideSingleSelectionIndicator(n){this._hideSingleSelectionIndicator=n,this._syncParentProperties()}get placeholder(){return this._placeholder}set placeholder(n){this._placeholder=n,this.stateChanges.next()}get required(){return this._required??this.ngControl?.control?.hasValidator(oy.required)??!1}set required(n){this._required=n,this.stateChanges.next()}get multiple(){return this._multiple}set multiple(n){this._selectionModel,this._multiple=n}get compareWith(){return this._compareWith}set compareWith(n){this._compareWith=n,this._selectionModel&&this._initializeSelection()}get value(){return this._value}set value(n){this._assignValue(n)&&this._onChange(n)}get errorStateMatcher(){return this._errorStateTracker.matcher}set errorStateMatcher(n){this._errorStateTracker.matcher=n}get id(){return this._id}set id(n){this._id=n||this._uid,this.stateChanges.next()}get errorState(){return this._errorStateTracker.errorState}set errorState(n){this._errorStateTracker.errorState=n}constructor(n,r,o,s,a,c,l,d,u,h,p,f,m,y){this._viewportRuler=n,this._changeDetectorRef=r,this._elementRef=a,this._dir=c,this._parentFormField=u,this.ngControl=h,this._liveAnnouncer=m,this._defaultOptions=y,this._positions=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom",panelClass:"mat-mdc-select-panel-above"},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom",panelClass:"mat-mdc-select-panel-above"}],this._panelOpen=!1,this._compareWith=(g,_)=>g===_,this._uid=`mat-select-${fj++}`,this._triggerAriaLabelledBy=null,this._destroy=new pe,this.stateChanges=new pe,this.disableAutomaticLabeling=!0,this._onChange=()=>{},this._onTouched=()=>{},this._valueId=`mat-select-value-${fj++}`,this._panelDoneAnimatingStream=new pe,this._overlayPanelClass=this._defaultOptions?.overlayPanelClass||"",this._focused=!1,this.controlType="mat-select",this.disabled=!1,this.disableRipple=!1,this.tabIndex=0,this._hideSingleSelectionIndicator=this._defaultOptions?.hideSingleSelectionIndicator??!1,this._multiple=!1,this.disableOptionCentering=this._defaultOptions?.disableOptionCentering??!1,this.ariaLabel="",this.panelWidth=this._defaultOptions&&typeof this._defaultOptions.panelWidth<"u"?this._defaultOptions.panelWidth:"auto",this._initialized=new pe,this.optionSelectionChanges=Po(()=>{let g=this.options;return g?g.changes.pipe(gi(g),Qn(()=>Zn(...g.map(_=>_.onSelectionChange)))):this._initialized.pipe(Qn(()=>this.optionSelectionChanges))}),this.openedChange=new Ie,this._openedStream=this.openedChange.pipe(qt(g=>g),Je(()=>{})),this._closedStream=this.openedChange.pipe(qt(g=>!g),Je(()=>{})),this.selectionChange=new Ie,this.valueChange=new Ie,this._trackedModal=null,this._skipPredicate=g=>this.panelOpen?!1:g.disabled,this.ngControl&&(this.ngControl.valueAccessor=this),y?.typeaheadDebounceInterval!=null&&(this.typeaheadDebounceInterval=y.typeaheadDebounceInterval),this._errorStateTracker=new Ry(s,h,d,l,this.stateChanges),this._scrollStrategyFactory=f,this._scrollStrategy=this._scrollStrategyFactory(),this.tabIndex=parseInt(p)||0,this.id=this.id}ngOnInit(){this._selectionModel=new of(this.multiple),this.stateChanges.next(),this._panelDoneAnimatingStream.pipe(xc(),Ze(this._destroy)).subscribe(()=>this._panelDoneAnimating(this.panelOpen)),this._viewportRuler.change().pipe(Ze(this._destroy)).subscribe(()=>{this.panelOpen&&(this._overlayWidth=this._getOverlayWidth(this._preferredOverlayOrigin),this._changeDetectorRef.detectChanges())})}ngAfterContentInit(){this._initialized.next(),this._initialized.complete(),this._initKeyManager(),this._selectionModel.changed.pipe(Ze(this._destroy)).subscribe(n=>{n.added.forEach(r=>r.select()),n.removed.forEach(r=>r.deselect())}),this.options.changes.pipe(gi(null),Ze(this._destroy)).subscribe(()=>{this._resetOptions(),this._initializeSelection()})}ngDoCheck(){let n=this._getTriggerAriaLabelledby(),r=this.ngControl;if(n!==this._triggerAriaLabelledBy){let o=this._elementRef.nativeElement;this._triggerAriaLabelledBy=n,n?o.setAttribute("aria-labelledby",n):o.removeAttribute("aria-labelledby")}r&&(this._previousControl!==r.control&&(this._previousControl!==void 0&&r.disabled!==null&&r.disabled!==this.disabled&&(this.disabled=r.disabled),this._previousControl=r.control),this.updateErrorState())}ngOnChanges(n){(n.disabled||n.userAriaDescribedBy)&&this.stateChanges.next(),n.typeaheadDebounceInterval&&this._keyManager&&this._keyManager.withTypeAhead(this.typeaheadDebounceInterval)}ngOnDestroy(){this._keyManager?.destroy(),this._destroy.next(),this._destroy.complete(),this.stateChanges.complete(),this._clearFromModal()}toggle(){this.panelOpen?this.close():this.open()}open(){this._canOpen()&&(this._parentFormField&&(this._preferredOverlayOrigin=this._parentFormField.getConnectedOverlayOrigin()),this._overlayWidth=this._getOverlayWidth(this._preferredOverlayOrigin),this._applyModalPanelOwnership(),this._panelOpen=!0,this._keyManager.withHorizontalOrientation(null),this._highlightCorrectOption(),this._changeDetectorRef.markForCheck(),this.stateChanges.next())}_applyModalPanelOwnership(){let n=this._elementRef.nativeElement.closest('body > .cdk-overlay-container [aria-modal="true"]');if(!n)return;let r=`${this.id}-panel`;this._trackedModal&&Yc(this._trackedModal,"aria-owns",r),Lh(n,"aria-owns",r),this._trackedModal=n}_clearFromModal(){if(!this._trackedModal)return;let n=`${this.id}-panel`;Yc(this._trackedModal,"aria-owns",n),this._trackedModal=null}close(){this._panelOpen&&(this._panelOpen=!1,this._keyManager.withHorizontalOrientation(this._isRtl()?"rtl":"ltr"),this._changeDetectorRef.markForCheck(),this._onTouched(),this.stateChanges.next())}writeValue(n){this._assignValue(n)}registerOnChange(n){this._onChange=n}registerOnTouched(n){this._onTouched=n}setDisabledState(n){this.disabled=n,this._changeDetectorRef.markForCheck(),this.stateChanges.next()}get panelOpen(){return this._panelOpen}get selected(){return this.multiple?this._selectionModel?.selected||[]:this._selectionModel?.selected[0]}get triggerValue(){if(this.empty)return"";if(this._multiple){let n=this._selectionModel.selected.map(r=>r.viewValue);return this._isRtl()&&n.reverse(),n.join(", ")}return this._selectionModel.selected[0].viewValue}updateErrorState(){this._errorStateTracker.updateErrorState()}_isRtl(){return this._dir?this._dir.value==="rtl":!1}_handleKeydown(n){this.disabled||(this.panelOpen?this._handleOpenKeydown(n):this._handleClosedKeydown(n))}_handleClosedKeydown(n){let r=n.keyCode,o=r===40||r===38||r===37||r===39,s=r===13||r===32,a=this._keyManager;if(!a.isTyping()&&s&&!bi(n)||(this.multiple||n.altKey)&&o)n.preventDefault(),this.open();else if(!this.multiple){let c=this.selected;a.onKeydown(n);let l=this.selected;l&&c!==l&&this._liveAnnouncer.announce(l.viewValue,1e4)}}_handleOpenKeydown(n){let r=this._keyManager,o=n.keyCode,s=o===40||o===38,a=r.isTyping();if(s&&n.altKey)n.preventDefault(),this.close();else if(!a&&(o===13||o===32)&&r.activeItem&&!bi(n))n.preventDefault(),r.activeItem._selectViaInteraction();else if(!a&&this._multiple&&o===65&&n.ctrlKey){n.preventDefault();let c=this.options.some(l=>!l.disabled&&!l.selected);this.options.forEach(l=>{l.disabled||(c?l.select():l.deselect())})}else{let c=r.activeItemIndex;r.onKeydown(n),this._multiple&&s&&n.shiftKey&&r.activeItem&&r.activeItemIndex!==c&&r.activeItem._selectViaInteraction()}}_onFocus(){this.disabled||(this._focused=!0,this.stateChanges.next())}_onBlur(){this._focused=!1,this._keyManager?.cancelTypeahead(),!this.disabled&&!this.panelOpen&&(this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next())}_onAttached(){this._overlayDir.positionChange.pipe(_n(1)).subscribe(()=>{this._changeDetectorRef.detectChanges(),this._positioningSettled()})}_getPanelTheme(){return this._parentFormField?`mat-${this._parentFormField.color}`:""}get empty(){return!this._selectionModel||this._selectionModel.isEmpty()}_initializeSelection(){Promise.resolve().then(()=>{this.ngControl&&(this._value=this.ngControl.value),this._setSelectionByValue(this._value),this.stateChanges.next()})}_setSelectionByValue(n){if(this.options.forEach(r=>r.setInactiveStyles()),this._selectionModel.clear(),this.multiple&&n)Array.isArray(n),n.forEach(r=>this._selectOptionByValue(r)),this._sortValues();else{let r=this._selectOptionByValue(n);r?this._keyManager.updateActiveItem(r):this.panelOpen||this._keyManager.updateActiveItem(-1)}this._changeDetectorRef.markForCheck()}_selectOptionByValue(n){let r=this.options.find(o=>{if(this._selectionModel.isSelected(o))return!1;try{return o.value!=null&&this._compareWith(o.value,n)}catch{return!1}});return r&&this._selectionModel.select(r),r}_assignValue(n){return n!==this._value||this._multiple&&Array.isArray(n)?(this.options&&this._setSelectionByValue(n),this._value=n,!0):!1}_getOverlayWidth(n){return this.panelWidth==="auto"?(n instanceof $_?n.elementRef:n||this._elementRef).nativeElement.getBoundingClientRect().width:this.panelWidth===null?"":this.panelWidth}_syncParentProperties(){if(this.options)for(let n of this.options)n._changeDetectorRef.markForCheck()}_initKeyManager(){this._keyManager=new Ah(this.options).withTypeAhead(this.typeaheadDebounceInterval).withVerticalOrientation().withHorizontalOrientation(this._isRtl()?"rtl":"ltr").withHomeAndEnd().withPageUpDown().withAllowedModifierKeys(["shiftKey"]).skipPredicate(this._skipPredicate),this._keyManager.tabOut.subscribe(()=>{this.panelOpen&&(!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction(),this.focus(),this.close())}),this._keyManager.change.subscribe(()=>{this._panelOpen&&this.panel?this._scrollOptionIntoView(this._keyManager.activeItemIndex||0):!this._panelOpen&&!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction()})}_resetOptions(){let n=Zn(this.options.changes,this._destroy);this.optionSelectionChanges.pipe(Ze(n)).subscribe(r=>{this._onSelect(r.source,r.isUserInput),r.isUserInput&&!this.multiple&&this._panelOpen&&(this.close(),this.focus())}),Zn(...this.options.map(r=>r._stateChanges)).pipe(Ze(n)).subscribe(()=>{this._changeDetectorRef.detectChanges(),this.stateChanges.next()})}_onSelect(n,r){let o=this._selectionModel.isSelected(n);n.value==null&&!this._multiple?(n.deselect(),this._selectionModel.clear(),this.value!=null&&this._propagateChanges(n.value)):(o!==n.selected&&(n.selected?this._selectionModel.select(n):this._selectionModel.deselect(n)),r&&this._keyManager.setActiveItem(n),this.multiple&&(this._sortValues(),r&&this.focus())),o!==this._selectionModel.isSelected(n)&&this._propagateChanges(),this.stateChanges.next()}_sortValues(){if(this.multiple){let n=this.options.toArray();this._selectionModel.sort((r,o)=>this.sortComparator?this.sortComparator(r,o,n):n.indexOf(r)-n.indexOf(o)),this.stateChanges.next()}}_propagateChanges(n){let r;this.multiple?r=this.selected.map(o=>o.value):r=this.selected?this.selected.value:n,this._value=r,this.valueChange.emit(r),this._onChange(r),this.selectionChange.emit(this._getChangeEvent(r)),this._changeDetectorRef.markForCheck()}_highlightCorrectOption(){if(this._keyManager)if(this.empty){let n=-1;for(let r=0;r0}focus(n){this._elementRef.nativeElement.focus(n)}_getPanelAriaLabelledby(){if(this.ariaLabel)return null;let n=this._parentFormField?.getLabelId(),r=n?n+" ":"";return this.ariaLabelledby?r+this.ariaLabelledby:n}_getAriaActiveDescendant(){return this.panelOpen&&this._keyManager&&this._keyManager.activeItem?this._keyManager.activeItem.id:null}_getTriggerAriaLabelledby(){if(this.ariaLabel)return null;let n=this._parentFormField?.getLabelId(),r=(n?n+" ":"")+this._valueId;return this.ariaLabelledby&&(r+=" "+this.ariaLabelledby),r}_panelDoneAnimating(n){this.openedChange.emit(n)}setDescribedByIds(n){n.length?this._elementRef.nativeElement.setAttribute("aria-describedby",n.join(" ")):this._elementRef.nativeElement.removeAttribute("aria-describedby")}onContainerClick(){this.focus(),this.open()}get shouldLabelFloat(){return this.panelOpen||!this.empty||this.focused&&!!this.placeholder}};e.\u0275fac=function(r){return new(r||e)(M(la),M(Ne),M(Fe),M(j3),M(Re),M(di,8),M(cT,8),M(lT,8),M(J_,8),M(_d,10),Lr("tabindex"),M(mj),M(Dy),M(Vpe,8))},e.\u0275cmp=ce({type:e,selectors:[["mat-select"]],contentQueries:function(r,o,s){if(r&1&&(_i(s,Upe,5),_i(s,Zc,5),_i(s,zh,5)),r&2){let a;be(a=ye())&&(o.customTrigger=a.first),be(a=ye())&&(o.options=a),be(a=ye())&&(o.optionGroups=a)}},viewQuery:function(r,o){if(r&1&&(Ee(Tpe,5),Ee(Dpe,5),Ee(_O,5)),r&2){let s;be(s=ye())&&(o.trigger=s.first),be(s=ye())&&(o.panel=s.first),be(s=ye())&&(o._overlayDir=s.first)}},hostAttrs:["role","combobox","aria-autocomplete","none","aria-haspopup","listbox",1,"mat-mdc-select"],hostVars:19,hostBindings:function(r,o){r&1&&H("keydown",function(a){return o._handleKeydown(a)})("focus",function(){return o._onFocus()})("blur",function(){return o._onBlur()}),r&2&&(Ye("id",o.id)("tabindex",o.disabled?-1:o.tabIndex)("aria-controls",o.panelOpen?o.id+"-panel":null)("aria-expanded",o.panelOpen)("aria-label",o.ariaLabel||null)("aria-required",o.required.toString())("aria-disabled",o.disabled.toString())("aria-invalid",o.errorState)("aria-activedescendant",o._getAriaActiveDescendant()),re("mat-mdc-select-disabled",o.disabled)("mat-mdc-select-invalid",o.errorState)("mat-mdc-select-required",o.required)("mat-mdc-select-empty",o.empty)("mat-mdc-select-multiple",o.multiple))},inputs:{userAriaDescribedBy:[0,"aria-describedby","userAriaDescribedBy"],panelClass:"panelClass",disabled:[2,"disabled","disabled",et],disableRipple:[2,"disableRipple","disableRipple",et],tabIndex:[2,"tabIndex","tabIndex",n=>n==null?0:ni(n)],hideSingleSelectionIndicator:[2,"hideSingleSelectionIndicator","hideSingleSelectionIndicator",et],placeholder:"placeholder",required:[2,"required","required",et],multiple:[2,"multiple","multiple",et],disableOptionCentering:[2,"disableOptionCentering","disableOptionCentering",et],compareWith:"compareWith",value:"value",ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],errorStateMatcher:"errorStateMatcher",typeaheadDebounceInterval:[2,"typeaheadDebounceInterval","typeaheadDebounceInterval",ni],sortComparator:"sortComparator",id:"id",panelWidth:"panelWidth"},outputs:{openedChange:"openedChange",_openedStream:"opened",_closedStream:"closed",selectionChange:"selectionChange",valueChange:"valueChange"},exportAs:["matSelect"],standalone:!0,features:[Ft([{provide:LO,useExisting:e},{provide:Vh,useExisting:e}]),nn,dn,le],ngContentSelectors:Ope,decls:11,vars:8,consts:[["fallbackOverlayOrigin","cdkOverlayOrigin","trigger",""],["panel",""],["cdk-overlay-origin","",1,"mat-mdc-select-trigger",3,"click"],[1,"mat-mdc-select-value"],[1,"mat-mdc-select-placeholder","mat-mdc-select-min-line"],[1,"mat-mdc-select-value-text"],[1,"mat-mdc-select-arrow-wrapper"],[1,"mat-mdc-select-arrow"],["viewBox","0 0 24 24","width","24px","height","24px","focusable","false","aria-hidden","true"],["d","M7 10l5 5 5-5z"],["cdk-connected-overlay","","cdkConnectedOverlayLockPosition","","cdkConnectedOverlayHasBackdrop","","cdkConnectedOverlayBackdropClass","cdk-overlay-transparent-backdrop",3,"backdropClick","attach","detach","cdkConnectedOverlayPanelClass","cdkConnectedOverlayScrollStrategy","cdkConnectedOverlayOrigin","cdkConnectedOverlayOpen","cdkConnectedOverlayPositions","cdkConnectedOverlayWidth"],[1,"mat-mdc-select-min-line"],["role","listbox","tabindex","-1",3,"keydown","ngClass"]],template:function(r,o){if(r&1){let s=ne();In(Ppe),v(0,"div",2,0),H("click",function(){return B(s),V(o.open())}),v(3,"div",3),$(4,Rpe,2,1,"span",4)(5,kpe,3,1,"span",5),b(),v(6,"div",6)(7,"div",7),uo(),v(8,"svg",8),ee(9,"path",9),b()()()(),$(10,Lpe,3,9,"ng-template",10),H("backdropClick",function(){return B(s),V(o.close())})("attach",function(){return B(s),V(o._onAttached())})("detach",function(){return B(s),V(o.close())})}if(r&2){let s=ve(1);w(3),Ye("id",o._valueId),w(),oe(o.empty?4:5),w(6),R("cdkConnectedOverlayPanelClass",o._overlayPanelClass)("cdkConnectedOverlayScrollStrategy",o._scrollStrategy)("cdkConnectedOverlayOrigin",o._preferredOverlayOrigin||s)("cdkConnectedOverlayOpen",o.panelOpen)("cdkConnectedOverlayPositions",o._positions)("cdkConnectedOverlayWidth",o._overlayWidth)}},dependencies:[$_,_O,cb],styles:['.mat-mdc-select{display:inline-block;width:100%;outline:none;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:var(--mat-select-enabled-trigger-text-color);font-family:var(--mat-select-trigger-text-font);line-height:var(--mat-select-trigger-text-line-height);font-size:var(--mat-select-trigger-text-size);font-weight:var(--mat-select-trigger-text-weight);letter-spacing:var(--mat-select-trigger-text-tracking)}div.mat-mdc-select-panel{box-shadow:var(--mat-select-container-elevation-shadow)}.mat-mdc-select-disabled{color:var(--mat-select-disabled-trigger-text-color)}.mat-mdc-select-trigger{display:inline-flex;align-items:center;cursor:pointer;position:relative;box-sizing:border-box;width:100%}.mat-mdc-select-disabled .mat-mdc-select-trigger{-webkit-user-select:none;user-select:none;cursor:default}.mat-mdc-select-value{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-mdc-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-mdc-select-arrow-wrapper{height:24px;flex-shrink:0;display:inline-flex;align-items:center}.mat-form-field-appearance-fill .mdc-text-field--no-label .mat-mdc-select-arrow-wrapper{transform:none}.mat-mdc-form-field .mat-mdc-select.mat-mdc-select-invalid .mat-mdc-select-arrow,.mat-form-field-invalid:not(.mat-form-field-disabled) .mat-mdc-form-field-infix::after{color:var(--mat-select-invalid-arrow-color)}.mat-mdc-select-arrow{width:10px;height:5px;position:relative;color:var(--mat-select-enabled-arrow-color)}.mat-mdc-form-field.mat-focused .mat-mdc-select-arrow{color:var(--mat-select-focused-arrow-color)}.mat-mdc-form-field .mat-mdc-select.mat-mdc-select-disabled .mat-mdc-select-arrow{color:var(--mat-select-disabled-arrow-color)}.mat-mdc-select-arrow svg{fill:currentColor;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.cdk-high-contrast-active .mat-mdc-select-arrow svg{fill:CanvasText}.mat-mdc-select-disabled .cdk-high-contrast-active .mat-mdc-select-arrow svg{fill:GrayText}div.mat-mdc-select-panel{width:100%;max-height:275px;outline:0;overflow:auto;padding:8px 0;border-radius:4px;box-sizing:border-box;position:static;background-color:var(--mat-select-panel-background-color)}.cdk-high-contrast-active div.mat-mdc-select-panel{outline:solid 1px}.cdk-overlay-pane:not(.mat-mdc-select-panel-above) div.mat-mdc-select-panel{border-top-left-radius:0;border-top-right-radius:0;transform-origin:top center}.mat-mdc-select-panel-above div.mat-mdc-select-panel{border-bottom-left-radius:0;border-bottom-right-radius:0;transform-origin:bottom center}div.mat-mdc-select-panel .mat-mdc-option{--mdc-list-list-item-container-color: var(--mat-select-panel-background-color)}.mat-mdc-select-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1);color:var(--mat-select-placeholder-text-color)}._mat-animation-noopable .mat-mdc-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-mdc-select-placeholder{color:rgba(0,0,0,0);-webkit-text-fill-color:rgba(0,0,0,0);transition:none;display:block}.mat-mdc-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-mdc-text-field-wrapper{cursor:pointer}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-fill .mat-mdc-floating-label{max-width:calc(100% - 18px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-fill .mdc-floating-label--float-above{max-width:calc(100%/0.75 - 24px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-outline .mdc-notched-outline__notch{max-width:calc(100% - 60px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-outline .mdc-text-field--label-floating .mdc-notched-outline__notch{max-width:calc(100% - 24px)}.mat-mdc-select-min-line:empty::before{content:" ";white-space:pre;width:1px;display:inline-block;visibility:hidden}.mat-form-field-appearance-fill .mat-mdc-select-arrow-wrapper{transform:var(--mat-select-arrow-transform)}'],encapsulation:2,data:{animation:[Fpe.transformPanel]},changeDetection:0});let i=e;return i})();var ga=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=rt({type:e}),e.\u0275inj=it({providers:[zpe],imports:[Ae,oo,Uh,Ut,Jo,ma,Uh,Ut]});let i=e;return i})();var df=(()=>{class i{changeDetectorRef;pageSize;itemsCount;change=new Ie;curPageIndex=0;constructor(t){this.changeDetectorRef=t}reset(){this.curPageIndex=0,this.changeDetectorRef.markForCheck()}handleClickGoToPrevPage(){this.curPageIndex--,this.curPageIndex=Math.max(0,this.curPageIndex),this.change.emit(this.curPageIndex)}handleClickGoToNextPage(){this.curPageIndex++,this.curPageIndex=Math.min(Math.ceil(this.itemsCount/this.pageSize)-1,this.curPageIndex),this.change.emit(this.curPageIndex)}get disablePrevButton(){return this.curPageIndex===0}get disableNextButton(){return this.curPageIndex===Math.ceil(this.itemsCount/this.pageSize)-1}get curRangeText(){let t=Math.min(this.itemsCount,this.curPageIndex*this.pageSize+1),n=Math.min((this.curPageIndex+1)*this.pageSize,this.itemsCount);return t===n?`${t}`:`${t} - ${n}`}static \u0275fac=function(n){return new(n||i)(M(Ne))};static \u0275cmp=ce({type:i,selectors:[["paginator"]],inputs:{pageSize:"pageSize",itemsCount:"itemsCount"},outputs:{change:"change"},standalone:!0,features:[le],decls:9,vars:5,consts:[[1,"container"],[1,"icon-container","prev-page",3,"click"],[1,"range-text"],[1,"icon-container","next-page",3,"click"]],template:function(n,r){n&1&&(v(0,"div",0)(1,"div",1),H("click",function(){return r.handleClickGoToPrevPage()}),v(2,"mat-icon"),S(3,"chevron_left"),b()(),v(4,"div",2),S(5),b(),v(6,"div",3),H("click",function(){return r.handleClickGoToNextPage()}),v(7,"mat-icon"),S(8,"chevron_right"),b()()()),n&2&&(w(),re("disabled",r.disablePrevButton),w(4),Se(" ",r.curRangeText," "),w(),re("disabled",r.disableNextButton))},dependencies:[Ae,tt,pt],styles:[`.container[_ngcontent-%COMP%]{display:flex;align-items:center;-webkit-user-select:none;user-select:none}.container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:99px;cursor:pointer}.container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]:hover{background-color:#ddd}.container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]:hover mat-icon[_ngcontent-%COMP%]{opacity:1}.container[_ngcontent-%COMP%] .icon-container.disabled[_ngcontent-%COMP%]{pointer-events:none;opacity:.3}.container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{opacity:.7;color:#333;font-size:20px;width:20px;height:20px}.container[_ngcontent-%COMP%] .range-text[_ngcontent-%COMP%]{color:#333;font-size:12px;display:flex;align-items:center;justify-content:center} @@ -3726,7 +3727,7 @@ void main() { -`],changeDetection:0})}return i})();var Ape=["searchInput"],Npe=["content"];function kpe(i,e){if(i&1){let t=ie();v(0,"div",11),H("click",function(){V(t);let r=I();return z(r.handleClickClearSearchText())}),v(1,"mat-icon",12),S(2,"close"),b()()}}function Lpe(i,e){if(i&1){let t=ie();v(0,"paginator",25),H("change",function(r){V(t);let o=I(2);return z(o.handlePaginatorChanged(r))}),b()}if(i&2){let t=I(2);N("pageSize",t.pageSize)("itemsCount",t.resultsCount)}}function Fpe(i,e){if(i&1){let t=ie();v(0,"div",26),H("click",function(){let r=V(t).$implicit,o=I(2);return z(o.updateSelectedResultTypes(r))}),v(1,"div",27)(2,"mat-icon"),S(3),b()(),v(4,"div",28),S(5),b()()}if(i&2){let t=e.$implicit;se("selected",t.selected),w(3),nt(t.matchType),w(2),Me(" ",t.label," ")}}function Bpe(i,e){if(i&1&&ee(0,"io-tree",22),i&2){let t=I(2);N("data",t.curSearchResultsData)("rendererId",t.rendererId)("tooltipPosition","right")("showLocator",!1)}}function Vpe(i,e){i&1&&(v(0,"div",23),S(1," No matching results "),b())}function zpe(i,e){if(i&1&&(v(0,"div",13)(1,"div",14)(2,"div",15)(3,"div",16),S(4),b(),W(5,Lpe,1,2,"paginator",17),b(),v(6,"div",18)(7,"div",19),ln(8,Fpe,6,4,"div",20,Kr),b()()(),v(10,"div",21,2),W(12,Bpe,1,4,"io-tree",22)(13,Vpe,2,0,"div",23),b(),v(14,"div",24)(15,"mat-icon"),S(16,"tips_and_updates"),b(),S(17," Click to locate node. Alt+Click to locate and select node. "),b()()),i&2){let t=I();tn("max-height",t.searchResultsContainerMaxHeight,"px"),w(4),Me(" ",t.searchResultsTitle," "),w(),ae(t.showPaginator?5:-1),w(3),cn(t.searchResultTypes),w(4),ae(t.resultsCount>0?12:13)}}function Upe(i,e){i&1&&(v(0,"div",29),S(1," No matching results "),b())}function Hpe(i,e){i&1&&(v(0,"div",30),S(1," Use regex to match nodes by label, attributes, input/output node label, and input/output metadata. "),ee(2,"br")(3,"br"),S(4," For attributes and I/O metadata, regex will try to match "),v(5,"span",31),S(6),b(),S(7," or "),v(8,"span",31),S(9),b(),S(10,". "),ee(11,"br")(12,"br"),S(13," Examples:"),ee(14,"br"),v(15,"ul")(16,"li")(17,"span",32),S(18,"axis:"),b(),S(19," will match attributes whose key is "),v(20,"span",31),S(21,"axis"),b(),S(22,". "),b(),v(23,"li")(24,"span",32),S(25,"padding=[SAME|VALID]"),b(),S(26," will match attributes whose key is "),v(27,"span",31),S(28,"padding"),b(),S(29," and value is either "),v(30,"span",31),S(31,"SAME"),b(),S(32," or "),v(33,"span",31),S(34,"VALID"),b(),S(35,". "),b()()()),i&2&&(w(6),Zc("","{","key","}",":","{","value","}",""),w(3),Zc("","{","key","}","=","{","value","}",""))}var dj=(()=>{class i{appService;changeDetectorRef;destroyRef;curModelGraph;rendererId;searchInput;content;curSearchText=new gr("");searchResultTypes=[{matchType:bt.NODE_LABEL,label:"Label",selected:!0},{matchType:bt.ATTRIBUTE,label:"Attrs",selected:!0},{matchType:bt.INPUT_METADATA,label:"Inputs",selected:!0},{matchType:bt.OUTPUT_METADATA,label:"Outputs",selected:!0}];searchResultTypeSelectorOverlaySize={minWidth:0,minHeight:0};searchResultTypeSelectorOverlayPositions=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"}];pageSize;curSearchMatchedNodes=[];curSearchMatchData=[];curSearchResultsData;searching=!1;curPageIndex=0;constructor(t,n,r){this.appService=t,this.changeDetectorRef=n,this.destroyRef=r,this.pageSize=this.appService.testMode?12:50,this.curSearchText.valueChanges.pipe(Sn(()=>{this.searching=!0,this.changeDetectorRef.markForCheck()}),To(300),Vi(this.destroyRef)).subscribe(o=>{this.handleSearch((o?.toLowerCase()||"").trim())}),this.appService.searchKeyClicked.pipe(Vi(this.destroyRef)).subscribe(()=>{this.rendererId===this.appService.curSelectedRenderer()?.id&&this.searchInput.nativeElement.focus()})}handleClickClearSearchText(){this.curSearchText.setValue(""),this.handleSearch("")}updateSelectedResultTypes(t){t.selected=!t.selected,this.changeDetectorRef.markForCheck(),this.handleSearch(this.curSearchText.value||""),setTimeout(()=>{this.content.nativeElement.scrollTop=0})}handlePaginatorChanged(t){this.curPageIndex=t,this.updatePagedResults()}getDisableSearchResultTypeOption(t){return this.searchResultTypes.filter(n=>n.selected).length===1&&t.selected}get searchResultsTitle(){let t=this.curSearchMatchedNodes?.length||0;return`${t} result${t===1?"":"s"}`}get showClearButton(){return(this.curSearchText.value||"").trim()!==""}get showResultsPanel(){return!this.searching&&(this.curSearchText.value||"").trim()!==""&&!this.showNoMatches}get showNoMatches(){return!this.searching&&(this.curSearchText.value||"").trim()!==""&&this.curSearchMatchedNodes.length===0&&this.searchResultTypes.every(t=>t.selected)}get resultsCount(){return this.curSearchMatchedNodes.length}get searchResultsContainerMaxHeight(){return document.body.offsetHeight-300}get showPaginator(){return this.resultsCount>this.pageSize}handleSearch(t){if(!t){this.curPageIndex=0,this.curSearchResultsData=void 0,this.curSearchMatchedNodes=[],this.changeDetectorRef.markForCheck(),this.searching=!1,this.appService.clearSearchResults(this.rendererId);return}let n=[],r=[],o={results:{}},s=new Set(this.searchResultTypes.filter(a=>a.selected).map(a=>a.matchType));try{let a=new RegExp(t,"i");for(let l of this.curModelGraph.nodes){if(Et(l)&&l.hideInLayout)continue;let{matches:c,matchTypes:d}=XI(s,a,l,this.curModelGraph);c.length>0&&(n.push(l),r.push({matches:c,matchTypes:d}),o.results[l.id]=c)}this.appService.setSearchResults(this.rendererId,o)}catch(a){console.warn("Failed to search",a)}this.curPageIndex=0,this.curSearchMatchedNodes=[...n],this.curSearchMatchData=r,this.updatePagedResults(),this.searching=!1,this.changeDetectorRef.markForCheck()}updatePagedResults(){this.curSearchResultsData=cl(this.curSearchMatchedNodes.slice(this.curPageIndex*this.pageSize,(this.curPageIndex+1)*this.pageSize),[],"incoming",void 0,this.curSearchMatchData.slice(this.curPageIndex*this.pageSize,(this.curPageIndex+1)*this.pageSize))}static \u0275fac=function(n){return new(n||i)(M(st),M(Fe),M(Ni))};static \u0275cmp=le({type:i,selectors:[["search-bar"]],viewQuery:function(n,r){if(n&1&&(Te(Ape,5),Te(Npe,5)),n&2){let o;be(o=ye())&&(r.searchInput=o.first),be(o=ye())&&(r.content=o.first)}},inputs:{curModelGraph:"curModelGraph",rendererId:"rendererId"},standalone:!0,features:[ce],decls:14,vars:6,consts:[["searchInput",""],["helpPopup",""],["content",""],[1,"container"],[1,"input-container"],[1,"search"],["placeholder","Search nodes/layers by regex",3,"formControl"],["class","btn-clear-container",3,"click",4,"ngIf"],[1,"icon-container",3,"bubble","hoverDelayMs"],["class","search-results-container",3,"max-height",4,"ngIf"],["class","no-matches",4,"ngIf"],[1,"btn-clear-container",3,"click"],[1,"clear"],[1,"search-results-container"],[1,"title-container"],[1,"title"],[1,"title-label"],[3,"pageSize","itemsCount"],[1,"search-result-type-selector-container"],[1,"options-container"],[1,"option-container",3,"selected"],[1,"content"],[3,"data","rendererId","tooltipPosition","showLocator"],[1,"empty-results"],[1,"footer"],[3,"change","pageSize","itemsCount"],[1,"option-container",3,"click"],[1,"icon-container"],[1,"option-label"],[1,"no-matches"],[1,"model-explorer-search-help-popup"],[1,"code"],[1,"code","regex"]],template:function(n,r){if(n&1&&(v(0,"div",3)(1,"div",4)(2,"mat-icon",5),S(3,"search"),b(),ee(4,"input",6,0),W(6,kpe,3,0,"div",7),v(7,"div",8)(8,"mat-icon"),S(9,"help_outline"),b()()(),W(10,zpe,18,5,"div",9)(11,Upe,2,0,"div",10),b(),W(12,Hpe,36,8,"ng-template",null,1,kt)),n&2){let o=ve(13);w(4),N("formControl",r.curSearchText),w(2),N("ngIf",r.showClearButton),w(),N("bubble",o)("hoverDelayMs",100),w(3),N("ngIf",r.showResultsPanel),w(),N("ngIf",r.showNoMatches)}},dependencies:[$n,Ae,Mn,xc,LC,it,_t,fa,sf,_r,qs,zo,po],styles:[`.container[_ngcontent-%COMP%]{position:relative;overflow:visible;background-color:#fff;border-radius:99px;height:30px;display:flex;align-items:center;padding:0 8px}.container[_ngcontent-%COMP%] .input-container[_ngcontent-%COMP%]{display:flex;align-items:center;width:250px}.container[_ngcontent-%COMP%] .input-container[_ngcontent-%COMP%] mat-icon.search[_ngcontent-%COMP%], .container[_ngcontent-%COMP%] .input-container[_ngcontent-%COMP%] mat-icon.clear[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px}.container[_ngcontent-%COMP%] .input-container[_ngcontent-%COMP%] mat-icon.clear[_ngcontent-%COMP%]{opacity:.6;cursor:pointer}.container[_ngcontent-%COMP%] .input-container[_ngcontent-%COMP%] mat-icon.clear[_ngcontent-%COMP%]:hover{opacity:.9}.container[_ngcontent-%COMP%] .input-container[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{height:24px;border:none;outline:none;box-sizing:border-box;padding:0 4px;font-size:12px;flex-grow:1}.container[_ngcontent-%COMP%] .input-container[_ngcontent-%COMP%] .btn-clear-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center}.container[_ngcontent-%COMP%] .input-container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;cursor:pointer;color:#999;opacity:.8}.container[_ngcontent-%COMP%] .input-container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]:hover{opacity:1}.container[_ngcontent-%COMP%] .input-container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px}.container[_ngcontent-%COMP%] .input-container[_ngcontent-%COMP%]:has(input:focus) mat-icon.search[_ngcontent-%COMP%]{color:#1a73e8}.container[_ngcontent-%COMP%] .search-results-container[_ngcontent-%COMP%]{overflow:hidden;position:absolute;top:calc(100% + 12px);left:-4px;border:1px solid #ccc;border-radius:4px;width:380px;display:flex;flex-direction:column;background-color:#fff;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.container[_ngcontent-%COMP%] .search-results-container[_ngcontent-%COMP%] .title-container[_ngcontent-%COMP%]{background-color:#f6f6f6;border-bottom:1px solid #ddd;box-sizing:border-box;padding:0 10px 10px}.container[_ngcontent-%COMP%] .search-results-container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{height:28px;min-height:28px;font-size:12px;display:flex;align-items:center;justify-content:space-between}.container[_ngcontent-%COMP%] .search-results-container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%] .title-label[_ngcontent-%COMP%]{white-space:nowrap}.container[_ngcontent-%COMP%] .search-results-container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{flex-grow:1;min-height:0;overflow-y:auto;padding-bottom:6px}.container[_ngcontent-%COMP%] .search-results-container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .empty-results[_ngcontent-%COMP%]{padding:12px 8px 6px;display:flex;align-items:center;font-size:12px;color:#ccc}.container[_ngcontent-%COMP%] .search-results-container[_ngcontent-%COMP%] .search-result-type-selector-container[_ngcontent-%COMP%]{display:flex;align-items:center;font-size:12px;margin-top:2px}.container[_ngcontent-%COMP%] .search-results-container[_ngcontent-%COMP%] .search-result-type-selector-container[_ngcontent-%COMP%] .options-container[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px}.container[_ngcontent-%COMP%] .search-results-container[_ngcontent-%COMP%] .search-result-type-selector-container[_ngcontent-%COMP%] .option-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #ccc;padding:4px 14px;border-radius:6px;background-color:#fff;color:#474747}.container[_ngcontent-%COMP%] .search-results-container[_ngcontent-%COMP%] .search-result-type-selector-container[_ngcontent-%COMP%] .option-container.selected[_ngcontent-%COMP%]{border-color:#a3c9ff;background-color:#a3c9ff;color:#001d35}.container[_ngcontent-%COMP%] .search-results-container[_ngcontent-%COMP%] .search-result-type-selector-container[_ngcontent-%COMP%] .option-container.selected[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#001d35}.container[_ngcontent-%COMP%] .search-results-container[_ngcontent-%COMP%] .search-result-type-selector-container[_ngcontent-%COMP%] .option-container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]{width:18px;height:18px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;margin-right:4px}.container[_ngcontent-%COMP%] .search-results-container[_ngcontent-%COMP%] .search-result-type-selector-container[_ngcontent-%COMP%] .option-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px;color:#474747}.container[_ngcontent-%COMP%] .search-results-container[_ngcontent-%COMP%] .search-result-type-selector-container[_ngcontent-%COMP%] .option-container[_ngcontent-%COMP%] .option-label[_ngcontent-%COMP%]{font-size:12px;font-family:Google Sans Text,Arial,Helvetica,sans-serif;letter-spacing:normal}.container[_ngcontent-%COMP%] .footer[_ngcontent-%COMP%]{height:32px;min-height:32px;background-color:#f6f6f6;border-top:1px solid #ddd;box-sizing:border-box;padding:0 10px;font-size:12px;display:flex;align-items:center;color:#777}.container[_ngcontent-%COMP%] .footer[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;height:16px;width:16px;color:#777;margin-right:4px}.container[_ngcontent-%COMP%] .no-matches[_ngcontent-%COMP%]{position:absolute;top:calc(100% + 12px);left:-4px;color:#999;padding:8px;border:1px solid #ccc;border-radius:4px;background-color:#fff;font-size:12px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a} .model-explorer-search-help-popup{padding:12px;font-size:12px;background-color:#fff} .model-explorer-search-help-popup ul{margin-block-end:0} .model-explorer-search-help-popup .code{display:inline-block;background-color:#fffdd0;font-family:monospace} .model-explorer-search-help-popup .code.regex{background-color:#e6d0ff} +`],changeDetection:0})}return i})();var Gpe=["searchInput"],jpe=["content"];function Wpe(i,e){if(i&1){let t=ne();v(0,"div",11),H("click",function(){B(t);let r=I();return V(r.handleClickClearSearchText())}),v(1,"mat-icon",12),S(2,"close"),b()()}}function $pe(i,e){if(i&1){let t=ne();v(0,"paginator",25),H("change",function(r){B(t);let o=I(2);return V(o.handlePaginatorChanged(r))}),b()}if(i&2){let t=I(2);R("pageSize",t.pageSize)("itemsCount",t.resultsCount)}}function qpe(i,e){if(i&1){let t=ne();v(0,"div",26),H("click",function(){let r=B(t).$implicit,o=I(2);return V(o.updateSelectedResultTypes(r))}),v(1,"div",27)(2,"mat-icon"),S(3),b()(),v(4,"div",28),S(5),b()()}if(i&2){let t=e.$implicit;re("selected",t.selected),w(3),st(t.matchType),w(2),Se(" ",t.label," ")}}function Ype(i,e){if(i&1&&ee(0,"io-tree",22),i&2){let t=I(2);R("data",t.curSearchResultsData)("rendererId",t.rendererId)("tooltipPosition","right")("showLocator",!1)}}function Xpe(i,e){i&1&&(v(0,"div",23),S(1," No matching results "),b())}function Zpe(i,e){if(i&1&&(v(0,"div",13)(1,"div",14)(2,"div",15)(3,"div",16),S(4),b(),$(5,$pe,1,2,"paginator",17),b(),v(6,"div",18)(7,"div",19),rn(8,qpe,6,4,"div",20,gr),b()()(),v(10,"div",21,2),$(12,Ype,1,4,"io-tree",22)(13,Xpe,2,0,"div",23),b(),v(14,"div",24)(15,"mat-icon"),S(16,"tips_and_updates"),b(),S(17," Click to locate node. Alt+Click to locate and select node. "),b()()),i&2){let t=I();Jt("max-height",t.searchResultsContainerMaxHeight,"px"),w(4),Se(" ",t.searchResultsTitle," "),w(),oe(t.showPaginator?5:-1),w(3),on(t.searchResultTypes),w(4),oe(t.resultsCount>0?12:13)}}function Qpe(i,e){i&1&&(v(0,"div",29),S(1," No matching results "),b())}function Kpe(i,e){i&1&&(v(0,"div",30),S(1," Use regex to match nodes by label, attributes, input/output node label, and input/output metadata. "),ee(2,"br")(3,"br"),S(4," For attributes and I/O metadata, regex will try to match "),v(5,"span",31),S(6),b(),S(7," or "),v(8,"span",31),S(9),b(),S(10,". "),ee(11,"br")(12,"br"),S(13," Examples:"),ee(14,"br"),v(15,"ul")(16,"li")(17,"span",32),S(18,"axis:"),b(),S(19," will match attributes whose key is "),v(20,"span",31),S(21,"axis"),b(),S(22,". "),b(),v(23,"li")(24,"span",32),S(25,"padding=[SAME|VALID]"),b(),S(26," will match attributes whose key is "),v(27,"span",31),S(28,"padding"),b(),S(29," and value is either "),v(30,"span",31),S(31,"SAME"),b(),S(32," or "),v(33,"span",31),S(34,"VALID"),b(),S(35,". "),b()()()),i&2&&(w(6),Jl("","{","key","}",":","{","value","}",""),w(3),Jl("","{","key","}","=","{","value","}",""))}var gj=(()=>{class i{appService;changeDetectorRef;destroyRef;curModelGraph;rendererId;searchInput;content;curSearchText=new vr("");searchResultTypes=[{matchType:xt.NODE_LABEL,label:"Label",selected:!0},{matchType:xt.ATTRIBUTE,label:"Attrs",selected:!0},{matchType:xt.INPUT_METADATA,label:"Inputs",selected:!0},{matchType:xt.OUTPUT_METADATA,label:"Outputs",selected:!0}];searchResultTypeSelectorOverlaySize={minWidth:0,minHeight:0};searchResultTypeSelectorOverlayPositions=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"}];pageSize;curSearchMatchedNodes=[];curSearchMatchData=[];curSearchResultsData;searching=!1;curPageIndex=0;constructor(t,n,r){this.appService=t,this.changeDetectorRef=n,this.destroyRef=r,this.pageSize=this.appService.testMode?12:50,this.curSearchText.valueChanges.pipe(En(()=>{this.searching=!0,this.changeDetectorRef.markForCheck()}),Oo(300),Ei(this.destroyRef)).subscribe(o=>{this.handleSearch((o?.toLowerCase()||"").trim())}),this.appService.searchKeyClicked.pipe(Ei(this.destroyRef)).subscribe(()=>{this.rendererId===this.appService.curSelectedRenderer()?.id&&this.searchInput.nativeElement.focus()})}handleClickClearSearchText(){this.curSearchText.setValue(""),this.handleSearch("")}updateSelectedResultTypes(t){t.selected=!t.selected,this.changeDetectorRef.markForCheck(),this.handleSearch(this.curSearchText.value||""),setTimeout(()=>{this.content.nativeElement.scrollTop=0})}handlePaginatorChanged(t){this.curPageIndex=t,this.updatePagedResults()}getDisableSearchResultTypeOption(t){return this.searchResultTypes.filter(n=>n.selected).length===1&&t.selected}get searchResultsTitle(){let t=this.curSearchMatchedNodes?.length||0;return`${t} result${t===1?"":"s"}`}get showClearButton(){return(this.curSearchText.value||"").trim()!==""}get showResultsPanel(){return!this.searching&&(this.curSearchText.value||"").trim()!==""&&!this.showNoMatches}get showNoMatches(){return!this.searching&&(this.curSearchText.value||"").trim()!==""&&this.curSearchMatchedNodes.length===0&&this.searchResultTypes.every(t=>t.selected)}get resultsCount(){return this.curSearchMatchedNodes.length}get searchResultsContainerMaxHeight(){return document.body.offsetHeight-300}get showPaginator(){return this.resultsCount>this.pageSize}handleSearch(t){if(!t){this.curPageIndex=0,this.curSearchResultsData=void 0,this.curSearchMatchedNodes=[],this.changeDetectorRef.markForCheck(),this.searching=!1,this.appService.clearSearchResults(this.rendererId);return}let n=[],r=[],o={results:{}},s=new Set(this.searchResultTypes.filter(a=>a.selected).map(a=>a.matchType));try{let a=new RegExp(t,"i");for(let c of this.curModelGraph.nodes){if(St(c)&&c.hideInLayout)continue;let{matches:l,matchTypes:d}=XI(s,a,c,this.curModelGraph);l.length>0&&(n.push(c),r.push({matches:l,matchTypes:d}),o.results[c.id]=l)}this.appService.setSearchResults(this.rendererId,o)}catch(a){console.warn("Failed to search",a)}this.curPageIndex=0,this.curSearchMatchedNodes=[...n],this.curSearchMatchData=r,this.updatePagedResults(),this.searching=!1,this.changeDetectorRef.markForCheck()}updatePagedResults(){this.curSearchResultsData=uc(this.curSearchMatchedNodes.slice(this.curPageIndex*this.pageSize,(this.curPageIndex+1)*this.pageSize),[],"incoming",void 0,this.curSearchMatchData.slice(this.curPageIndex*this.pageSize,(this.curPageIndex+1)*this.pageSize))}static \u0275fac=function(n){return new(n||i)(M(at),M(Ne),M(Fi))};static \u0275cmp=ce({type:i,selectors:[["search-bar"]],viewQuery:function(n,r){if(n&1&&(Ee(Gpe,5),Ee(jpe,5)),n&2){let o;be(o=ye())&&(r.searchInput=o.first),be(o=ye())&&(r.content=o.first)}},inputs:{curModelGraph:"curModelGraph",rendererId:"rendererId"},standalone:!0,features:[le],decls:14,vars:6,consts:[["searchInput",""],["helpPopup",""],["content",""],[1,"container"],[1,"input-container"],[1,"search"],["placeholder","Search nodes/layers by regex",3,"formControl"],["class","btn-clear-container",3,"click",4,"ngIf"],[1,"icon-container",3,"bubble","hoverDelayMs"],["class","search-results-container",3,"max-height",4,"ngIf"],["class","no-matches",4,"ngIf"],[1,"btn-clear-container",3,"click"],[1,"clear"],[1,"search-results-container"],[1,"title-container"],[1,"title"],[1,"title-label"],[3,"pageSize","itemsCount"],[1,"search-result-type-selector-container"],[1,"options-container"],[1,"option-container",3,"selected"],[1,"content"],[3,"data","rendererId","tooltipPosition","showLocator"],[1,"empty-results"],[1,"footer"],[3,"change","pageSize","itemsCount"],[1,"option-container",3,"click"],[1,"icon-container"],[1,"option-label"],[1,"no-matches"],[1,"model-explorer-search-help-popup"],[1,"code"],[1,"code","regex"]],template:function(n,r){if(n&1&&(v(0,"div",3)(1,"div",4)(2,"mat-icon",5),S(3,"search"),b(),ee(4,"input",6,0),$(6,Wpe,3,0,"div",7),v(7,"div",8)(8,"mat-icon"),S(9,"help_outline"),b()()(),$(10,Zpe,18,5,"div",9)(11,Qpe,2,0,"div",10),b(),$(12,Kpe,36,8,"ng-template",null,1,Tt)),n&2){let o=ve(13);w(4),R("formControl",r.curSearchText),w(2),R("ngIf",r.showClearButton),w(),R("bubble",o)("hoverDelayMs",100),w(3),R("ngIf",r.showResultsPanel),w(),R("ngIf",r.showNoMatches)}},dependencies:[Hn,Ae,Tn,Sl,FC,tt,pt,ga,df,br,Xs,Ho,vo],styles:[`.container[_ngcontent-%COMP%]{position:relative;overflow:visible;background-color:#fff;border-radius:99px;height:30px;display:flex;align-items:center;padding:0 8px}.container[_ngcontent-%COMP%] .input-container[_ngcontent-%COMP%]{display:flex;align-items:center;width:250px}.container[_ngcontent-%COMP%] .input-container[_ngcontent-%COMP%] mat-icon.search[_ngcontent-%COMP%], .container[_ngcontent-%COMP%] .input-container[_ngcontent-%COMP%] mat-icon.clear[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px}.container[_ngcontent-%COMP%] .input-container[_ngcontent-%COMP%] mat-icon.clear[_ngcontent-%COMP%]{opacity:.6;cursor:pointer}.container[_ngcontent-%COMP%] .input-container[_ngcontent-%COMP%] mat-icon.clear[_ngcontent-%COMP%]:hover{opacity:.9}.container[_ngcontent-%COMP%] .input-container[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{height:24px;border:none;outline:none;box-sizing:border-box;padding:0 4px;font-size:12px;flex-grow:1}.container[_ngcontent-%COMP%] .input-container[_ngcontent-%COMP%] .btn-clear-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center}.container[_ngcontent-%COMP%] .input-container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;cursor:pointer;color:#999;opacity:.8}.container[_ngcontent-%COMP%] .input-container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]:hover{opacity:1}.container[_ngcontent-%COMP%] .input-container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px}.container[_ngcontent-%COMP%] .input-container[_ngcontent-%COMP%]:has(input:focus) mat-icon.search[_ngcontent-%COMP%]{color:#1a73e8}.container[_ngcontent-%COMP%] .search-results-container[_ngcontent-%COMP%]{overflow:hidden;position:absolute;top:calc(100% + 12px);left:-4px;border:1px solid #ccc;border-radius:4px;width:380px;display:flex;flex-direction:column;background-color:#fff;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.container[_ngcontent-%COMP%] .search-results-container[_ngcontent-%COMP%] .title-container[_ngcontent-%COMP%]{background-color:#f6f6f6;border-bottom:1px solid #ddd;box-sizing:border-box;padding:0 10px 10px}.container[_ngcontent-%COMP%] .search-results-container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{height:28px;min-height:28px;font-size:12px;display:flex;align-items:center;justify-content:space-between}.container[_ngcontent-%COMP%] .search-results-container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%] .title-label[_ngcontent-%COMP%]{white-space:nowrap}.container[_ngcontent-%COMP%] .search-results-container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{flex-grow:1;min-height:0;overflow-y:auto;padding-bottom:6px}.container[_ngcontent-%COMP%] .search-results-container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .empty-results[_ngcontent-%COMP%]{padding:12px 8px 6px;display:flex;align-items:center;font-size:12px;color:#ccc}.container[_ngcontent-%COMP%] .search-results-container[_ngcontent-%COMP%] .search-result-type-selector-container[_ngcontent-%COMP%]{display:flex;align-items:center;font-size:12px;margin-top:2px}.container[_ngcontent-%COMP%] .search-results-container[_ngcontent-%COMP%] .search-result-type-selector-container[_ngcontent-%COMP%] .options-container[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px}.container[_ngcontent-%COMP%] .search-results-container[_ngcontent-%COMP%] .search-result-type-selector-container[_ngcontent-%COMP%] .option-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #ccc;padding:4px 14px;border-radius:6px;background-color:#fff;color:#474747}.container[_ngcontent-%COMP%] .search-results-container[_ngcontent-%COMP%] .search-result-type-selector-container[_ngcontent-%COMP%] .option-container.selected[_ngcontent-%COMP%]{border-color:#a3c9ff;background-color:#a3c9ff;color:#001d35}.container[_ngcontent-%COMP%] .search-results-container[_ngcontent-%COMP%] .search-result-type-selector-container[_ngcontent-%COMP%] .option-container.selected[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#001d35}.container[_ngcontent-%COMP%] .search-results-container[_ngcontent-%COMP%] .search-result-type-selector-container[_ngcontent-%COMP%] .option-container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]{width:18px;height:18px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;margin-right:4px}.container[_ngcontent-%COMP%] .search-results-container[_ngcontent-%COMP%] .search-result-type-selector-container[_ngcontent-%COMP%] .option-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px;color:#474747}.container[_ngcontent-%COMP%] .search-results-container[_ngcontent-%COMP%] .search-result-type-selector-container[_ngcontent-%COMP%] .option-container[_ngcontent-%COMP%] .option-label[_ngcontent-%COMP%]{font-size:12px;font-family:Google Sans Text,Arial,Helvetica,sans-serif;letter-spacing:normal}.container[_ngcontent-%COMP%] .footer[_ngcontent-%COMP%]{height:32px;min-height:32px;background-color:#f6f6f6;border-top:1px solid #ddd;box-sizing:border-box;padding:0 10px;font-size:12px;display:flex;align-items:center;color:#777}.container[_ngcontent-%COMP%] .footer[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;height:16px;width:16px;color:#777;margin-right:4px}.container[_ngcontent-%COMP%] .no-matches[_ngcontent-%COMP%]{position:absolute;top:calc(100% + 12px);left:-4px;color:#999;padding:8px;border:1px solid #ccc;border-radius:4px;background-color:#fff;font-size:12px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a} .model-explorer-search-help-popup{padding:12px;font-size:12px;background-color:#fff} .model-explorer-search-help-popup ul{margin-block-end:0} .model-explorer-search-help-popup .code{display:inline-block;background-color:#fffdd0;font-family:monospace} .model-explorer-search-help-popup .code.regex{background-color:#e6d0ff} @@ -3744,7 +3745,7 @@ void main() { -`],changeDetection:0})}return i})();var Gpe=["dialog"],jpe=["trigger"];function Wpe(i,e){i&1&&S(0," Maximum state count reached ")}function $pe(i,e){i&1&&S(0," Save the current graph state ")}function qpe(i,e){if(i&1&&(v(0,"div",7),W(1,Wpe,1,0)(2,$pe,1,0),v(3,"div",8),S(4," The saved state can be restored by clicking the corresponding state number. You can save up to 9 states. "),b()()),i&2){let t=I();w(),ae(t.disableAddSnapshotButton?1:2)}}function Ype(i,e){if(i&1){let t=ie();v(0,"div",12)(1,"div",13)(2,"div"),S(3),b(),v(4,"div",14),H("click",function(){V(t);let r=I().index,o=I(2);return z(o.handleClickDeleteSnapshot(r))}),v(5,"mat-icon"),S(6,"delete"),b(),S(7," Delete "),b()(),ee(8,"canvas"),b()}if(i&2){let t=I(),n=t.$implicit,r=t.index,o=I(2);w(3),Me("Shortcut key: ",r+1,""),w(5),tn("width",o.getSnapshotCanvasWidth(n,!0),"px")("height",o.getSnapshotCanvasHeight(n,!0),"px")}}function Xpe(i,e){if(i&1){let t=ie();v(0,"div",11,1),H("opened",function(){let r=V(t).$implicit,o=I(2);return z(o.handleSnapshotPopupOpened(r))})("click",function(){let r=V(t).index,o=I(2);return z(o.handleClickSnapshot(r))}),S(3),W(4,Ype,9,5,"ng-template",null,2,kt),b()}if(i&2){let t=e.index,n=ve(5),r=I(2);N("bubble",n)("overlaySize",r.snapshotPopupSize)("overlayPositions",r.snapshotPopupPosition)("hoverDelayMs",150),w(3),Me(" ",t+1," ")}}function Zpe(i,e){if(i&1&&(v(0,"div",9),W(1,Xpe,6,5,"div",10),b()),i&2){let t=I();w(),N("ngForOf",t.curSnapshots)("ngForTrackBy",t.trackBySnapshotId)}}var Qpe=new Set(["1","2","3","4","5","6","7","8","9"]),uj=(()=>{class i{appService;changeDetectorRef;paneId;rendererId;snapshotPopups=new Yi;snapshotTriggers=new Yi;helpPopupSize={minWidth:0,minHeight:0,maxWidth:340};snapshotPopupSize={maxWidth:1e3,maxHeight:1e3};snapshotPopupPosition=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top",offsetY:12}];curSnapshots=[];curModelGraph;constructor(t,n){this.appService=t,this.changeDetectorRef=n,lt(()=>{let r=this.appService.getPaneById(this.paneId);this.curModelGraph=r?.modelGraph,r?.modelGraph!=null&&(this.curSnapshots=(r?.snapshots||{})[r.modelGraph.id]||[],this.changeDetectorRef.markForCheck())})}handleKeyboardEvent(t){if(Qpe.has(t.key)&&this.appService.curSelectedRenderer()?.id===this.rendererId&&!Kb()){let n=Number(t.key)-1;if(n<=this.curSnapshots.length-1){this.handleClickSnapshot(n);let r=this.snapshotTriggers.get(n)?.nativeElement;r&&(r.classList.add("clicked"),setTimeout(()=>{r.classList.remove("clicked")},50))}}}handleClickAddSnapshot(){this.disableAddSnapshotButton||this.appService.addSnapshotClicked.next({rendererId:this.rendererId})}handleClickSnapshot(t){let n=this.curSnapshots[t];this.snapshotPopups.get(t)?.closeDialog(),this.appService.curSnapshotToRestore.next({snapshot:n,rendererId:this.rendererId})}handleClickDeleteSnapshot(t){this.curModelGraph&&this.appService.deleteSnapshot(t,this.curModelGraph.id,this.paneId)}handleSnapshotPopupOpened(t){let n=document.querySelector(".model-explorer-snapshot-popup canvas"),r=this.getSnapshotCanvasWidth(t),o=this.getSnapshotCanvasHeight(t);n.width=r,n.height=o;let s=n.getContext("2d");s.imageSmoothingQuality="high",s.drawImage(t.imageBitmap,0,0,r,o),n.classList.add("show")}getSnapshotCanvasWidth(t,n=!1){return t.imageBitmap.width/(n?window.devicePixelRatio:1)}getSnapshotCanvasHeight(t,n=!1){return t.imageBitmap.height/(n?window.devicePixelRatio:1)}trackBySnapshotId(t,n){return n.id}get addSnapshotTooltip(){return this.disableAddSnapshotButton?"Maximum bookmark count reached":"Bookmark the current graph states to restore later"}get disableAddSnapshotButton(){return this.curSnapshots.length>=9}get hasSnapshots(){return this.curSnapshots.length>0}static \u0275fac=function(n){return new(n||i)(M(st),M(Fe))};static \u0275cmp=le({type:i,selectors:[["snapshot-manager"]],viewQuery:function(n,r){if(n&1&&(Te(Gpe,5),Te(jpe,5)),n&2){let o;be(o=ye())&&(r.snapshotPopups=o),be(o=ye())&&(r.snapshotTriggers=o)}},hostBindings:function(n,r){n&1&&H("keypress",function(s){return r.handleKeyboardEvent(s)},!1,W0)},inputs:{paneId:"paneId",rendererId:"rendererId"},standalone:!0,features:[ce],decls:7,vars:6,consts:[["help",""],["dialog","bubble","trigger",""],["snapshotPopup",""],[1,"container"],[1,"mat-icon-container","take-snapshot",3,"click","bubble","overlaySize","hoverDelayMs"],[1,"toolbar-icon"],["class","snapshots-container",4,"ngIf"],[1,"model-explorer-help-popup"],[1,"description"],[1,"snapshots-container"],["class","snapshot",3,"bubble","overlaySize","overlayPositions","hoverDelayMs","opened","click",4,"ngFor","ngForOf","ngForTrackBy"],[1,"snapshot",3,"opened","click","bubble","overlaySize","overlayPositions","hoverDelayMs"],[1,"model-explorer-snapshot-popup"],[1,"info-row"],[1,"icon-container","delete",3,"click"]],template:function(n,r){if(n&1){let o=ie();v(0,"div",3)(1,"div",4),H("click",function(){return V(o),z(r.handleClickAddSnapshot())}),v(2,"mat-icon",5),S(3,"bookmark_add"),b()(),W(4,qpe,5,1,"ng-template",null,0,kt)(6,Zpe,2,2,"div",6),b()}if(n&2){let o=ve(5);w(),se("disabled",r.disableAddSnapshotButton),N("bubble",o)("overlaySize",r.helpPopupSize)("hoverDelayMs",10),w(5),N("ngIf",r.hasSnapshots)}},dependencies:[$n,Ae,Si,Mn,it,_t,Jt],styles:[`.container[_ngcontent-%COMP%]{display:flex;align-items:center;margin-right:3px}.container[_ngcontent-%COMP%] .mat-icon-container[_ngcontent-%COMP%]{width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer}.container[_ngcontent-%COMP%] .mat-icon-container.disabled[_ngcontent-%COMP%]{cursor:default;opacity:.5}.container[_ngcontent-%COMP%] .mat-icon-container.disabled[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]:hover{opacity:.6}.container[_ngcontent-%COMP%] mat-icon.toolbar-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px;opacity:.6}.container[_ngcontent-%COMP%] mat-icon.toolbar-icon[_ngcontent-%COMP%]:hover{opacity:.9}.container[_ngcontent-%COMP%] .snapshots-container[_ngcontent-%COMP%]{display:flex;align-items:center;font-size:11px;margin-left:6px;margin-right:6px;gap:2px}.container[_ngcontent-%COMP%] .snapshots-container[_ngcontent-%COMP%] .snapshot[_ngcontent-%COMP%]{width:16px;height:16px;border-radius:8px;background-color:#7cacf8;color:#fff;box-sizing:border-box;display:flex;align-items:center;justify-content:center;font-weight:500;cursor:pointer}.container[_ngcontent-%COMP%] .snapshots-container[_ngcontent-%COMP%] .snapshot[_ngcontent-%COMP%]:hover, .container[_ngcontent-%COMP%] .snapshots-container[_ngcontent-%COMP%] .snapshot.clicked[_ngcontent-%COMP%]{background-color:#0b57d0;color:#fff} .model-explorer-snapshot-popup{font-size:11px;line-height:12px;background-color:#fff} .model-explorer-snapshot-popup .info-row{color:#333;display:flex;align-items:center;justify-content:space-between;background-color:#f6f6f6;padding:4px 8px;border-bottom:1px solid #ddd} .model-explorer-snapshot-popup .info-row .icon-container{display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:.8} .model-explorer-snapshot-popup .info-row .icon-container:hover{opacity:1} .model-explorer-snapshot-popup .info-row .icon-container mat-icon{font-size:18px;width:18px;height:19px} .model-explorer-snapshot-popup canvas{opacity:0;transition:opacity .2s ease-out} .model-explorer-snapshot-popup canvas.show{opacity:1} +`],changeDetection:0})}return i})();var Jpe=["dialog"],efe=["trigger"];function tfe(i,e){i&1&&S(0," Maximum state count reached ")}function nfe(i,e){i&1&&S(0," Save the current graph state ")}function ife(i,e){if(i&1&&(v(0,"div",7),$(1,tfe,1,0)(2,nfe,1,0),v(3,"div",8),S(4," The saved state can be restored by clicking the corresponding state number. You can save up to 9 states. "),b()()),i&2){let t=I();w(),oe(t.disableAddSnapshotButton?1:2)}}function rfe(i,e){if(i&1){let t=ne();v(0,"div",12)(1,"div",13)(2,"div"),S(3),b(),v(4,"div",14),H("click",function(){B(t);let r=I().index,o=I(2);return V(o.handleClickDeleteSnapshot(r))}),v(5,"mat-icon"),S(6,"delete"),b(),S(7," Delete "),b()(),ee(8,"canvas"),b()}if(i&2){let t=I(),n=t.$implicit,r=t.index,o=I(2);w(3),Se("Shortcut key: ",r+1,""),w(5),Jt("width",o.getSnapshotCanvasWidth(n,!0),"px")("height",o.getSnapshotCanvasHeight(n,!0),"px")}}function ofe(i,e){if(i&1){let t=ne();v(0,"div",11,1),H("opened",function(){let r=B(t).$implicit,o=I(2);return V(o.handleSnapshotPopupOpened(r))})("click",function(){let r=B(t).index,o=I(2);return V(o.handleClickSnapshot(r))}),S(3),$(4,rfe,9,5,"ng-template",null,2,Tt),b()}if(i&2){let t=e.index,n=ve(5),r=I(2);R("bubble",n)("overlaySize",r.snapshotPopupSize)("overlayPositions",r.snapshotPopupPosition)("hoverDelayMs",150),w(3),Se(" ",t+1," ")}}function sfe(i,e){if(i&1&&(v(0,"div",9),$(1,ofe,6,5,"div",10),b()),i&2){let t=I();w(),R("ngForOf",t.curSnapshots)("ngForTrackBy",t.trackBySnapshotId)}}var afe=new Set(["1","2","3","4","5","6","7","8","9"]),_j=(()=>{class i{appService;changeDetectorRef;paneId;rendererId;snapshotPopups=new Zi;snapshotTriggers=new Zi;helpPopupSize={minWidth:0,minHeight:0,maxWidth:340};snapshotPopupSize={maxWidth:1e3,maxHeight:1e3};snapshotPopupPosition=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top",offsetY:12}];curSnapshots=[];curModelGraph;constructor(t,n){this.appService=t,this.changeDetectorRef=n,lt(()=>{let r=this.appService.getPaneById(this.paneId);this.curModelGraph=r?.modelGraph,r?.modelGraph!=null&&(this.curSnapshots=(r?.snapshots||{})[r.modelGraph.id]||[],this.changeDetectorRef.markForCheck())})}handleKeyboardEvent(t){if(afe.has(t.key)&&this.appService.curSelectedRenderer()?.id===this.rendererId&&!ty()){let n=Number(t.key)-1;if(n<=this.curSnapshots.length-1){this.handleClickSnapshot(n);let r=this.snapshotTriggers.get(n)?.nativeElement;r&&(r.classList.add("clicked"),setTimeout(()=>{r.classList.remove("clicked")},50))}}}handleClickAddSnapshot(){this.disableAddSnapshotButton||this.appService.addSnapshotClicked.next({rendererId:this.rendererId})}handleClickSnapshot(t){let n=this.curSnapshots[t];this.snapshotPopups.get(t)?.closeDialog(),this.appService.curSnapshotToRestore.next({snapshot:n,rendererId:this.rendererId})}handleClickDeleteSnapshot(t){this.curModelGraph&&this.appService.deleteSnapshot(t,this.curModelGraph.id,this.paneId)}handleSnapshotPopupOpened(t){let n=document.querySelector(".model-explorer-snapshot-popup canvas"),r=this.getSnapshotCanvasWidth(t),o=this.getSnapshotCanvasHeight(t);n.width=r,n.height=o;let s=n.getContext("2d");s.imageSmoothingQuality="high",s.drawImage(t.imageBitmap,0,0,r,o),n.classList.add("show")}getSnapshotCanvasWidth(t,n=!1){return t.imageBitmap.width/(n?window.devicePixelRatio:1)}getSnapshotCanvasHeight(t,n=!1){return t.imageBitmap.height/(n?window.devicePixelRatio:1)}trackBySnapshotId(t,n){return n.id}get addSnapshotTooltip(){return this.disableAddSnapshotButton?"Maximum bookmark count reached":"Bookmark the current graph states to restore later"}get disableAddSnapshotButton(){return this.curSnapshots.length>=9}get hasSnapshots(){return this.curSnapshots.length>0}static \u0275fac=function(n){return new(n||i)(M(at),M(Ne))};static \u0275cmp=ce({type:i,selectors:[["snapshot-manager"]],viewQuery:function(n,r){if(n&1&&(Ee(Jpe,5),Ee(efe,5)),n&2){let o;be(o=ye())&&(r.snapshotPopups=o),be(o=ye())&&(r.snapshotTriggers=o)}},hostBindings:function(n,r){n&1&&H("keypress",function(s){return r.handleKeyboardEvent(s)},!1,Y0)},inputs:{paneId:"paneId",rendererId:"rendererId"},standalone:!0,features:[le],decls:7,vars:6,consts:[["help",""],["dialog","bubble","trigger",""],["snapshotPopup",""],[1,"container"],[1,"mat-icon-container","take-snapshot",3,"click","bubble","overlaySize","hoverDelayMs"],[1,"toolbar-icon"],["class","snapshots-container",4,"ngIf"],[1,"model-explorer-help-popup"],[1,"description"],[1,"snapshots-container"],["class","snapshot",3,"bubble","overlaySize","overlayPositions","hoverDelayMs","opened","click",4,"ngFor","ngForOf","ngForTrackBy"],[1,"snapshot",3,"opened","click","bubble","overlaySize","overlayPositions","hoverDelayMs"],[1,"model-explorer-snapshot-popup"],[1,"info-row"],[1,"icon-container","delete",3,"click"]],template:function(n,r){if(n&1){let o=ne();v(0,"div",3)(1,"div",4),H("click",function(){return B(o),V(r.handleClickAddSnapshot())}),v(2,"mat-icon",5),S(3,"bookmark_add"),b()(),$(4,ife,5,1,"ng-template",null,0,Tt)(6,sfe,2,2,"div",6),b()}if(n&2){let o=ve(5);w(),re("disabled",r.disableAddSnapshotButton),R("bubble",o)("overlaySize",r.helpPopupSize)("hoverDelayMs",10),w(5),R("ngIf",r.hasSnapshots)}},dependencies:[Hn,Ae,Mi,Tn,tt,pt,Xt],styles:[`.container[_ngcontent-%COMP%]{display:flex;align-items:center;margin-right:3px}.container[_ngcontent-%COMP%] .mat-icon-container[_ngcontent-%COMP%]{width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer}.container[_ngcontent-%COMP%] .mat-icon-container.disabled[_ngcontent-%COMP%]{cursor:default;opacity:.5}.container[_ngcontent-%COMP%] .mat-icon-container.disabled[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]:hover{opacity:.6}.container[_ngcontent-%COMP%] mat-icon.toolbar-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px;opacity:.6}.container[_ngcontent-%COMP%] mat-icon.toolbar-icon[_ngcontent-%COMP%]:hover{opacity:.9}.container[_ngcontent-%COMP%] .snapshots-container[_ngcontent-%COMP%]{display:flex;align-items:center;font-size:11px;margin-left:6px;margin-right:6px;gap:2px}.container[_ngcontent-%COMP%] .snapshots-container[_ngcontent-%COMP%] .snapshot[_ngcontent-%COMP%]{width:16px;height:16px;border-radius:8px;background-color:#7cacf8;color:#fff;box-sizing:border-box;display:flex;align-items:center;justify-content:center;font-weight:500;cursor:pointer}.container[_ngcontent-%COMP%] .snapshots-container[_ngcontent-%COMP%] .snapshot[_ngcontent-%COMP%]:hover, .container[_ngcontent-%COMP%] .snapshots-container[_ngcontent-%COMP%] .snapshot.clicked[_ngcontent-%COMP%]{background-color:#0b57d0;color:#fff} .model-explorer-snapshot-popup{font-size:11px;line-height:12px;background-color:#fff} .model-explorer-snapshot-popup .info-row{color:#333;display:flex;align-items:center;justify-content:space-between;background-color:#f6f6f6;padding:4px 8px;border-bottom:1px solid #ddd} .model-explorer-snapshot-popup .info-row .icon-container{display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:.8} .model-explorer-snapshot-popup .info-row .icon-container:hover{opacity:1} .model-explorer-snapshot-popup .info-row .icon-container mat-icon{font-size:18px;width:18px;height:19px} .model-explorer-snapshot-popup canvas{opacity:0;transition:opacity .2s ease-out} .model-explorer-snapshot-popup canvas.show{opacity:1} @@ -3762,7 +3763,7 @@ void main() { -`],changeDetection:0})}return i})();function Kpe(i,e){i&1&&(v(0,"mat-icon",2),S(1,"chevron_right"),b())}function Jpe(i,e){if(i&1){let t=ie();v(0,"div",1),H("click",function(){let r=V(t).$index,o=I();return z(o.handleClickItem(r))}),S(1),b(),W(2,Kpe,2,0,"mat-icon",2)}if(i&2){let t=e.$implicit,n=e.$index,r=I();se("current",n===r.curSubgraphBreadcrumbs.length-1),w(),Me(" ",t.graphId," "),w(),ae(n!==r.curSubgraphBreadcrumbs.length-1?2:-1)}}var hj=(()=>{class i{appService;changeDetectorRef;paneId;curSubgraphBreadcrumbs=[];savedSubgraphBreadcrumbs;constructor(t,n){this.appService=t,this.changeDetectorRef=n,lt(()=>{let o=this.appService.getPaneById(this.paneId)?.subgraphBreadcrumbs;o!==this.savedSubgraphBreadcrumbs&&(this.savedSubgraphBreadcrumbs=o,this.curSubgraphBreadcrumbs=o||[],this.changeDetectorRef.markForCheck())})}handleClickItem(t){if(t===this.curSubgraphBreadcrumbs.length-1)return;this.appService.setCurrentSubgraphBreadcrumb(this.paneId,t);let n=this.curSubgraphBreadcrumbs[t],r=n.snapshot;if(r)if(n.graphId===this.appService.getPaneById(this.paneId)?.modelGraph?.id)this.appService.curSnapshotToRestore.next({rendererId:this.paneId,snapshot:r});else{let o=this.appService.getGraphById(n.graphId);o&&this.appService.selectGraphInCurrentPane(o,r.flattenLayers,r)}}static \u0275fac=function(n){return new(n||i)(M(st),M(Fe))};static \u0275cmp=le({type:i,selectors:[["subgraph-breadcrumbs"]],inputs:{paneId:"paneId"},standalone:!0,features:[ce],decls:3,vars:0,consts:[[1,"container"],[1,"item",3,"click"],[1,"separator"]],template:function(n,r){n&1&&(v(0,"div",0),ln(1,Jpe,3,4,null,null,Kr),b()),n&2&&(w(),cn(r.curSubgraphBreadcrumbs))},dependencies:[Ae,it,_t,Jt],styles:[`.container[_ngcontent-%COMP%]{border:1px solid #3876c7;background-color:#d5e7ff;border-radius:4px;box-sizing:border-box;padding:4px 8px;display:flex;align-items:center;font-size:13px}.container[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]{display:flex;align-items:center;color:#777}.container[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]:hover:not(.current){cursor:pointer;text-decoration:underline}.container[_ngcontent-%COMP%] .item.current[_ngcontent-%COMP%]{color:#000}.container[_ngcontent-%COMP%] .separator[_ngcontent-%COMP%]{color:#999;font-size:16px;width:16px;height:16px;margin:0 3px} +`],changeDetection:0})}return i})();function cfe(i,e){i&1&&(v(0,"mat-icon",2),S(1,"chevron_right"),b())}function lfe(i,e){if(i&1){let t=ne();v(0,"div",1),H("click",function(){let r=B(t).$index,o=I();return V(o.handleClickItem(r))}),S(1),b(),$(2,cfe,2,0,"mat-icon",2)}if(i&2){let t=e.$implicit,n=e.$index,r=I();re("current",n===r.curSubgraphBreadcrumbs.length-1),w(),Se(" ",t.graphId," "),w(),oe(n!==r.curSubgraphBreadcrumbs.length-1?2:-1)}}var vj=(()=>{class i{appService;changeDetectorRef;paneId;curSubgraphBreadcrumbs=[];savedSubgraphBreadcrumbs;constructor(t,n){this.appService=t,this.changeDetectorRef=n,lt(()=>{let o=this.appService.getPaneById(this.paneId)?.subgraphBreadcrumbs;o!==this.savedSubgraphBreadcrumbs&&(this.savedSubgraphBreadcrumbs=o,this.curSubgraphBreadcrumbs=o||[],this.changeDetectorRef.markForCheck())})}handleClickItem(t){if(t===this.curSubgraphBreadcrumbs.length-1)return;this.appService.setCurrentSubgraphBreadcrumb(this.paneId,t);let n=this.curSubgraphBreadcrumbs[t],r=n.snapshot;if(r)if(n.graphId===this.appService.getPaneById(this.paneId)?.modelGraph?.id)this.appService.curSnapshotToRestore.next({rendererId:this.paneId,snapshot:r});else{let o=this.appService.getGraphById(n.graphId);o&&this.appService.selectGraphInCurrentPane(o,r.flattenLayers,r)}}static \u0275fac=function(n){return new(n||i)(M(at),M(Ne))};static \u0275cmp=ce({type:i,selectors:[["subgraph-breadcrumbs"]],inputs:{paneId:"paneId"},standalone:!0,features:[le],decls:3,vars:0,consts:[[1,"container"],[1,"item",3,"click"],[1,"separator"]],template:function(n,r){n&1&&(v(0,"div",0),rn(1,lfe,3,4,null,null,gr),b()),n&2&&(w(),on(r.curSubgraphBreadcrumbs))},dependencies:[Ae,tt,pt,Xt],styles:[`.container[_ngcontent-%COMP%]{border:1px solid #3876c7;background-color:#d5e7ff;border-radius:4px;box-sizing:border-box;padding:4px 8px;display:flex;align-items:center;font-size:13px}.container[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]{display:flex;align-items:center;color:#777}.container[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]:hover:not(.current){cursor:pointer;text-decoration:underline}.container[_ngcontent-%COMP%] .item.current[_ngcontent-%COMP%]{color:#000}.container[_ngcontent-%COMP%] .separator[_ngcontent-%COMP%]{color:#999;font-size:16px;width:16px;height:16px;margin:0 3px} @@ -3780,7 +3781,7 @@ void main() { -`],changeDetection:0})}return i})();var pj=(i,e)=>e.type;function efe(i,e){i&1&&(v(0,"div",7),S(1," Select data to view on nodes / edges "),b())}function tfe(i,e){if(i&1){let t=ie();v(0,"div",14)(1,"input",15,3),H("keydown.enter",function(){V(t);let r=ve(2);return z(r.blur())})("input",function(){V(t);let r=ve(2),o=I().$implicit,s=I(2);return z(s.setAttrsFilterText(o,r.value))})("change",function(){V(t);let r=I().$implicit,o=I(2);return z(o.handleAttrsFilterChanged(r))}),b(),v(3,"div",16)(4,"mat-icon"),S(5,"help_outline"),b()(),v(6,"div",17),H("click",function(){V(t);let r=ve(2);return z(r.blur())}),v(7,"mat-icon"),S(8,"done"),b()()()}if(i&2){let t=I().$implicit,n=I(2),r=ve(9);w(),N("disabled",!t.selected)("value",n.getAttrsFilterText(t)),w(2),N("bubble",r)("hoverDelayMs",100)}}function nfe(i,e){if(i&1){let t=ie();v(0,"div",12),H("click",function(){let r=V(t).$implicit,o=I(2);return z(o.handleToggleShowOnNode(r))}),ee(1,"input",13),S(2),b(),W(3,tfe,9,4,"div",14)}if(i&2){let t=e.$implicit,n=I(2);w(),N("checked",t.selected),w(),Me(" ",t.type," "),w(),ae(n.getIsAttrs(t)?3:-1)}}function ife(i,e){if(i&1){let t=ie();v(0,"div",12),H("click",function(){let r=V(t).$implicit,o=I(2);return z(o.handleToggleShowOnEdge(r))}),ee(1,"input",13),S(2),b()}if(i&2){let t=e.$implicit;w(),N("checked",t.selected),w(),Me(" ",t.type," ")}}function rfe(i,e){if(i&1&&(v(0,"div",8)(1,"div",9)(2,"div"),S(3,"View on nodes"),b(),v(4,"div",10)(5,"mat-icon"),S(6,"close"),b()()(),ln(7,nfe,4,3,null,null,pj),v(9,"div",9)(10,"div"),S(11,"View on edges"),b()(),ln(12,ife,3,2,"div",11,pj),b()),i&2){let t=I();w(7),cn(t.showOnNodeItems),w(5),cn(t.showOnEdgeItems)}}function ofe(i,e){i&1&&(v(0,"div",18),S(1," Use regex to match "),v(2,"span",19),S(3),b(),S(4," or "),v(5,"span",19),S(6),b(),S(7,". "),ee(8,"br")(9,"br"),S(10," Examples:"),ee(11,"br"),v(12,"ul")(13,"li")(14,"span",20),S(15,"axis:"),b(),S(16," will match attributes whose key is "),v(17,"span",19),S(18,"axis"),b(),S(19,". "),b(),v(20,"li")(21,"span",20),S(22,"padding=[SAME|VALID]"),b(),S(23," will match attributes whose key is "),v(24,"span",19),S(25,"padding"),b(),S(26," and value is either "),v(27,"span",19),S(28,"SAME"),b(),S(29," or "),v(30,"span",19),S(31,"VALID"),b(),S(32,". "),b()()()),i&2&&(w(3),Zc("","{","key","}",":","{","value","}",""),w(3),Zc("","{","key","}","=","{","value","}",""))}var sfe=[Rn.OP_NODE_ID,Rn.OP_ATTRS,Rn.OP_INPUTS,Rn.OP_OUTPUTS,Rn.LAYER_NODE_CHILDREN_COUNT,Rn.LAYER_NODE_DESCENDANTS_COUNT,Rn.LAYER_NODE_ATTRS],afe=[Fl.TENSOR_SHAPE],fj=(()=>{class i{appService;changeDetectorRef;localStorageService;nodeDataProviderExtensionService;rendererId;paneId;inPopup=!1;popup;savedShowOnNodeItemTypes;nodeDataProviderRunNames=Xt(()=>{let t=this.appService.getModelGraphFromPane(this.paneId);return(t?Object.values(this.nodeDataProviderExtensionService.getRunsForModelGraph(t)):[]).map(r=>r.runName)});savedNodeDataProviderRunNames=[];savedShowOnEdgeItemTypes;helpPopupSize={minWidth:0,minHeight:0};viewPopupSize={minWidth:280,minHeight:0};showOnNodeItems=[];showOnEdgeItems=[];curOpAttrsFilterText="";curGroupAttrsFilterText="";opened=!1;constructor(t,n,r,o){this.appService=t,this.changeDetectorRef=n,this.localStorageService=r,this.nodeDataProviderExtensionService=o,lt(()=>{let a=this.appService.getPaneById(this.paneId)?.showOnNodeItemTypes||{},l=this.nodeDataProviderRunNames();if(a===this.savedShowOnNodeItemTypes&&JSON.stringify(l)===JSON.stringify(this.savedNodeDataProviderRunNames))return;this.savedNodeDataProviderRunNames=l,this.savedShowOnNodeItemTypes=a;let c=[];for(let d of sfe){let u={type:d,selected:(a[this.rendererId]||{})[d]?.selected};c.push(u),d===Rn.OP_ATTRS?(u.filterRegex=(a[this.rendererId]||{})[d]?.filterRegex||"",this.curOpAttrsFilterText=u.filterRegex):d===Rn.LAYER_NODE_ATTRS&&(u.filterRegex=(a[this.rendererId]||{})[d]?.filterRegex||"",this.curGroupAttrsFilterText=u.filterRegex)}for(let d of this.savedNodeDataProviderRunNames){let u=`${Na}${d}`;c.push({type:u,selected:(a[this.rendererId]||{})[u]?.selected})}this.showOnNodeItems=c,this.changeDetectorRef.markForCheck()}),lt(()=>{let a=this.appService.getPaneById(this.paneId)?.showOnEdgeItemTypes||{};if(a===this.savedShowOnEdgeItemTypes)return;this.savedShowOnEdgeItemTypes=a;let l=[];for(let c of afe){let d={type:c,selected:(a[this.rendererId]||{})[c]?.selected};l.push(d)}this.showOnEdgeItems=l,this.changeDetectorRef.markForCheck()})}handleClickOnViewOnNode(t){this.opened&&this.popup.closeDialog()}handleToggleShowOnNode(t){this.appService.toggleShowOnNode(this.paneId,this.rendererId,t.type),this.saveShowOnNodeItemsToLocalStorage()}handleToggleShowOnEdge(t){this.appService.toggleShowOnEdge(this.paneId,this.rendererId,t.type),this.saveShowOnEdgeItemsToLocalStorage()}handleAttrsFilterChanged(t){this.appService.setShowOnNodeFilter(this.paneId,this.rendererId,t.type,this.getAttrsFilterText(t)),this.saveShowOnNodeItemsToLocalStorage()}getAttrsFilterText(t){switch(t.type){case Rn.OP_ATTRS:return this.curOpAttrsFilterText;case Rn.LAYER_NODE_ATTRS:return this.curGroupAttrsFilterText;default:return""}}setAttrsFilterText(t,n){switch(t.type){case Rn.OP_ATTRS:this.curOpAttrsFilterText=n;break;case Rn.LAYER_NODE_ATTRS:this.curGroupAttrsFilterText=n;break;default:break}}getIsAttrs(t){return t.type===Rn.OP_ATTRS||t.type===Rn.LAYER_NODE_ATTRS}saveShowOnNodeItemsToLocalStorage(){if(!this.inPopup&&!this.appService.testMode){let t=this.appService.getShowOnNodeItemTypes(this.paneId,this.rendererId),n=Object.keys(t).filter(r=>r.startsWith(Na));for(let r of n)delete t[r];this.localStorageService.setItem(qb,JSON.stringify(t))}}saveShowOnEdgeItemsToLocalStorage(){if(!this.inPopup&&!this.appService.testMode){let t=this.appService.getShowOnEdgeItemTypes(this.paneId,this.rendererId);this.localStorageService.setItem(Yb,JSON.stringify(t))}}static \u0275fac=function(n){return new(n||i)(M(st),M(Fe),M(Vo),M(Cr))};static \u0275cmp=le({type:i,selectors:[["view-on-node"]],viewQuery:function(n,r){if(n&1&&Te(wc,5),n&2){let o;be(o=ye())&&(r.popup=o.first)}},inputs:{rendererId:"rendererId",paneId:"paneId",inPopup:"inPopup"},standalone:!0,features:[ce],decls:10,vars:5,consts:[["help",""],["viewPopup",""],["helpPopup",""],["input",""],[1,"container",3,"bubble","overlaySize","hoverDelayMs"],[1,"mat-icon-container","view",3,"opened","closed","click","bubbleClick","overlaySize"],[1,"toolbar-icon"],[1,"model-explorer-help-popup"],[1,"model-explorer-view-popup"],[1,"label"],["bubbleClose","",1,"icon-container","close"],[1,"show-on-node-item"],[1,"show-on-node-item",3,"click"],["type","checkbox",3,"checked"],[1,"show-on-node-filter"],["placeholder","Filter by regex",1,"input-attrs-filter",3,"keydown.enter","input","change","disabled","value"],[1,"icon-container",3,"bubble","hoverDelayMs"],[1,"icon-container","ok",3,"click"],[1,"model-explorer-view-on-node-help-popup"],[1,"code"],[1,"code","regex"]],template:function(n,r){if(n&1){let o=ie();v(0,"div",4)(1,"div",5),H("opened",function(){return V(o),z(r.opened=!0)})("closed",function(){return V(o),z(r.opened=!1)})("click",function(a){return V(o),z(r.handleClickOnViewOnNode(a))}),v(2,"mat-icon",6),S(3,"visibility"),b()()(),W(4,efe,2,0,"ng-template",null,0,kt)(6,rfe,14,0,"ng-template",null,1,kt)(8,ofe,33,8,"ng-template",null,2,kt)}if(n&2){let o=ve(5),s=ve(7);N("bubble",o)("overlaySize",r.helpPopupSize)("hoverDelayMs",10),w(),N("bubbleClick",s)("overlaySize",r.viewPopupSize)}},dependencies:[$n,wc,Ae,it,_t,Jt],styles:[`.container[_ngcontent-%COMP%] .mat-icon-container[_ngcontent-%COMP%]{width:20px;height:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:.6}.container[_ngcontent-%COMP%] .mat-icon-container[_ngcontent-%COMP%]:hover{opacity:.9}.container[_ngcontent-%COMP%] .mat-icon-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px} .model-explorer-view-popup{padding:10px 12px 12px;font-size:12px;background-color:#fff;display:flex;flex-direction:column} .model-explorer-view-popup .label{font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.0727em;margin-bottom:6px;display:flex;align-items:center;justify-content:space-between} .model-explorer-view-popup .label:not(:first-child){margin-top:12px} .model-explorer-view-popup .label .icon-container{cursor:pointer;opacity:.7;display:flex;align-items:center;justify-content:center} .model-explorer-view-popup .label .icon-container:hover{opacity:1} .model-explorer-view-popup .label mat-icon{font-size:20px;width:20px;height:20px;color:#999} .model-explorer-view-popup .show-on-node-item{display:flex;align-items:center;gap:4px;cursor:pointer;color:#555;-webkit-user-select:none;user-select:none} .model-explorer-view-popup .show-on-node-item input{cursor:pointer} .model-explorer-view-popup .show-on-node-filter{margin:1px 0 4px 25px;display:flex;align-items:center;position:relative} .model-explorer-view-popup .show-on-node-filter:focus-within .icon-container.ok{visibility:visible} .model-explorer-view-popup .show-on-node-filter input{flex-grow:1;box-sizing:border-box;border:1px solid #aaa;border-radius:3px;padding:3px 26px 3px 4px;min-width:200px} .model-explorer-view-popup .show-on-node-filter input::placeholder{color:#aaa} .model-explorer-view-popup .show-on-node-filter .icon-container{display:flex;align-items:center;justify-content:center;opacity:.8;cursor:pointer;margin-left:4px} .model-explorer-view-popup .show-on-node-filter .icon-container:hover{opacity:1} .model-explorer-view-popup .show-on-node-filter .icon-container.ok{position:absolute;right:26px;visibility:hidden} .model-explorer-view-popup .show-on-node-filter .icon-container mat-icon{font-size:16px;width:16px;height:16px;color:#999} .model-explorer-view-on-node-help-popup{padding:12px;font-size:12px;background-color:#fff} .model-explorer-view-on-node-help-popup ul{margin-block-end:0} .model-explorer-view-on-node-help-popup .code{display:inline-block;background-color:#fffdd0;font-family:monospace} .model-explorer-view-on-node-help-popup .code.regex{background-color:#e6d0ff} .cdk-overlay-container:has(.model-explorer-view-popup) .cdk-overlay-backdrop{pointer-events:none} +`],changeDetection:0})}return i})();var bj=(i,e)=>e.type;function dfe(i,e){i&1&&(v(0,"div",7),S(1," Select data to view on nodes / edges "),b())}function ufe(i,e){if(i&1){let t=ne();v(0,"div",14)(1,"input",15,3),H("keydown.enter",function(){B(t);let r=ve(2);return V(r.blur())})("input",function(){B(t);let r=ve(2),o=I().$implicit,s=I(2);return V(s.setAttrsFilterText(o,r.value))})("change",function(){B(t);let r=I().$implicit,o=I(2);return V(o.handleAttrsFilterChanged(r))}),b(),v(3,"div",16)(4,"mat-icon"),S(5,"help_outline"),b()(),v(6,"div",17),H("click",function(){B(t);let r=ve(2);return V(r.blur())}),v(7,"mat-icon"),S(8,"done"),b()()()}if(i&2){let t=I().$implicit,n=I(2),r=ve(9);w(),R("disabled",!t.selected)("value",n.getAttrsFilterText(t)),w(2),R("bubble",r)("hoverDelayMs",100)}}function hfe(i,e){if(i&1){let t=ne();v(0,"div",12),H("click",function(){let r=B(t).$implicit,o=I(2);return V(o.handleToggleShowOnNode(r))}),ee(1,"input",13),S(2),b(),$(3,ufe,9,4,"div",14)}if(i&2){let t=e.$implicit,n=I(2);w(),R("checked",t.selected),w(),Se(" ",t.type," "),w(),oe(n.getIsAttrs(t)?3:-1)}}function pfe(i,e){if(i&1){let t=ne();v(0,"div",12),H("click",function(){let r=B(t).$implicit,o=I(2);return V(o.handleToggleShowOnEdge(r))}),ee(1,"input",13),S(2),b()}if(i&2){let t=e.$implicit;w(),R("checked",t.selected),w(),Se(" ",t.type," ")}}function ffe(i,e){if(i&1&&(v(0,"div",8)(1,"div",9)(2,"div"),S(3,"View on nodes"),b(),v(4,"div",10)(5,"mat-icon"),S(6,"close"),b()()(),rn(7,hfe,4,3,null,null,bj),v(9,"div",9)(10,"div"),S(11,"View on edges"),b()(),rn(12,pfe,3,2,"div",11,bj),b()),i&2){let t=I();w(7),on(t.showOnNodeItems),w(5),on(t.showOnEdgeItems)}}function mfe(i,e){i&1&&(v(0,"div",18),S(1," Use regex to match "),v(2,"span",19),S(3),b(),S(4," or "),v(5,"span",19),S(6),b(),S(7,". "),ee(8,"br")(9,"br"),S(10," Examples:"),ee(11,"br"),v(12,"ul")(13,"li")(14,"span",20),S(15,"axis:"),b(),S(16," will match attributes whose key is "),v(17,"span",19),S(18,"axis"),b(),S(19,". "),b(),v(20,"li")(21,"span",20),S(22,"padding=[SAME|VALID]"),b(),S(23," will match attributes whose key is "),v(24,"span",19),S(25,"padding"),b(),S(26," and value is either "),v(27,"span",19),S(28,"SAME"),b(),S(29," or "),v(30,"span",19),S(31,"VALID"),b(),S(32,". "),b()()()),i&2&&(w(3),Jl("","{","key","}",":","{","value","}",""),w(3),Jl("","{","key","}","=","{","value","}",""))}var gfe=[Nn.OP_NODE_ID,Nn.OP_ATTRS,Nn.OP_INPUTS,Nn.OP_OUTPUTS,Nn.LAYER_NODE_CHILDREN_COUNT,Nn.LAYER_NODE_DESCENDANTS_COUNT,Nn.LAYER_NODE_ATTRS],_fe=[zc.TENSOR_SHAPE],yj=(()=>{class i{appService;changeDetectorRef;localStorageService;nodeDataProviderExtensionService;rendererId;paneId;inPopup=!1;popup;savedShowOnNodeItemTypes;nodeDataProviderRunNames=Bt(()=>{let t=this.appService.getModelGraphFromPane(this.paneId);return(t?Object.values(this.nodeDataProviderExtensionService.getRunsForModelGraph(t)):[]).map(r=>r.runName)});savedNodeDataProviderRunNames=[];savedShowOnEdgeItemTypes;helpPopupSize={minWidth:0,minHeight:0};viewPopupSize={minWidth:280,minHeight:0};showOnNodeItems=[];showOnEdgeItems=[];curOpAttrsFilterText="";curGroupAttrsFilterText="";opened=!1;constructor(t,n,r,o){this.appService=t,this.changeDetectorRef=n,this.localStorageService=r,this.nodeDataProviderExtensionService=o,lt(()=>{let a=this.appService.getPaneById(this.paneId)?.showOnNodeItemTypes||{},c=this.nodeDataProviderRunNames();if(a===this.savedShowOnNodeItemTypes&&JSON.stringify(c)===JSON.stringify(this.savedNodeDataProviderRunNames))return;this.savedNodeDataProviderRunNames=c,this.savedShowOnNodeItemTypes=a;let l=[];for(let d of gfe){let u={type:d,selected:(a[this.rendererId]||{})[d]?.selected};l.push(u),d===Nn.OP_ATTRS?(u.filterRegex=(a[this.rendererId]||{})[d]?.filterRegex||"",this.curOpAttrsFilterText=u.filterRegex):d===Nn.LAYER_NODE_ATTRS&&(u.filterRegex=(a[this.rendererId]||{})[d]?.filterRegex||"",this.curGroupAttrsFilterText=u.filterRegex)}for(let d of this.savedNodeDataProviderRunNames){let u=`${La}${d}`;l.push({type:u,selected:(a[this.rendererId]||{})[u]?.selected})}this.showOnNodeItems=l,this.changeDetectorRef.markForCheck()}),lt(()=>{let a=this.appService.getPaneById(this.paneId)?.showOnEdgeItemTypes||{};if(a===this.savedShowOnEdgeItemTypes)return;this.savedShowOnEdgeItemTypes=a;let c=[];for(let l of _fe){let d={type:l,selected:(a[this.rendererId]||{})[l]?.selected};c.push(d)}this.showOnEdgeItems=c,this.changeDetectorRef.markForCheck()})}handleClickOnViewOnNode(t){this.opened&&this.popup.closeDialog()}handleToggleShowOnNode(t){this.appService.toggleShowOnNode(this.paneId,this.rendererId,t.type),this.saveShowOnNodeItemsToLocalStorage()}handleToggleShowOnEdge(t){this.appService.toggleShowOnEdge(this.paneId,this.rendererId,t.type),this.saveShowOnEdgeItemsToLocalStorage()}handleAttrsFilterChanged(t){this.appService.setShowOnNodeFilter(this.paneId,this.rendererId,t.type,this.getAttrsFilterText(t)),this.saveShowOnNodeItemsToLocalStorage()}getAttrsFilterText(t){switch(t.type){case Nn.OP_ATTRS:return this.curOpAttrsFilterText;case Nn.LAYER_NODE_ATTRS:return this.curGroupAttrsFilterText;default:return""}}setAttrsFilterText(t,n){switch(t.type){case Nn.OP_ATTRS:this.curOpAttrsFilterText=n;break;case Nn.LAYER_NODE_ATTRS:this.curGroupAttrsFilterText=n;break;default:break}}getIsAttrs(t){return t.type===Nn.OP_ATTRS||t.type===Nn.LAYER_NODE_ATTRS}saveShowOnNodeItemsToLocalStorage(){if(!this.inPopup&&!this.appService.testMode){let t=this.appService.getShowOnNodeItemTypes(this.paneId,this.rendererId),n=Object.keys(t).filter(r=>r.startsWith(La));for(let r of n)delete t[r];this.localStorageService.setItem(Zb,JSON.stringify(t))}}saveShowOnEdgeItemsToLocalStorage(){if(!this.inPopup&&!this.appService.testMode){let t=this.appService.getShowOnEdgeItemTypes(this.paneId,this.rendererId);this.localStorageService.setItem(Qb,JSON.stringify(t))}}static \u0275fac=function(n){return new(n||i)(M(at),M(Ne),M(no),M(Mr))};static \u0275cmp=ce({type:i,selectors:[["view-on-node"]],viewQuery:function(n,r){if(n&1&&Ee(Is,5),n&2){let o;be(o=ye())&&(r.popup=o.first)}},inputs:{rendererId:"rendererId",paneId:"paneId",inPopup:"inPopup"},standalone:!0,features:[le],decls:10,vars:5,consts:[["help",""],["viewPopup",""],["helpPopup",""],["input",""],[1,"container",3,"bubble","overlaySize","hoverDelayMs"],[1,"mat-icon-container","view",3,"opened","closed","click","bubbleClick","overlaySize"],[1,"toolbar-icon"],[1,"model-explorer-help-popup"],[1,"model-explorer-view-popup"],[1,"label"],["bubbleClose","",1,"icon-container","close"],[1,"show-on-node-item"],[1,"show-on-node-item",3,"click"],["type","checkbox",3,"checked"],[1,"show-on-node-filter"],["placeholder","Filter by regex",1,"input-attrs-filter",3,"keydown.enter","input","change","disabled","value"],[1,"icon-container",3,"bubble","hoverDelayMs"],[1,"icon-container","ok",3,"click"],[1,"model-explorer-view-on-node-help-popup"],[1,"code"],[1,"code","regex"]],template:function(n,r){if(n&1){let o=ne();v(0,"div",4)(1,"div",5),H("opened",function(){return B(o),V(r.opened=!0)})("closed",function(){return B(o),V(r.opened=!1)})("click",function(a){return B(o),V(r.handleClickOnViewOnNode(a))}),v(2,"mat-icon",6),S(3,"visibility"),b()()(),$(4,dfe,2,0,"ng-template",null,0,Tt)(6,ffe,14,0,"ng-template",null,1,Tt)(8,mfe,33,8,"ng-template",null,2,Tt)}if(n&2){let o=ve(5),s=ve(7);R("bubble",o)("overlaySize",r.helpPopupSize)("hoverDelayMs",10),w(),R("bubbleClick",s)("overlaySize",r.viewPopupSize)}},dependencies:[Hn,Is,Ae,tt,pt,Xt],styles:[`.container[_ngcontent-%COMP%] .mat-icon-container[_ngcontent-%COMP%]{width:20px;height:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:.6}.container[_ngcontent-%COMP%] .mat-icon-container[_ngcontent-%COMP%]:hover{opacity:.9}.container[_ngcontent-%COMP%] .mat-icon-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px} .model-explorer-view-popup{padding:10px 12px 12px;font-size:12px;background-color:#fff;display:flex;flex-direction:column} .model-explorer-view-popup .label{font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.0727em;margin-bottom:6px;display:flex;align-items:center;justify-content:space-between} .model-explorer-view-popup .label:not(:first-child){margin-top:12px} .model-explorer-view-popup .label .icon-container{cursor:pointer;opacity:.7;display:flex;align-items:center;justify-content:center} .model-explorer-view-popup .label .icon-container:hover{opacity:1} .model-explorer-view-popup .label mat-icon{font-size:20px;width:20px;height:20px;color:#999} .model-explorer-view-popup .show-on-node-item{display:flex;align-items:center;gap:4px;cursor:pointer;color:#555;-webkit-user-select:none;user-select:none} .model-explorer-view-popup .show-on-node-item input{cursor:pointer} .model-explorer-view-popup .show-on-node-filter{margin:1px 0 4px 25px;display:flex;align-items:center;position:relative} .model-explorer-view-popup .show-on-node-filter:focus-within .icon-container.ok{visibility:visible} .model-explorer-view-popup .show-on-node-filter input{flex-grow:1;box-sizing:border-box;border:1px solid #aaa;border-radius:3px;padding:3px 26px 3px 4px;min-width:200px} .model-explorer-view-popup .show-on-node-filter input::placeholder{color:#aaa} .model-explorer-view-popup .show-on-node-filter .icon-container{display:flex;align-items:center;justify-content:center;opacity:.8;cursor:pointer;margin-left:4px} .model-explorer-view-popup .show-on-node-filter .icon-container:hover{opacity:1} .model-explorer-view-popup .show-on-node-filter .icon-container.ok{position:absolute;right:26px;visibility:hidden} .model-explorer-view-popup .show-on-node-filter .icon-container mat-icon{font-size:16px;width:16px;height:16px;color:#999} .model-explorer-view-on-node-help-popup{padding:12px;font-size:12px;background-color:#fff} .model-explorer-view-on-node-help-popup ul{margin-block-end:0} .model-explorer-view-on-node-help-popup .code{display:inline-block;background-color:#fffdd0;font-family:monospace} .model-explorer-view-on-node-help-popup .code.regex{background-color:#e6d0ff} .cdk-overlay-container:has(.model-explorer-view-popup) .cdk-overlay-backdrop{pointer-events:none} @@ -3798,7 +3799,7 @@ void main() { -`],changeDetection:0})}return i})();var lfe=["webglRenderer"];function cfe(i,e){if(i&1&&(so(0),ee(1,"search-bar",20)(2,"div",15),ao()),i&2){let t=I(2);w(),N("curModelGraph",t.modelGraph)("rendererId",t.rendererId)}}function dfe(i,e){i&1&&(v(0,"div",21),S(1," Zoom to fit "),v(2,"div",22)(3,"mat-icon"),S(4,"keyboard"),b(),S(5," Shortcut: SPACE "),b()())}function ufe(i,e){i&1&&(v(0,"div",21),S(1," Expand all layers in the graph "),b())}function hfe(i,e){i&1&&(v(0,"div",21),S(1," Collapse all layers in the graph "),b())}function pfe(i,e){if(i&1){let t=ie();v(0,"div",23),H("click",function(){V(t);let r=I(2);return z(r.handleClickExpandAllLayers())}),v(1,"mat-icon",24),S(2,"unfold_more_double"),b()(),W(3,ufe,2,0,"ng-template",null,3,kt),v(5,"div",25),H("click",function(){V(t);let r=I(2);return z(r.handleClickCollapseAllLayers())}),v(6,"mat-icon",26),S(7,"unfold_less_double"),b()(),W(8,hfe,2,0,"ng-template",null,4,kt),ee(10,"div",15)}if(i&2){let t=ve(4),n=ve(9),r=I(2);se("disable",r.disableExpandCollapseAllButton),N("bubble",t)("overlaySize",r.helpPopupSize)("hoverDelayMs",10),w(5),se("disable",r.disableExpandCollapseAllButton),N("bubble",n)("overlaySize",r.helpPopupSize)("hoverDelayMs",10)}}function ffe(i,e){i&1&&(v(0,"div",21),S(1," Flatten all layers in the graph "),v(2,"div",29),S(3," Nodes will be laid out without any layers data "),b()())}function mfe(i,e){if(i&1){let t=ie();v(0,"div",27),H("click",function(){V(t);let r=I(2);return z(r.handleClickFlattenAllLayers())}),v(1,"mat-icon",28),S(2,"layers_clear"),b()(),ee(3,"div",15),W(4,ffe,4,0,"ng-template",null,5,kt)}if(i&2){let t=ve(5),n=I(2);se("enabled",n.flattenAllLayers()),N("bubble",t)("overlaySize",n.helpPopupSize)("hoverDelayMs",10)}}function gfe(i,e){i&1&&(v(0,"span"),S(1,"Disable inputs/outputs tracing"),b())}function _fe(i,e){i&1&&(v(0,"span"),S(1,"Enable inputs/outputs tracing"),b())}function vfe(i,e){if(i&1&&(v(0,"div",21),W(1,gfe,2,0,"span")(2,_fe,2,0,"span"),v(3,"div",29),S(4," Highlight selected op node's ancestors and descendants and dim the rest "),b()()),i&2){let t=I(2);w(),ae(t.tracing?1:2)}}function bfe(i,e){i&1&&(v(0,"div",21),S(1," Download graph as PNG "),v(2,"div",29),S(3," The maximum PNG size is limited to 5000 x 5000 "),b()())}function yfe(i,e){if(i&1){let t=ie();ee(0,"div",15),v(1,"div",30),H("menuOpened",function(){V(t);let r=I(2);return z(r.disableDownloadPngHelpPopup=!0)})("menuClosed",function(){V(t);let r=I(2);return z(r.disableDownloadPngHelpPopup=!1)}),v(2,"mat-icon",31),S(3," image "),b()(),W(4,bfe,4,0,"ng-template",null,6,kt),v(6,"mat-menu",32,7)(8,"div",33),H("click",function(){V(t);let r=I(2);return z(r.handleClickDownloadAsPng(!1))}),S(9," Graph in current viewport "),b(),v(10,"div",33),H("click",function(){V(t);let r=I(2);return z(r.handleClickDownloadAsPng(!0))}),S(11," Full graph "),b(),v(12,"div",34),H("click",function(r){V(t);let o=I(2);return z(o.handleClickToggleTransparentPngBackground(r))}),ee(13,"input",35),S(14," Transparent background "),b()()}if(i&2){let t=ve(5),n=ve(7),r=I(2);w(),N("bubble",t)("overlaySize",r.helpPopupSize)("hoverDelayMs",10)("bubbleDisabled",r.disableDownloadPngHelpPopup)("matMenuTriggerFor",n),w(12),N("formControl",r.transparentPngBackground)}}function xfe(i,e){if(i&1&&(so(0),ee(1,"div",15)(2,"snapshot-manager",36),ao()),i&2){let t=I(2);w(2),N("rendererId",t.rendererId)("paneId",t.paneId)}}function wfe(i,e){if(i&1){let t=ie();v(0,"div",12),W(1,cfe,3,2,"ng-container",13),ee(2,"view-on-node",14)(3,"div",15),v(4,"div",16),H("click",function(){V(t);let r=I();return z(r.handleClickZoomFitIcon())}),v(5,"mat-icon",17),S(6,"fit_screen"),b()(),ee(7,"div",15),W(8,dfe,6,0,"ng-template",null,1,kt)(10,pfe,11,10)(11,mfe,6,5),v(12,"div",18),H("click",function(){V(t);let r=I();return z(r.handleClickTrace())}),v(13,"mat-icon",19),S(14," multiple_stop "),b()(),W(15,vfe,5,1,"ng-template",null,2,kt)(17,yfe,15,6)(18,xfe,3,2,"ng-container",13),b()}if(i&2){let t=ve(9),n=ve(16),r=I();se("in-popup",r.inPopup)("pushed-down",r.showSubgraphBreadcrumbs),w(),N("ngIf",r.showSearchBar),w(),N("rendererId",r.rendererId)("paneId",r.paneId)("inPopup",r.inPopup),w(2),N("bubble",t)("overlaySize",r.helpPopupSize)("hoverDelayMs",10),w(6),ae(r.showExpandCollapseAllLayers?10:-1),w(),ae(r.showFlattenLayers?11:-1),w(),se("enabled",r.tracing),N("bubble",n)("overlaySize",r.helpPopupSize)("hoverDelayMs",10),w(5),ae(r.showDownloadPng?17:-1),w(),N("ngIf",r.showSnapshotManager)}}function Cfe(i,e){if(i&1&&ee(0,"subgraph-breadcrumbs",37),i&2){let t=I();N("paneId",t.paneId)}}var zC=(()=>{class i{appService;changeDetectorRef;modelGraph;rendererId;paneId;rootNodeId;inPopup=!1;openInPopupClicked=new Ie;webglRenderer;helpPopupSize={minWidth:0,minHeight:0,maxWidth:340};flattenAllLayers=Xt(()=>this.appService.getFlattenLayers(this.paneId));disableDownloadPngHelpPopup=!1;transparentPngBackground=new gr(!1);curSubgraphBreadcrumbs=[];constructor(t,n){this.appService=t,this.changeDetectorRef=n,lt(()=>{let r=this.appService.getPaneById(this.paneId);this.curSubgraphBreadcrumbs=r?.subgraphBreadcrumbs||[],this.changeDetectorRef.markForCheck()})}handleOpenOnPopupClicked(t){this.openInPopupClicked.emit(t)}handleClickZoomFitIcon(){this.appService.spaceKeyToZoomFitClicked.next({})}handleClickExpandAllLayers(){this.appService.expandOrCollapseAllGraphLayersClicked.next({expandOrCollapse:!0,rendererId:this.rendererId})}handleClickCollapseAllLayers(){this.appService.expandOrCollapseAllGraphLayersClicked.next({expandOrCollapse:!1,rendererId:this.rendererId})}handleClickFlattenAllLayers(){let t=this.appService.getPaneById(this.paneId)?.selectedNodeInfo?.nodeId;t!=null&&yt(this.modelGraph.nodesById[t])&&this.appService.selectNode(this.paneId,void 0),this.appService.toggleFlattenLayers(this.paneId),this.appService.processGraph(this.paneId,this.appService.getFlattenLayers(this.paneId)),this.appService.curInitialUiState.set(void 0)}handleClickDownloadAsPng(t){this.appService.downloadAsPngClicked.next({rendererId:this.rendererId,fullGraph:t,transparentBackground:this.transparentPngBackground.value===!0})}handleClickTrace(){this.webglRenderer?.toggleIoTrace()}handleClickToggleTransparentPngBackground(t){t.stopPropagation(),this.transparentPngBackground.setValue(!this.transparentPngBackground.value)}getActiveSelectedNodeInfo(){return this.webglRenderer?.getActiveSelectedNodeInfo()}get showSearchBar(){return!this.inPopup}get showExpandCollapseAllLayers(){return!this.inPopup}get showFlattenLayers(){return!this.inPopup}get showDownloadPng(){return!this.inPopup}get showSnapshotManager(){return!this.inPopup}get showSubgraphBreadcrumbs(){return!this.inPopup&&this.curSubgraphBreadcrumbs.length>1}get disableExpandCollapseAllButton(){return this.appService.getFlattenLayers(this.paneId)}get tracing(){return this.webglRenderer?.tracing===!0}get showToolBar(){return!this.appService.config()?.hideToolBar}get isTestMode(){return this.appService.testMode}static \u0275fac=function(n){return new(n||i)(M(st),M(Fe))};static \u0275cmp=le({type:i,selectors:[["renderer-wrapper"]],viewQuery:function(n,r){if(n&1&&Te(lfe,5),n&2){let o;be(o=ye())&&(r.webglRenderer=o.first)}},inputs:{modelGraph:"modelGraph",rendererId:"rendererId",paneId:"paneId",rootNodeId:"rootNodeId",inPopup:"inPopup"},outputs:{openInPopupClicked:"openInPopupClicked"},standalone:!0,features:[ce],decls:5,vars:7,consts:[["webglRenderer",""],["helpZoomToFit",""],["helpTraceIO",""],["helpExpandAll",""],["helpCollapseAll",""],["helpFlattenLayers",""],["helpDownloadPng",""],["menu","matMenu"],[1,"container"],[3,"openInPopupClicked","modelGraph","rendererId","paneId","rootNodeId","inPopup"],[1,"toolbar",3,"in-popup","pushed-down"],[3,"paneId",4,"ngIf"],[1,"toolbar"],[4,"ngIf"],[3,"rendererId","paneId","inPopup"],[1,"vertical-divider"],[1,"mat-icon-container","zoom-fit",3,"click","bubble","overlaySize","hoverDelayMs"],[1,"toolbar-icon"],[1,"mat-icon-container","trace-io",3,"click","bubble","overlaySize","hoverDelayMs"],[1,"toolbar-icon","trace"],[3,"curModelGraph","rendererId"],[1,"model-explorer-help-popup"],[1,"shortcut"],[1,"mat-icon-container","expand-all",3,"click","bubble","overlaySize","hoverDelayMs"],[1,"toolbar-icon","expand-all"],[1,"mat-icon-container","collapse-all",3,"click","bubble","overlaySize","hoverDelayMs"],[1,"toolbar-icon","collapse-all"],[1,"mat-icon-container","flatten-layers",3,"click","bubble","overlaySize","hoverDelayMs"],[1,"toolbar-icon","flatten-layers"],[1,"description"],[1,"mat-icon-container","download-png",3,"menuOpened","menuClosed","bubble","overlaySize","hoverDelayMs","bubbleDisabled","matMenuTriggerFor"],[1,"toolbar-icon","download-png"],[1,"model-explorer-download-png-menu"],[1,"menu-item",3,"click"],[1,"transparent-background-toggle",3,"click"],["type","checkbox",3,"formControl"],[3,"rendererId","paneId"],[3,"paneId"]],template:function(n,r){if(n&1){let o=ie();v(0,"div",8)(1,"webgl-renderer",9,0),H("openInPopupClicked",function(a){return V(o),z(r.handleOpenOnPopupClicked(a))}),b(),W(3,wfe,19,20,"div",10)(4,Cfe,1,1,"subgraph-breadcrumbs",11),b()}n&2&&(w(),N("modelGraph",r.modelGraph)("rendererId",r.rendererId)("paneId",r.paneId)("rootNodeId",r.rootNodeId)("inPopup",r.inPopup),w(2),ae(r.showToolBar?3:-1),w(),N("ngIf",r.showSubgraphBreadcrumbs))},dependencies:[$n,Ae,Mn,In,it,_t,ca,Jo,vc,Jt,_r,Fm,zo,po,dj,uj,hj,fj,AC],styles:[`.container[_ngcontent-%COMP%]{width:100%;height:100%;overflow:hidden;position:relative}.container[_ngcontent-%COMP%] svg-rednerer[_ngcontent-%COMP%], .container[_ngcontent-%COMP%] webgl-rednerer[_ngcontent-%COMP%]{width:100%;height:100%}.container[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%]{position:absolute;top:8px;left:12px;padding:0 8px 0 6px;box-sizing:border-box;height:40px;display:flex;background-color:#edf2fa;border-radius:99px;align-items:center;outline:2px solid white}.container[_ngcontent-%COMP%] .toolbar.in-popup[_ngcontent-%COMP%]{padding-left:10px}.container[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%]:has(search-bar input:focus){border-color:#1a73e8}.container[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%] search-bar[_ngcontent-%COMP%]{margin-right:4px}.container[_ngcontent-%COMP%] .toolbar.pushed-down[_ngcontent-%COMP%]{top:44px}.container[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%] .mat-icon-container[_ngcontent-%COMP%]{width:24px;height:24px;display:flex;align-items:center;justify-content:center}.container[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%] .mat-icon-container.enabled[_ngcontent-%COMP%]{background-color:#ffdeb1;outline:1px solid #ea8600;border-radius:4px}.container[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%] .mat-icon-container.disable[_ngcontent-%COMP%]{opacity:.2;pointer-events:none}.container[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%] mat-icon.toolbar-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px;cursor:pointer;opacity:.6}.container[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%] mat-icon.toolbar-icon[_ngcontent-%COMP%]:hover{opacity:.9}.container[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%] mat-icon.toolbar-icon.expand-all[_ngcontent-%COMP%], .container[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%] mat-icon.toolbar-icon.collapse-all[_ngcontent-%COMP%]{font-size:18px;width:18px;height:18px}.container[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%] mat-icon.toolbar-icon.flatten-layers[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px;border:1px solid transparent}.container[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%] mat-icon.toolbar-icon.trace[_ngcontent-%COMP%]{transform:rotate(90deg);border:1px solid transparent}.container[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%] .vertical-divider[_ngcontent-%COMP%]{width:1px;border-left:1px solid #d0d0d0;margin:2px 5px;height:20px}.container[_ngcontent-%COMP%] subgraph-breadcrumbs[_ngcontent-%COMP%]{position:absolute;top:8px;left:12px} bubble-container:has(.model-explorer-view-popup){border-top-left-radius:0;border-top-right-radius:0} .model-explorer-download-png-menu .menu-item{letter-spacing:normal!important;font-family:Google Sans Text,Arial,Helvetica,sans-serif!important;font-size:12px;padding:0 8px;cursor:pointer;display:flex;align-items:center} .model-explorer-download-png-menu .menu-item:hover{background-color:#eee} .model-explorer-download-png-menu .transparent-background-toggle{display:flex;align-items:center;font-size:12px;letter-spacing:normal;padding:6px 8px 0 4px;border-top:1px solid #ddd;margin-top:8px;cursor:pointer} .model-explorer-download-png-menu .transparent-background-toggle input{cursor:inherit} +`],changeDetection:0})}return i})();var vfe=["webglRenderer"];function bfe(i,e){if(i&1&&(ho(0),ee(1,"search-bar",20)(2,"div",15),po()),i&2){let t=I(2);w(),R("curModelGraph",t.modelGraph)("rendererId",t.rendererId)}}function yfe(i,e){i&1&&(v(0,"div",21),S(1," Zoom to fit "),v(2,"div",22)(3,"mat-icon"),S(4,"keyboard"),b(),S(5," Shortcut: SPACE "),b()())}function xfe(i,e){i&1&&(v(0,"div",21),S(1," Expand all layers in the graph "),b())}function wfe(i,e){i&1&&(v(0,"div",21),S(1," Collapse all layers in the graph "),b())}function Cfe(i,e){if(i&1){let t=ne();v(0,"div",23),H("click",function(){B(t);let r=I(2);return V(r.handleClickExpandAllLayers())}),v(1,"mat-icon",24),S(2,"unfold_more_double"),b()(),$(3,xfe,2,0,"ng-template",null,3,Tt),v(5,"div",25),H("click",function(){B(t);let r=I(2);return V(r.handleClickCollapseAllLayers())}),v(6,"mat-icon",26),S(7,"unfold_less_double"),b()(),$(8,wfe,2,0,"ng-template",null,4,Tt),ee(10,"div",15)}if(i&2){let t=ve(4),n=ve(9),r=I(2);re("disable",r.disableExpandCollapseAllButton),R("bubble",t)("overlaySize",r.helpPopupSize)("hoverDelayMs",10),w(5),re("disable",r.disableExpandCollapseAllButton),R("bubble",n)("overlaySize",r.helpPopupSize)("hoverDelayMs",10)}}function Sfe(i,e){i&1&&(v(0,"div",21),S(1," Flatten all layers in the graph "),v(2,"div",29),S(3," Nodes will be laid out without any layers data "),b()())}function Mfe(i,e){if(i&1){let t=ne();v(0,"div",27),H("click",function(){B(t);let r=I(2);return V(r.handleClickFlattenAllLayers())}),v(1,"mat-icon",28),S(2,"layers_clear"),b()(),ee(3,"div",15),$(4,Sfe,4,0,"ng-template",null,5,Tt)}if(i&2){let t=ve(5),n=I(2);re("enabled",n.flattenAllLayers()),R("bubble",t)("overlaySize",n.helpPopupSize)("hoverDelayMs",10)}}function Efe(i,e){i&1&&(v(0,"span"),S(1,"Disable inputs/outputs tracing"),b())}function Ife(i,e){i&1&&(v(0,"span"),S(1,"Enable inputs/outputs tracing"),b())}function Tfe(i,e){if(i&1&&(v(0,"div",21),$(1,Efe,2,0,"span")(2,Ife,2,0,"span"),v(3,"div",29),S(4," Highlight selected op node's ancestors and descendants and dim the rest "),b()()),i&2){let t=I(2);w(),oe(t.tracing?1:2)}}function Dfe(i,e){i&1&&(v(0,"div",21),S(1," Download graph as PNG "),v(2,"div",29),S(3," The maximum PNG size is limited to 5000 x 5000 "),b()())}function Pfe(i,e){if(i&1){let t=ne();ee(0,"div",15),v(1,"div",30),H("menuOpened",function(){B(t);let r=I(2);return V(r.disableDownloadPngHelpPopup=!0)})("menuClosed",function(){B(t);let r=I(2);return V(r.disableDownloadPngHelpPopup=!1)}),v(2,"mat-icon",31),S(3," image "),b()(),$(4,Dfe,4,0,"ng-template",null,6,Tt),v(6,"mat-menu",32,7)(8,"div",33),H("click",function(){B(t);let r=I(2);return V(r.handleClickDownloadAsPng(!1))}),S(9," Graph in current viewport "),b(),v(10,"div",33),H("click",function(){B(t);let r=I(2);return V(r.handleClickDownloadAsPng(!0))}),S(11," Full graph "),b(),v(12,"div",34),H("click",function(r){B(t);let o=I(2);return V(o.handleClickToggleTransparentPngBackground(r))}),ee(13,"input",35),S(14," Transparent background "),b()()}if(i&2){let t=ve(5),n=ve(7),r=I(2);w(),R("bubble",t)("overlaySize",r.helpPopupSize)("hoverDelayMs",10)("bubbleDisabled",r.disableDownloadPngHelpPopup)("matMenuTriggerFor",n),w(12),R("formControl",r.transparentPngBackground)}}function Ofe(i,e){if(i&1&&(ho(0),ee(1,"div",15)(2,"snapshot-manager",36),po()),i&2){let t=I(2);w(2),R("rendererId",t.rendererId)("paneId",t.paneId)}}function Rfe(i,e){if(i&1){let t=ne();v(0,"div",12),$(1,bfe,3,2,"ng-container",13),ee(2,"view-on-node",14)(3,"div",15),v(4,"div",16),H("click",function(){B(t);let r=I();return V(r.handleClickZoomFitIcon())}),v(5,"mat-icon",17),S(6,"fit_screen"),b()(),ee(7,"div",15),$(8,yfe,6,0,"ng-template",null,1,Tt)(10,Cfe,11,10)(11,Mfe,6,5),v(12,"div",18),H("click",function(){B(t);let r=I();return V(r.handleClickTrace())}),v(13,"mat-icon",19),S(14," multiple_stop "),b()(),$(15,Tfe,5,1,"ng-template",null,2,Tt)(17,Pfe,15,6)(18,Ofe,3,2,"ng-container",13),b()}if(i&2){let t=ve(9),n=ve(16),r=I();re("in-popup",r.inPopup)("pushed-down",r.showSubgraphBreadcrumbs),w(),R("ngIf",r.showSearchBar),w(),R("rendererId",r.rendererId)("paneId",r.paneId)("inPopup",r.inPopup),w(2),R("bubble",t)("overlaySize",r.helpPopupSize)("hoverDelayMs",10),w(6),oe(r.showExpandCollapseAllLayers?10:-1),w(),oe(r.showFlattenLayers?11:-1),w(),re("enabled",r.tracing),R("bubble",n)("overlaySize",r.helpPopupSize)("hoverDelayMs",10),w(5),oe(r.showDownloadPng?17:-1),w(),R("ngIf",r.showSnapshotManager)}}function Afe(i,e){if(i&1&&ee(0,"subgraph-breadcrumbs",37),i&2){let t=I();R("paneId",t.paneId)}}var UC=(()=>{class i{appService;changeDetectorRef;modelGraph;rendererId;paneId;rootNodeId;inPopup=!1;openInPopupClicked=new Ie;webglRenderer;helpPopupSize={minWidth:0,minHeight:0,maxWidth:340};flattenAllLayers=Bt(()=>this.appService.getFlattenLayers(this.paneId));disableDownloadPngHelpPopup=!1;transparentPngBackground=new vr(!1);curSubgraphBreadcrumbs=[];constructor(t,n){this.appService=t,this.changeDetectorRef=n,lt(()=>{let r=this.appService.getPaneById(this.paneId);this.curSubgraphBreadcrumbs=r?.subgraphBreadcrumbs||[],this.changeDetectorRef.markForCheck()})}handleOpenOnPopupClicked(t){this.openInPopupClicked.emit(t)}handleClickZoomFitIcon(){this.appService.spaceKeyToZoomFitClicked.next({})}handleClickExpandAllLayers(){this.appService.expandOrCollapseAllGraphLayersClicked.next({expandOrCollapse:!0,rendererId:this.rendererId})}handleClickCollapseAllLayers(){this.appService.expandOrCollapseAllGraphLayersClicked.next({expandOrCollapse:!1,rendererId:this.rendererId})}handleClickFlattenAllLayers(){let t=this.appService.getPaneById(this.paneId)?.selectedNodeInfo?.nodeId;t!=null&&wt(this.modelGraph.nodesById[t])&&this.appService.selectNode(this.paneId,void 0),this.appService.toggleFlattenLayers(this.paneId),this.appService.processGraph(this.paneId,this.appService.getFlattenLayers(this.paneId)),this.appService.curInitialUiState.set(void 0)}handleClickDownloadAsPng(t){this.appService.downloadAsPngClicked.next({rendererId:this.rendererId,fullGraph:t,transparentBackground:this.transparentPngBackground.value===!0})}handleClickTrace(){this.webglRenderer?.toggleIoTrace()}handleClickToggleTransparentPngBackground(t){t.stopPropagation(),this.transparentPngBackground.setValue(!this.transparentPngBackground.value)}getActiveSelectedNodeInfo(){return this.webglRenderer?.getActiveSelectedNodeInfo()}get showSearchBar(){return!this.inPopup}get showExpandCollapseAllLayers(){return!this.inPopup}get showFlattenLayers(){return!this.inPopup}get showDownloadPng(){return!this.inPopup}get showSnapshotManager(){return!this.inPopup}get showSubgraphBreadcrumbs(){return!this.inPopup&&this.curSubgraphBreadcrumbs.length>1}get disableExpandCollapseAllButton(){return this.appService.getFlattenLayers(this.paneId)}get tracing(){return this.webglRenderer?.tracing===!0}get showToolBar(){return!this.appService.config()?.hideToolBar}get isTestMode(){return this.appService.testMode}static \u0275fac=function(n){return new(n||i)(M(at),M(Ne))};static \u0275cmp=ce({type:i,selectors:[["renderer-wrapper"]],viewQuery:function(n,r){if(n&1&&Ee(vfe,5),n&2){let o;be(o=ye())&&(r.webglRenderer=o.first)}},inputs:{modelGraph:"modelGraph",rendererId:"rendererId",paneId:"paneId",rootNodeId:"rootNodeId",inPopup:"inPopup"},outputs:{openInPopupClicked:"openInPopupClicked"},standalone:!0,features:[le],decls:5,vars:7,consts:[["webglRenderer",""],["helpZoomToFit",""],["helpTraceIO",""],["helpExpandAll",""],["helpCollapseAll",""],["helpFlattenLayers",""],["helpDownloadPng",""],["menu","matMenu"],[1,"container"],[3,"openInPopupClicked","modelGraph","rendererId","paneId","rootNodeId","inPopup"],[1,"toolbar",3,"in-popup","pushed-down"],[3,"paneId",4,"ngIf"],[1,"toolbar"],[4,"ngIf"],[3,"rendererId","paneId","inPopup"],[1,"vertical-divider"],[1,"mat-icon-container","zoom-fit",3,"click","bubble","overlaySize","hoverDelayMs"],[1,"toolbar-icon"],[1,"mat-icon-container","trace-io",3,"click","bubble","overlaySize","hoverDelayMs"],[1,"toolbar-icon","trace"],[3,"curModelGraph","rendererId"],[1,"model-explorer-help-popup"],[1,"shortcut"],[1,"mat-icon-container","expand-all",3,"click","bubble","overlaySize","hoverDelayMs"],[1,"toolbar-icon","expand-all"],[1,"mat-icon-container","collapse-all",3,"click","bubble","overlaySize","hoverDelayMs"],[1,"toolbar-icon","collapse-all"],[1,"mat-icon-container","flatten-layers",3,"click","bubble","overlaySize","hoverDelayMs"],[1,"toolbar-icon","flatten-layers"],[1,"description"],[1,"mat-icon-container","download-png",3,"menuOpened","menuClosed","bubble","overlaySize","hoverDelayMs","bubbleDisabled","matMenuTriggerFor"],[1,"toolbar-icon","download-png"],[1,"model-explorer-download-png-menu"],[1,"menu-item",3,"click"],[1,"transparent-background-toggle",3,"click"],["type","checkbox",3,"formControl"],[3,"rendererId","paneId"],[3,"paneId"]],template:function(n,r){if(n&1){let o=ne();v(0,"div",8)(1,"webgl-renderer",9,0),H("openInPopupClicked",function(a){return B(o),V(r.handleOpenOnPopupClicked(a))}),b(),$(3,Rfe,19,20,"div",10)(4,Afe,1,1,"subgraph-breadcrumbs",11),b()}n&2&&(w(),R("modelGraph",r.modelGraph)("rendererId",r.rendererId)("paneId",r.paneId)("rootNodeId",r.rootNodeId)("inPopup",r.inPopup),w(2),oe(r.showToolBar?3:-1),w(),R("ngIf",r.showSubgraphBreadcrumbs))},dependencies:[Hn,Ae,Tn,xn,tt,pt,ua,ns,xl,Xt,br,Um,Ho,vo,gj,_j,vj,yj,NC],styles:[`.container[_ngcontent-%COMP%]{width:100%;height:100%;overflow:hidden;position:relative}.container[_ngcontent-%COMP%] svg-rednerer[_ngcontent-%COMP%], .container[_ngcontent-%COMP%] webgl-rednerer[_ngcontent-%COMP%]{width:100%;height:100%}.container[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%]{position:absolute;top:8px;left:12px;padding:0 8px 0 6px;box-sizing:border-box;height:40px;display:flex;background-color:#edf2fa;border-radius:99px;align-items:center;outline:2px solid white}.container[_ngcontent-%COMP%] .toolbar.in-popup[_ngcontent-%COMP%]{padding-left:10px}.container[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%]:has(search-bar input:focus){border-color:#1a73e8}.container[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%] search-bar[_ngcontent-%COMP%]{margin-right:4px}.container[_ngcontent-%COMP%] .toolbar.pushed-down[_ngcontent-%COMP%]{top:44px}.container[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%] .mat-icon-container[_ngcontent-%COMP%]{width:24px;height:24px;display:flex;align-items:center;justify-content:center}.container[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%] .mat-icon-container.enabled[_ngcontent-%COMP%]{background-color:#ffdeb1;outline:1px solid #ea8600;border-radius:4px}.container[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%] .mat-icon-container.disable[_ngcontent-%COMP%]{opacity:.2;pointer-events:none}.container[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%] mat-icon.toolbar-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px;cursor:pointer;opacity:.6}.container[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%] mat-icon.toolbar-icon[_ngcontent-%COMP%]:hover{opacity:.9}.container[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%] mat-icon.toolbar-icon.expand-all[_ngcontent-%COMP%], .container[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%] mat-icon.toolbar-icon.collapse-all[_ngcontent-%COMP%]{font-size:18px;width:18px;height:18px}.container[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%] mat-icon.toolbar-icon.flatten-layers[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px;border:1px solid transparent}.container[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%] mat-icon.toolbar-icon.trace[_ngcontent-%COMP%]{transform:rotate(90deg);border:1px solid transparent}.container[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%] .vertical-divider[_ngcontent-%COMP%]{width:1px;border-left:1px solid #d0d0d0;margin:2px 5px;height:20px}.container[_ngcontent-%COMP%] subgraph-breadcrumbs[_ngcontent-%COMP%]{position:absolute;top:8px;left:12px} bubble-container:has(.model-explorer-view-popup){border-top-left-radius:0;border-top-right-radius:0} .model-explorer-download-png-menu .menu-item{letter-spacing:normal!important;font-family:Google Sans Text,Arial,Helvetica,sans-serif!important;font-size:12px;padding:0 8px;cursor:pointer;display:flex;align-items:center} .model-explorer-download-png-menu .menu-item:hover{background-color:#eee} .model-explorer-download-png-menu .transparent-background-toggle{display:flex;align-items:center;font-size:12px;letter-spacing:normal;padding:6px 8px 0 4px;border-top:1px solid #ddd;margin-top:8px;cursor:pointer} .model-explorer-download-png-menu .transparent-background-toggle input{cursor:inherit} @@ -3816,7 +3817,7 @@ void main() { -`],changeDetection:0})}return i})();var Sfe=["rendererWrapper"],Mfe=400,Efe=400,Ife=26,mj=(()=>{class i{appService;root;id;paneId;groupNode;initialPosition;curModelGraph;closeClicked=new Ie;rendererWrapper;selected=Xt(()=>this.appService.curSelectedRenderer()?.id===this.rendererWrapper?.rendererId&&this.appService.selectedPaneId()===this.paneId);minimized=!1;savedHeight="";mouseDownListener=t=>{this.rendererWrapper&&(this.appService.curSelectedRenderer.set({id:this.rendererWrapper.rendererId,ownerType:Ll.POPUP}),this.appService.selectNode(this.paneId,this.rendererWrapper.getActiveSelectedNodeInfo()),this.appService.selectPane(this.paneId))};constructor(t,n){this.appService=t,this.root=n}ngOnInit(){this.root.nativeElement.addEventListener("mousedown",this.mouseDownListener,!0);let t=this.root.nativeElement;t.style.left=`${this.initialPosition.x}px`,t.style.top=`${this.initialPosition.y}px`,t.style.width=`${Mfe}px`,t.style.height=`${Efe}px`}ngOnDestroy(){this.root.nativeElement.removeEventListener("mousedown",this.mouseDownListener,!0)}toggleMinimize(){this.minimized=!this.minimized,this.minimized?(this.savedHeight=this.root.nativeElement.style.height,this.root.nativeElement.style.height=`${Ife}px`):this.root.nativeElement.style.height=this.savedHeight}handleMouseDown(t){t.stopPropagation(),t.button!==2&&new NC(this.root.nativeElement).drag(t)}handleMouseUp(t){}get title(){return this.groupNode.label}static \u0275fac=function(n){return new(n||i)(M(st),M(Re))};static \u0275cmp=le({type:i,selectors:[["popup-panel"]],viewQuery:function(n,r){if(n&1&&Te(Sfe,5),n&2){let o;be(o=ye())&&(r.rendererWrapper=o.first)}},inputs:{id:"id",paneId:"paneId",groupNode:"groupNode",initialPosition:"initialPosition",curModelGraph:"curModelGraph"},outputs:{closeClicked:"closeClicked"},standalone:!0,features:[ce],decls:22,vars:13,consts:[["rendererWrapper",""],[1,"container",3,"mousedown","mouseup"],[1,"title",3,"dblclick"],[1,"label"],[1,"icons-container"],[1,"mat-icon-container","minimize",3,"click"],[1,"mat-icon-container","close",3,"click"],[3,"modelGraph","rendererId","paneId","rootNodeId","inPopup"],[1,"resize-box",3,"mousedown","mouseup"],["data-position","top"],["data-position","bottom"],["data-position","left"],["data-position","right"],["data-position","top-right"],["data-position","top-left"],["data-position","bottom-right"],["data-position","bottom-left"]],template:function(n,r){if(n&1){let o=ie();v(0,"div",1),H("mousedown",function(a){return V(o),z(r.handleMouseDown(a))})("mouseup",function(a){return V(o),z(r.handleMouseUp(a))}),v(1,"div",2),H("dblclick",function(){return V(o),z(r.toggleMinimize())}),v(2,"div",3),S(3),b(),v(4,"div",4)(5,"div",5),H("click",function(){return V(o),z(r.toggleMinimize())}),v(6,"mat-icon"),S(7),b()(),v(8,"div",6),H("click",function(){return V(o),z(r.closeClicked.emit(r.id))}),v(9,"mat-icon"),S(10,"close"),b()()()(),ee(11,"renderer-wrapper",7,0),b(),v(13,"div",8),H("mousedown",function(a){return V(o),z(r.handleMouseDown(a))})("mouseup",function(a){return V(o),z(r.handleMouseUp(a))}),ee(14,"div",9)(15,"div",10)(16,"div",11)(17,"div",12)(18,"div",13)(19,"div",14)(20,"div",15)(21,"div",16),b()}n&2&&(se("selected",r.selected())("minimized",r.minimized),w(3),nt(r.title),w(4),nt(r.minimized?"unfold_more":"unfold_less"),w(4),N("modelGraph",r.curModelGraph)("rendererId",r.id)("paneId",r.paneId)("rootNodeId",r.groupNode.id)("inPopup",!0),w(2),se("disabled",r.minimized))},dependencies:[it,_t,zC],styles:[`[_nghost-%COMP%]{position:absolute;-webkit-user-select:none;user-select:none}.container[_ngcontent-%COMP%]{width:100%;height:100%;display:flex;flex-direction:column;font-size:13px;outline:2px solid transparent;position:relative;background-color:#fff;border-radius:4px;overflow:hidden;border:2px solid #aaa;cursor:pointer}.container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{height:27px;border-bottom:1px solid #ccc;box-sizing:border-box;background-color:#e7f3ff;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;overflow:hidden;border-top-left-radius:2px;border-top-right-radius:2px;white-space:nowrap}.container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{flex-grow:1;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box;padding-left:8px;padding-right:4px}.container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%] .icons-container[_ngcontent-%COMP%]{display:flex;align-items:center}.container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%] .mat-icon-container[_ngcontent-%COMP%]{width:24px;display:flex;align-items:center;justify-content:center;opacity:.6;cursor:pointer}.container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%] .mat-icon-container[_ngcontent-%COMP%]:hover{opacity:1}.container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%] .mat-icon-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;font-weight:700;width:16px;height:16px}.container[_ngcontent-%COMP%] renderer-wrapper[_ngcontent-%COMP%]{flex-grow:1;min-height:0}.container.selected[_ngcontent-%COMP%]{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.container.selected[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{background-color:#ea8600;color:#fff}.container.minimized[_ngcontent-%COMP%] svg-renderer[_ngcontent-%COMP%]{display:none}.resize-box[_ngcontent-%COMP%]{position:absolute;inset:-4px;pointer-events:none;z-index:100}.resize-box.disabled[_ngcontent-%COMP%] [data-position][_ngcontent-%COMP%]{pointer-events:none}.resize-box[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{position:absolute;pointer-events:all;background-color:transparent}.resize-box[_ngcontent-%COMP%] [data-position=top][_ngcontent-%COMP%]{top:0;width:100%;height:8px;cursor:ns-resize}.resize-box[_ngcontent-%COMP%] [data-position=bottom][_ngcontent-%COMP%]{bottom:0;width:100%;height:8px;cursor:ns-resize}.resize-box[_ngcontent-%COMP%] [data-position=left][_ngcontent-%COMP%]{left:0;height:100%;width:8px;cursor:ew-resize}.resize-box[_ngcontent-%COMP%] [data-position=right][_ngcontent-%COMP%]{right:0;height:100%;width:8px;cursor:ew-resize}.resize-box[_ngcontent-%COMP%] [data-position=top-right][_ngcontent-%COMP%]{top:0;right:0;height:8px;width:8px;cursor:nesw-resize}.resize-box[_ngcontent-%COMP%] [data-position=top-left][_ngcontent-%COMP%]{top:0;left:0;height:8px;width:8px;cursor:nwse-resize}.resize-box[_ngcontent-%COMP%] [data-position=bottom-left][_ngcontent-%COMP%]{bottom:0;left:0;height:8px;width:8px;cursor:nesw-resize}.resize-box[_ngcontent-%COMP%] [data-position=bottom-right][_ngcontent-%COMP%]{bottom:0;right:0;height:8px;width:8px;cursor:nwse-resize} +`],changeDetection:0})}return i})();var Nfe=["rendererWrapper"],kfe=400,Lfe=400,Ffe=26,xj=(()=>{class i{appService;root;id;paneId;groupNode;initialPosition;curModelGraph;closeClicked=new Ie;rendererWrapper;selected=Bt(()=>this.appService.curSelectedRenderer()?.id===this.rendererWrapper?.rendererId&&this.appService.selectedPaneId()===this.paneId);minimized=!1;savedHeight="";mouseDownListener=t=>{this.rendererWrapper&&(this.appService.curSelectedRenderer.set({id:this.rendererWrapper.rendererId,ownerType:Vc.POPUP}),this.appService.selectNode(this.paneId,this.rendererWrapper.getActiveSelectedNodeInfo()),this.appService.selectPane(this.paneId))};constructor(t,n){this.appService=t,this.root=n}ngOnInit(){this.root.nativeElement.addEventListener("mousedown",this.mouseDownListener,!0);let t=this.root.nativeElement;t.style.left=`${this.initialPosition.x}px`,t.style.top=`${this.initialPosition.y}px`,t.style.width=`${kfe}px`,t.style.height=`${Lfe}px`}ngOnDestroy(){this.root.nativeElement.removeEventListener("mousedown",this.mouseDownListener,!0)}toggleMinimize(){this.minimized=!this.minimized,this.minimized?(this.savedHeight=this.root.nativeElement.style.height,this.root.nativeElement.style.height=`${Ffe}px`):this.root.nativeElement.style.height=this.savedHeight}handleMouseDown(t){t.stopPropagation(),t.button!==2&&new kC(this.root.nativeElement).drag(t)}handleMouseUp(t){}get title(){return this.groupNode.label}static \u0275fac=function(n){return new(n||i)(M(at),M(Re))};static \u0275cmp=ce({type:i,selectors:[["popup-panel"]],viewQuery:function(n,r){if(n&1&&Ee(Nfe,5),n&2){let o;be(o=ye())&&(r.rendererWrapper=o.first)}},inputs:{id:"id",paneId:"paneId",groupNode:"groupNode",initialPosition:"initialPosition",curModelGraph:"curModelGraph"},outputs:{closeClicked:"closeClicked"},standalone:!0,features:[le],decls:22,vars:13,consts:[["rendererWrapper",""],[1,"container",3,"mousedown","mouseup"],[1,"title",3,"dblclick"],[1,"label"],[1,"icons-container"],[1,"mat-icon-container","minimize",3,"click"],[1,"mat-icon-container","close",3,"click"],[3,"modelGraph","rendererId","paneId","rootNodeId","inPopup"],[1,"resize-box",3,"mousedown","mouseup"],["data-position","top"],["data-position","bottom"],["data-position","left"],["data-position","right"],["data-position","top-right"],["data-position","top-left"],["data-position","bottom-right"],["data-position","bottom-left"]],template:function(n,r){if(n&1){let o=ne();v(0,"div",1),H("mousedown",function(a){return B(o),V(r.handleMouseDown(a))})("mouseup",function(a){return B(o),V(r.handleMouseUp(a))}),v(1,"div",2),H("dblclick",function(){return B(o),V(r.toggleMinimize())}),v(2,"div",3),S(3),b(),v(4,"div",4)(5,"div",5),H("click",function(){return B(o),V(r.toggleMinimize())}),v(6,"mat-icon"),S(7),b()(),v(8,"div",6),H("click",function(){return B(o),V(r.closeClicked.emit(r.id))}),v(9,"mat-icon"),S(10,"close"),b()()()(),ee(11,"renderer-wrapper",7,0),b(),v(13,"div",8),H("mousedown",function(a){return B(o),V(r.handleMouseDown(a))})("mouseup",function(a){return B(o),V(r.handleMouseUp(a))}),ee(14,"div",9)(15,"div",10)(16,"div",11)(17,"div",12)(18,"div",13)(19,"div",14)(20,"div",15)(21,"div",16),b()}n&2&&(re("selected",r.selected())("minimized",r.minimized),w(3),st(r.title),w(4),st(r.minimized?"unfold_more":"unfold_less"),w(4),R("modelGraph",r.curModelGraph)("rendererId",r.id)("paneId",r.paneId)("rootNodeId",r.groupNode.id)("inPopup",!0),w(2),re("disabled",r.minimized))},dependencies:[tt,pt,UC],styles:[`[_nghost-%COMP%]{position:absolute;-webkit-user-select:none;user-select:none}.container[_ngcontent-%COMP%]{width:100%;height:100%;display:flex;flex-direction:column;font-size:13px;outline:2px solid transparent;position:relative;background-color:#fff;border-radius:4px;overflow:hidden;border:2px solid #aaa;cursor:pointer}.container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{height:27px;border-bottom:1px solid #ccc;box-sizing:border-box;background-color:#e7f3ff;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;overflow:hidden;border-top-left-radius:2px;border-top-right-radius:2px;white-space:nowrap}.container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{flex-grow:1;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box;padding-left:8px;padding-right:4px}.container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%] .icons-container[_ngcontent-%COMP%]{display:flex;align-items:center}.container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%] .mat-icon-container[_ngcontent-%COMP%]{width:24px;display:flex;align-items:center;justify-content:center;opacity:.6;cursor:pointer}.container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%] .mat-icon-container[_ngcontent-%COMP%]:hover{opacity:1}.container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%] .mat-icon-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;font-weight:700;width:16px;height:16px}.container[_ngcontent-%COMP%] renderer-wrapper[_ngcontent-%COMP%]{flex-grow:1;min-height:0}.container.selected[_ngcontent-%COMP%]{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.container.selected[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{background-color:#ea8600;color:#fff}.container.minimized[_ngcontent-%COMP%] svg-renderer[_ngcontent-%COMP%]{display:none}.resize-box[_ngcontent-%COMP%]{position:absolute;inset:-4px;pointer-events:none;z-index:100}.resize-box.disabled[_ngcontent-%COMP%] [data-position][_ngcontent-%COMP%]{pointer-events:none}.resize-box[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{position:absolute;pointer-events:all;background-color:transparent}.resize-box[_ngcontent-%COMP%] [data-position=top][_ngcontent-%COMP%]{top:0;width:100%;height:8px;cursor:ns-resize}.resize-box[_ngcontent-%COMP%] [data-position=bottom][_ngcontent-%COMP%]{bottom:0;width:100%;height:8px;cursor:ns-resize}.resize-box[_ngcontent-%COMP%] [data-position=left][_ngcontent-%COMP%]{left:0;height:100%;width:8px;cursor:ew-resize}.resize-box[_ngcontent-%COMP%] [data-position=right][_ngcontent-%COMP%]{right:0;height:100%;width:8px;cursor:ew-resize}.resize-box[_ngcontent-%COMP%] [data-position=top-right][_ngcontent-%COMP%]{top:0;right:0;height:8px;width:8px;cursor:nesw-resize}.resize-box[_ngcontent-%COMP%] [data-position=top-left][_ngcontent-%COMP%]{top:0;left:0;height:8px;width:8px;cursor:nwse-resize}.resize-box[_ngcontent-%COMP%] [data-position=bottom-left][_ngcontent-%COMP%]{bottom:0;left:0;height:8px;width:8px;cursor:nesw-resize}.resize-box[_ngcontent-%COMP%] [data-position=bottom-right][_ngcontent-%COMP%]{bottom:0;right:0;height:8px;width:8px;cursor:nwse-resize} @@ -3834,7 +3835,7 @@ void main() { -`],changeDetection:0})}return i})();function Tfe(i,e){if(i&1){let t=ie();v(0,"button",5),H("click",function(){V(t);let r=I(2);return z(r.handleClickExportToResource())}),v(1,"mat-icon"),S(2,"drive_folder_upload"),b(),S(3," Export to resource "),b()}}function Dfe(i,e){if(i&1){let t=ie();v(0,"div",0)(1,"div",1),S(2," Selection "),b(),v(3,"div",2),S(4),v(5,"div",3),H("click",function(){V(t);let r=I();return z(r.handleClickClear())}),S(6," Clear "),b()(),v(7,"div",4)(8,"button",5),H("click",function(){V(t);let r=I();return z(r.handleClickDownloadSubgraph())}),S(9," Download subgraph "),b(),W(10,Tfe,4,0,"button",6),b()()}if(i&2){let t=I();w(4),Me(" ",t.selectedNodeCountLabel()," "),w(6),ae(t.enableExportToResource?10:-1)}}var gj=(()=>{class i{appService;subgraphSelectionService;paneId;hasSelectedNodes;selectedNodeCountLabel=Xt(()=>{let t=this.subgraphSelectionService.selectedNodeCount();return`${t} node${t===1?"":"s"}`});constructor(t,n){this.appService=t,this.subgraphSelectionService=n,this.hasSelectedNodes=this.subgraphSelectionService.hasSelectedNodes}handleClickClear(){this.subgraphSelectionService.clearSelection()}handleClickDownloadSubgraph(){let t=this.subgraphSelectionService.getSelectedSubgraph();if(!t)return;let n=document.createElement("a");n.download=`${t.collectionLabel}_subgraph.json`;let r=`data:text/json;charset=utf-8, ${encodeURIComponent(JSON.stringify([t],null,2))}`;da.setHref(n,r),n.click()}handleClickExportToResource(){let t=this.subgraphSelectionService.getSelectedSubgraph();t&&ey(`${t.collectionLabel??""}_subgraph.json`,[t])}get enableExportToResource(){return this.appService.config()?.enableExportToResource===!0}static \u0275fac=function(n){return new(n||i)(M(st),M(Xo))};static \u0275cmp=le({type:i,selectors:[["selection-panel"]],inputs:{paneId:"paneId"},standalone:!0,features:[ce],decls:1,vars:1,consts:[[1,"container"],[1,"title"],[1,"content"],[1,"link-clear",3,"click"],[1,"btns-container"],["mat-flat-button","","color","primary",3,"click"],["mat-flat-button","","color","primary"]],template:function(n,r){n&1&&W(0,Dfe,11,2,"div",0),n&2&&ae(r.hasSelectedNodes()?0:-1)},dependencies:[Ae,In,zi,it,_t],styles:[`.container[_ngcontent-%COMP%]{font-size:12px;border:2px solid #09b83e;overflow:hidden;border-radius:6px;background-color:#fff}.container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding:6px 8px;background-color:#09b83e;color:#fff;font-weight:500}.container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:16px 8px 12px;display:flex;align-items:center;justify-content:space-between}.container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .link-clear[_ngcontent-%COMP%]{text-decoration:underline;color:#00639b;cursor:pointer;opacity:.8;-webkit-user-select:none;user-select:none}.container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .link-clear[_ngcontent-%COMP%]:hover{opacity:1}.container[_ngcontent-%COMP%] .btns-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:8px;gap:8px}.container[_ngcontent-%COMP%] .btns-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{letter-spacing:normal;width:100%} +`],changeDetection:0})}return i})();function Bfe(i,e){if(i&1){let t=ne();v(0,"button",5),H("click",function(){B(t);let r=I(2);return V(r.handleClickExportToResource())}),v(1,"mat-icon"),S(2,"drive_folder_upload"),b(),S(3," Export to resource "),b()}}function Vfe(i,e){if(i&1){let t=ne();v(0,"div",0)(1,"div",1),S(2," Selection "),b(),v(3,"div",2),S(4),v(5,"div",3),H("click",function(){B(t);let r=I();return V(r.handleClickClear())}),S(6," Clear "),b()(),v(7,"div",4)(8,"button",5),H("click",function(){B(t);let r=I();return V(r.handleClickDownloadSubgraph())}),S(9," Download subgraph "),b(),$(10,Bfe,4,0,"button",6),b()()}if(i&2){let t=I();w(4),Se(" ",t.selectedNodeCountLabel()," "),w(6),oe(t.enableExportToResource?10:-1)}}var wj=(()=>{class i{appService;subgraphSelectionService;paneId;hasSelectedNodes;selectedNodeCountLabel=Bt(()=>{let t=this.subgraphSelectionService.selectedNodeCount();return`${t} node${t===1?"":"s"}`});constructor(t,n){this.appService=t,this.subgraphSelectionService=n,this.hasSelectedNodes=this.subgraphSelectionService.hasSelectedNodes}handleClickClear(){this.subgraphSelectionService.clearSelection()}handleClickDownloadSubgraph(){let t=this.subgraphSelectionService.getSelectedSubgraph();if(!t)return;let n=document.createElement("a");n.download=`${t.collectionLabel}_subgraph.json`;let r=`data:text/json;charset=utf-8, ${encodeURIComponent(JSON.stringify([t],null,2))}`;dc(n,r),n.click()}handleClickExportToResource(){let t=this.subgraphSelectionService.getSelectedSubgraph();t&&iy(`${t.collectionLabel??""}_subgraph.json`,[t])}get enableExportToResource(){return this.appService.config()?.enableExportToResource===!0}static \u0275fac=function(n){return new(n||i)(M(at),M(Ko))};static \u0275cmp=ce({type:i,selectors:[["selection-panel"]],inputs:{paneId:"paneId"},standalone:!0,features:[le],decls:1,vars:1,consts:[[1,"container"],[1,"title"],[1,"content"],[1,"link-clear",3,"click"],[1,"btns-container"],["mat-flat-button","","color","primary",3,"click"],["mat-flat-button","","color","primary"]],template:function(n,r){n&1&&$(0,Vfe,11,2,"div",0),n&2&&oe(r.hasSelectedNodes()?0:-1)},dependencies:[Ae,xn,Ti,tt,pt],styles:[`.container[_ngcontent-%COMP%]{font-size:12px;border:2px solid #09b83e;overflow:hidden;border-radius:6px;background-color:#fff}.container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding:6px 8px;background-color:#09b83e;color:#fff;font-weight:500}.container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:16px 8px 12px;display:flex;align-items:center;justify-content:space-between}.container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .link-clear[_ngcontent-%COMP%]{text-decoration:underline;color:#00639b;cursor:pointer;opacity:.8;-webkit-user-select:none;user-select:none}.container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .link-clear[_ngcontent-%COMP%]:hover{opacity:1}.container[_ngcontent-%COMP%] .btns-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:8px;gap:8px}.container[_ngcontent-%COMP%] .btns-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{letter-spacing:normal;width:100%} @@ -3852,7 +3853,7 @@ void main() { -`],changeDetection:0})}return i})();var Pfe=["popupPanel"];function Ofe(i,e){if(i&1){let t=ie();v(0,"renderer-wrapper",5),H("openInPopupClicked",function(r){V(t);let o=I();return z(o.handleOpenOnPopupClicked(r))}),b()}if(i&2){let t=I();N("modelGraph",t.modelGraph)("rendererId",t.rendererId)("paneId",t.paneId)}}function Rfe(i,e){if(i&1){let t=ie();v(0,"popup-panel",6,0),H("closeClicked",function(r){V(t);let o=I();return z(o.handleClickClosePanel(r))}),b()}if(i&2){let t=e.$implicit,n=I();N("id",t.id)("paneId",n.paneId)("groupNode",t.groupNode)("initialPosition",t.initialPosition)("curModelGraph",t.curModelGraph)}}function Afe(i,e){if(i&1&&ee(0,"legends-panel",4),i&2){let t=I();N("paneId",t.paneId)}}var _j=(()=>{class i{root;appService;changeDetectorRef;subgraphSelectionService;modelGraph;rendererId;paneId;popupPanelComponents=new Yi;popupPanels=[];showRenderer=!0;mouseDownListener=t=>{t.target.closest("popup-panel")==null&&this.appService.curSelectedRenderer.set({id:this.rendererId,ownerType:Ll.GRAPH_PANEL})};resizeObserver;constructor(t,n,r,o){this.root=t,this.appService=n,this.changeDetectorRef=r,this.subgraphSelectionService=o,lt(()=>{let s=this.appService.curSelectedRenderer(),a=this.root.nativeElement.querySelector("popup-panel.top");a&&a.classList.remove("top");let l=this.popupPanelComponents.find(c=>c.rendererWrapper?.rendererId===s?.id);l&&l.root.nativeElement.classList.add("top")})}ngOnInit(){this.root.nativeElement.addEventListener("mousedown",this.mouseDownListener,!0),this.subgraphSelectionService.paneId=this.paneId}ngOnChanges(t){t.modelGraph&&this.modelGraph&&(this.subgraphSelectionService.clearSelection(),this.showRenderer=!1,this.changeDetectorRef.detectChanges(),this.showRenderer=!0,this.changeDetectorRef.detectChanges())}ngAfterViewInit(){let t=this.root.nativeElement;this.resizeObserver=new ResizeObserver(n=>{this.handleResize()}),this.resizeObserver.observe(t)}ngOnDestroy(){this.root.nativeElement.removeEventListener("mousedown",this.mouseDownListener,!0),this.resizeObserver&&this.resizeObserver.unobserve(this.root.nativeElement)}trackByPopupPanelId(t,n){return n.id}handleOpenOnPopupClicked(t){this.popupPanels.push(t)}handleClickClosePanel(t){let n=this.popupPanels.findIndex(r=>r.id===t);n>=0&&this.popupPanels.splice(n,1)}get showLegends(){return!this.appService.config()?.hideLegends}handleResize(){let t=this.root.nativeElement;for(let n of this.popupPanelComponents){let r=n.root.nativeElement;if(!r)continue;let o=Number(r.style.width.replace("px","")),s=Number(r.style.height.replace("px","")),a=Number(r.style.left.replace("px",""))+o,l=Number(r.style.top.replace("px",""))+s;a>t.offsetWidth&&(r.style.left=`${t.offsetWidth-o}px`),l>t.offsetHeight&&(r.style.top=`${t.offsetHeight-s}px`)}}static \u0275fac=function(n){return new(n||i)(M(Re),M(st),M(Fe),M(Xo))};static \u0275cmp=le({type:i,selectors:[["graph-panel"]],viewQuery:function(n,r){if(n&1&&Te(Pfe,5),n&2){let o;be(o=ye())&&(r.popupPanelComponents=o)}},inputs:{modelGraph:"modelGraph",rendererId:"rendererId",paneId:"paneId"},standalone:!0,features:[dn,ce],decls:5,vars:5,consts:[["popupPanel",""],[1,"container"],[3,"modelGraph","rendererId","paneId","openInPopupClicked",4,"ngIf"],[3,"id","paneId","groupNode","initialPosition","curModelGraph","closeClicked",4,"ngFor","ngForOf","ngForTrackBy"],[3,"paneId"],[3,"openInPopupClicked","modelGraph","rendererId","paneId"],[3,"closeClicked","id","paneId","groupNode","initialPosition","curModelGraph"]],template:function(n,r){n&1&&(v(0,"div",1),W(1,Ofe,1,3,"renderer-wrapper",2)(2,Rfe,2,5,"popup-panel",3)(3,Afe,1,1,"legends-panel",4),ee(4,"selection-panel",4),b()),n&2&&(w(),N("ngIf",r.showRenderer),w(),N("ngForOf",r.popupPanels)("ngForTrackBy",r.trackByPopupPanelId),w(),ae(r.showLegends?3:-1),w(),N("paneId",r.paneId))},dependencies:[Ae,Si,Mn,$G,mj,zC,gj],styles:[`.container[_ngcontent-%COMP%]{width:100%;height:100%;display:flex;position:relative;overflow:hidden}.container[_ngcontent-%COMP%] renderer-wrapper[_ngcontent-%COMP%]{width:100%;height:100%}.container[_ngcontent-%COMP%] popup-panel.top[_ngcontent-%COMP%]{z-index:100}.container[_ngcontent-%COMP%] legends-panel[_ngcontent-%COMP%]{position:absolute;left:8px;bottom:8px;border-radius:6px;border:1px solid #ddd;overflow:hidden}.container[_ngcontent-%COMP%] selection-panel[_ngcontent-%COMP%]{position:absolute;right:8px;top:8px;overflow:hidden} +`],changeDetection:0})}return i})();var zfe=["popupPanel"];function Ufe(i,e){if(i&1){let t=ne();v(0,"renderer-wrapper",5),H("openInPopupClicked",function(r){B(t);let o=I();return V(o.handleOpenOnPopupClicked(r))}),b()}if(i&2){let t=I();R("modelGraph",t.modelGraph)("rendererId",t.rendererId)("paneId",t.paneId)}}function Hfe(i,e){if(i&1){let t=ne();v(0,"popup-panel",6,0),H("closeClicked",function(r){B(t);let o=I();return V(o.handleClickClosePanel(r))}),b()}if(i&2){let t=e.$implicit,n=I();R("id",t.id)("paneId",n.paneId)("groupNode",t.groupNode)("initialPosition",t.initialPosition)("curModelGraph",t.curModelGraph)}}function Gfe(i,e){if(i&1&&ee(0,"legends-panel",4),i&2){let t=I();R("paneId",t.paneId)}}var Cj=(()=>{class i{root;appService;changeDetectorRef;subgraphSelectionService;modelGraph;rendererId;paneId;popupPanelComponents=new Zi;popupPanels=[];showRenderer=!0;mouseDownListener=t=>{t.target.closest("popup-panel")==null&&this.appService.curSelectedRenderer.set({id:this.rendererId,ownerType:Vc.GRAPH_PANEL})};resizeObserver;constructor(t,n,r,o){this.root=t,this.appService=n,this.changeDetectorRef=r,this.subgraphSelectionService=o,lt(()=>{let s=this.appService.curSelectedRenderer(),a=this.root.nativeElement.querySelector("popup-panel.top");a&&a.classList.remove("top");let c=this.popupPanelComponents.find(l=>l.rendererWrapper?.rendererId===s?.id);c&&c.root.nativeElement.classList.add("top")})}ngOnInit(){this.root.nativeElement.addEventListener("mousedown",this.mouseDownListener,!0),this.subgraphSelectionService.paneId=this.paneId}ngOnChanges(t){t.modelGraph&&this.modelGraph&&(this.subgraphSelectionService.clearSelection(),this.showRenderer=!1,this.changeDetectorRef.detectChanges(),this.showRenderer=!0,this.changeDetectorRef.detectChanges())}ngAfterViewInit(){let t=this.root.nativeElement;this.resizeObserver=new ResizeObserver(n=>{this.handleResize()}),this.resizeObserver.observe(t)}ngOnDestroy(){this.root.nativeElement.removeEventListener("mousedown",this.mouseDownListener,!0),this.resizeObserver&&this.resizeObserver.unobserve(this.root.nativeElement)}trackByPopupPanelId(t,n){return n.id}handleOpenOnPopupClicked(t){this.popupPanels.push(t)}handleClickClosePanel(t){let n=this.popupPanels.findIndex(r=>r.id===t);n>=0&&this.popupPanels.splice(n,1)}get showLegends(){return!this.appService.config()?.hideLegends}handleResize(){let t=this.root.nativeElement;for(let n of this.popupPanelComponents){let r=n.root.nativeElement;if(!r)continue;let o=Number(r.style.width.replace("px","")),s=Number(r.style.height.replace("px","")),a=Number(r.style.left.replace("px",""))+o,c=Number(r.style.top.replace("px",""))+s;a>t.offsetWidth&&(r.style.left=`${t.offsetWidth-o}px`),c>t.offsetHeight&&(r.style.top=`${t.offsetHeight-s}px`)}}static \u0275fac=function(n){return new(n||i)(M(Re),M(at),M(Ne),M(Ko))};static \u0275cmp=ce({type:i,selectors:[["graph-panel"]],viewQuery:function(n,r){if(n&1&&Ee(zfe,5),n&2){let o;be(o=ye())&&(r.popupPanelComponents=o)}},inputs:{modelGraph:"modelGraph",rendererId:"rendererId",paneId:"paneId"},standalone:!0,features:[dn,le],decls:5,vars:5,consts:[["popupPanel",""],[1,"container"],[3,"modelGraph","rendererId","paneId","openInPopupClicked",4,"ngIf"],[3,"id","paneId","groupNode","initialPosition","curModelGraph","closeClicked",4,"ngFor","ngForOf","ngForTrackBy"],[3,"paneId"],[3,"openInPopupClicked","modelGraph","rendererId","paneId"],[3,"closeClicked","id","paneId","groupNode","initialPosition","curModelGraph"]],template:function(n,r){n&1&&(v(0,"div",1),$(1,Ufe,1,3,"renderer-wrapper",2)(2,Hfe,2,5,"popup-panel",3)(3,Gfe,1,1,"legends-panel",4),ee(4,"selection-panel",4),b()),n&2&&(w(),R("ngIf",r.showRenderer),w(),R("ngForOf",r.popupPanels)("ngForTrackBy",r.trackByPopupPanelId),w(),oe(r.showLegends?3:-1),w(),R("paneId",r.paneId))},dependencies:[Ae,Mi,Tn,KG,xj,UC,wj],styles:[`.container[_ngcontent-%COMP%]{width:100%;height:100%;display:flex;position:relative;overflow:hidden}.container[_ngcontent-%COMP%] renderer-wrapper[_ngcontent-%COMP%]{width:100%;height:100%}.container[_ngcontent-%COMP%] popup-panel.top[_ngcontent-%COMP%]{z-index:100}.container[_ngcontent-%COMP%] legends-panel[_ngcontent-%COMP%]{position:absolute;left:8px;bottom:8px;border-radius:6px;border:1px solid #ddd;overflow:hidden}.container[_ngcontent-%COMP%] selection-panel[_ngcontent-%COMP%]{position:absolute;right:8px;top:8px;overflow:hidden} @@ -3870,9 +3871,9 @@ void main() { -`],changeDetection:0})}return i})();var Nfe=["switch"],kfe=["*"];function Lfe(i,e){i&1&&(v(0,"div",10),ro(),v(1,"svg",12),ee(2,"path",13),b(),v(3,"svg",14),ee(4,"path",15),b()())}var Ffe=new ge("mat-slide-toggle-default-options",{providedIn:"root",factory:()=>({disableToggleValue:!1,hideIcon:!1})}),Bfe={provide:La,useExisting:Zr(()=>HC),multi:!0},UC=class{constructor(e,t){this.source=e,this.checked=t}},Vfe=0,HC=(()=>{let e=class e{_createChangeEvent(n){return new UC(this,n)}get buttonId(){return`${this.id||this._uniqueId}-button`}focus(){this._switchElement.nativeElement.focus()}get checked(){return this._checked}set checked(n){this._checked=n,this._changeDetectorRef.markForCheck()}get inputId(){return`${this.id||this._uniqueId}-input`}constructor(n,r,o,s,a,l){this._elementRef=n,this._focusMonitor=r,this._changeDetectorRef=o,this.defaults=a,this._onChange=c=>{},this._onTouched=()=>{},this._validatorOnChange=()=>{},this._checked=!1,this.name=null,this.labelPosition="after",this.ariaLabel=null,this.ariaLabelledby=null,this.disabled=!1,this.disableRipple=!1,this.tabIndex=0,this.change=new Ie,this.toggleChange=new Ie,this.tabIndex=parseInt(s)||0,this.color=a.color||"accent",this._noopAnimations=l==="NoopAnimations",this.id=this._uniqueId=`mat-mdc-slide-toggle-${++Vfe}`,this.hideIcon=a.hideIcon??!1,this._labelId=this._uniqueId+"-label"}ngAfterContentInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(n=>{n==="keyboard"||n==="program"?(this._focused=!0,this._changeDetectorRef.markForCheck()):n||Promise.resolve().then(()=>{this._focused=!1,this._onTouched(),this._changeDetectorRef.markForCheck()})})}ngOnChanges(n){n.required&&this._validatorOnChange()}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}writeValue(n){this.checked=!!n}registerOnChange(n){this._onChange=n}registerOnTouched(n){this._onTouched=n}validate(n){return this.required&&n.value!==!0?{required:!0}:null}registerOnValidatorChange(n){this._validatorOnChange=n}setDisabledState(n){this.disabled=n,this._changeDetectorRef.markForCheck()}toggle(){this.checked=!this.checked,this._onChange(this.checked)}_emitChangeEvent(){this._onChange(this.checked),this.change.emit(this._createChangeEvent(this.checked))}_handleClick(){this.toggleChange.emit(),this.defaults.disableToggleValue||(this.checked=!this.checked,this._onChange(this.checked),this.change.emit(new UC(this,this.checked)))}_getAriaLabelledBy(){return this.ariaLabelledby?this.ariaLabelledby:this.ariaLabel?null:this._labelId}};e.\u0275fac=function(r){return new(r||e)(M(Re),M(fo),M(Fe),oo("tabindex"),M(Ffe),M(Zn,8))},e.\u0275cmp=le({type:e,selectors:[["mat-slide-toggle"]],viewQuery:function(r,o){if(r&1&&Te(Nfe,5),r&2){let s;be(s=ye())&&(o._switchElement=s.first)}},hostAttrs:[1,"mat-mdc-slide-toggle"],hostVars:13,hostBindings:function(r,o){r&2&&(No("id",o.id),Ze("tabindex",null)("aria-label",null)("name",null)("aria-labelledby",null),kr(o.color?"mat-"+o.color:""),se("mat-mdc-slide-toggle-focused",o._focused)("mat-mdc-slide-toggle-checked",o.checked)("_mat-animation-noopable",o._noopAnimations))},inputs:{name:"name",id:"id",labelPosition:"labelPosition",ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],ariaDescribedby:[0,"aria-describedby","ariaDescribedby"],required:[2,"required","required",at],color:"color",disabled:[2,"disabled","disabled",at],disableRipple:[2,"disableRipple","disableRipple",at],tabIndex:[2,"tabIndex","tabIndex",n=>n==null?0:Ci(n)],checked:[2,"checked","checked",at],hideIcon:[2,"hideIcon","hideIcon",at]},outputs:{change:"change",toggleChange:"toggleChange"},exportAs:["matSlideToggle"],standalone:!0,features:[Bt([Bfe,{provide:md,useExisting:e,multi:!0}]),an,dn,ce],ngContentSelectors:kfe,decls:13,vars:24,consts:[["switch",""],["mat-internal-form-field","",3,"labelPosition"],["role","switch","type","button",1,"mdc-switch",3,"click","tabIndex","disabled"],[1,"mdc-switch__track"],[1,"mdc-switch__handle-track"],[1,"mdc-switch__handle"],[1,"mdc-switch__shadow"],[1,"mdc-elevation-overlay"],[1,"mdc-switch__ripple"],["mat-ripple","",1,"mat-mdc-slide-toggle-ripple","mat-mdc-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered"],[1,"mdc-switch__icons"],[1,"mdc-label",3,"click","for"],["viewBox","0 0 24 24","aria-hidden","true",1,"mdc-switch__icon","mdc-switch__icon--on"],["d","M19.69,5.23L8.96,15.96l-4.23-4.23L2.96,13.5l6,6L21.46,7L19.69,5.23z"],["viewBox","0 0 24 24","aria-hidden","true",1,"mdc-switch__icon","mdc-switch__icon--off"],["d","M20 13H4v-2h16v2z"]],template:function(r,o){if(r&1){let s=ie();Ln(),v(0,"div",1)(1,"button",2,0),H("click",function(){return V(s),z(o._handleClick())}),ee(3,"div",3),v(4,"div",4)(5,"div",5)(6,"div",6),ee(7,"div",7),b(),v(8,"div",8),ee(9,"div",9),b(),W(10,Lfe,5,0,"div",10),b()()(),v(11,"label",11),H("click",function(l){return V(s),z(l.stopPropagation())}),$t(12),b()()}if(r&2){let s=ve(2);N("labelPosition",o.labelPosition),w(),se("mdc-switch--selected",o.checked)("mdc-switch--unselected",!o.checked)("mdc-switch--checked",o.checked)("mdc-switch--disabled",o.disabled),N("tabIndex",o.disabled?-1:o.tabIndex)("disabled",o.disabled),Ze("id",o.buttonId)("name",o.name)("aria-label",o.ariaLabel)("aria-labelledby",o._getAriaLabelledBy())("aria-describedby",o.ariaDescribedby)("aria-required",o.required||null)("aria-checked",o.checked),w(8),N("matRippleTrigger",s)("matRippleDisabled",o.disableRipple||o.disabled)("matRippleCentered",!0),w(),ae(o.hideIcon?-1:10),w(),N("for",o.buttonId),Ze("id",o._labelId)}},dependencies:[za,Ry],styles:['.mdc-switch{align-items:center;background:none;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;margin:0;outline:none;overflow:visible;padding:0;position:relative;width:var(--mdc-switch-track-width)}.mdc-switch:disabled{cursor:default;pointer-events:none}.mdc-switch__track{overflow:hidden;position:relative;width:100%;height:var(--mdc-switch-track-height);border-radius:var(--mdc-switch-track-shape)}.mdc-switch:disabled .mdc-switch__track{opacity:var(--mdc-switch-disabled-track-opacity)}.mdc-switch__track::before,.mdc-switch__track::after{border:1px solid rgba(0,0,0,0);border-radius:inherit;box-sizing:border-box;content:"";height:100%;left:0;position:absolute;width:100%;border-width:var(--mat-switch-track-outline-width);border-color:var(--mat-switch-track-outline-color)}.cdk-high-contrast-active .mdc-switch__track::before,.cdk-high-contrast-active .mdc-switch__track::after{border-color:currentColor}.mdc-switch--selected .mdc-switch__track::before,.mdc-switch--selected .mdc-switch__track::after{border-width:var(--mat-switch-selected-track-outline-width);border-color:var(--mat-switch-selected-track-outline-color)}.mdc-switch--disabled .mdc-switch__track::before,.mdc-switch--disabled .mdc-switch__track::after{border-width:var(--mat-switch-disabled-unselected-track-outline-width);border-color:var(--mat-switch-disabled-unselected-track-outline-color)}.mdc-switch__track::before{transition:transform 75ms 0ms cubic-bezier(0, 0, 0.2, 1);transform:translateX(0);background:var(--mdc-switch-unselected-track-color)}.mdc-switch--selected .mdc-switch__track::before{transition:transform 75ms 0ms cubic-bezier(0.4, 0, 0.6, 1);transform:translateX(100%)}[dir=rtl] .mdc-switch--selected .mdc-switch--selected .mdc-switch__track::before{transform:translateX(-100%)}.mdc-switch--selected .mdc-switch__track::before{opacity:var(--mat-switch-hidden-track-opacity);transition:var(--mat-switch-hidden-track-transition)}.mdc-switch--unselected .mdc-switch__track::before{opacity:var(--mat-switch-visible-track-opacity);transition:var(--mat-switch-visible-track-transition)}.mdc-switch:enabled:hover:not(:focus):not(:active) .mdc-switch__track::before{background:var(--mdc-switch-unselected-hover-track-color)}.mdc-switch:enabled:focus:not(:active) .mdc-switch__track::before{background:var(--mdc-switch-unselected-focus-track-color)}.mdc-switch:enabled:active .mdc-switch__track::before{background:var(--mdc-switch-unselected-pressed-track-color)}.mdc-switch:disabled .mdc-switch__track::before{background:var(--mdc-switch-disabled-unselected-track-color)}.mdc-switch__track::after{transform:translateX(-100%);background:var(--mdc-switch-selected-track-color)}[dir=rtl] .mdc-switch__track::after{transform:translateX(100%)}.mdc-switch--selected .mdc-switch__track::after{transform:translateX(0)}.mdc-switch--selected .mdc-switch__track::after{opacity:var(--mat-switch-visible-track-opacity);transition:var(--mat-switch-visible-track-transition)}.mdc-switch--unselected .mdc-switch__track::after{opacity:var(--mat-switch-hidden-track-opacity);transition:var(--mat-switch-hidden-track-transition)}.mdc-switch:enabled:hover:not(:focus):not(:active) .mdc-switch__track::after{background:var(--mdc-switch-selected-hover-track-color)}.mdc-switch:enabled:focus:not(:active) .mdc-switch__track::after{background:var(--mdc-switch-selected-focus-track-color)}.mdc-switch:enabled:active .mdc-switch__track::after{background:var(--mdc-switch-selected-pressed-track-color)}.mdc-switch:disabled .mdc-switch__track::after{background:var(--mdc-switch-disabled-selected-track-color)}.mdc-switch__handle-track{height:100%;pointer-events:none;position:absolute;top:0;transition:transform 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1);left:0;right:auto;transform:translateX(0);width:calc(100% - var(--mdc-switch-handle-width))}[dir=rtl] .mdc-switch__handle-track{left:auto;right:0}.mdc-switch--selected .mdc-switch__handle-track{transform:translateX(100%)}[dir=rtl] .mdc-switch--selected .mdc-switch__handle-track{transform:translateX(-100%)}.mdc-switch__handle{display:flex;pointer-events:auto;position:absolute;top:50%;transform:translateY(-50%);left:0;right:auto;transition:width 75ms cubic-bezier(0.4, 0, 0.2, 1),height 75ms cubic-bezier(0.4, 0, 0.2, 1),margin 75ms cubic-bezier(0.4, 0, 0.2, 1);width:var(--mdc-switch-handle-width);height:var(--mdc-switch-handle-height);border-radius:var(--mdc-switch-handle-shape)}[dir=rtl] .mdc-switch__handle{left:auto;right:0}.mat-mdc-slide-toggle .mdc-switch--unselected .mdc-switch__handle{width:var(--mat-switch-unselected-handle-size);height:var(--mat-switch-unselected-handle-size);margin:var(--mat-switch-unselected-handle-horizontal-margin)}.mat-mdc-slide-toggle .mdc-switch--unselected .mdc-switch__handle:has(.mdc-switch__icons){margin:var(--mat-switch-unselected-with-icon-handle-horizontal-margin)}.mat-mdc-slide-toggle .mdc-switch--selected .mdc-switch__handle{width:var(--mat-switch-selected-handle-size);height:var(--mat-switch-selected-handle-size);margin:var(--mat-switch-selected-handle-horizontal-margin)}.mat-mdc-slide-toggle .mdc-switch--selected .mdc-switch__handle:has(.mdc-switch__icons){margin:var(--mat-switch-selected-with-icon-handle-horizontal-margin)}.mat-mdc-slide-toggle .mdc-switch__handle:has(.mdc-switch__icons){width:var(--mat-switch-with-icon-handle-size);height:var(--mat-switch-with-icon-handle-size)}.mat-mdc-slide-toggle:active .mdc-switch:not(.mdc-switch--disabled) .mdc-switch__handle{width:var(--mat-switch-pressed-handle-size);height:var(--mat-switch-pressed-handle-size)}.mat-mdc-slide-toggle:active .mdc-switch--selected:not(.mdc-switch--disabled) .mdc-switch__handle{margin:var(--mat-switch-selected-pressed-handle-horizontal-margin)}.mat-mdc-slide-toggle:active .mdc-switch--unselected:not(.mdc-switch--disabled) .mdc-switch__handle{margin:var(--mat-switch-unselected-pressed-handle-horizontal-margin)}.mdc-switch--disabled.mdc-switch--selected .mdc-switch__handle::after{opacity:var(--mat-switch-disabled-selected-handle-opacity)}.mdc-switch--disabled.mdc-switch--unselected .mdc-switch__handle::after{opacity:var(--mat-switch-disabled-unselected-handle-opacity)}.mdc-switch__handle::before,.mdc-switch__handle::after{border:1px solid rgba(0,0,0,0);border-radius:inherit;box-sizing:border-box;content:"";width:100%;height:100%;left:0;position:absolute;top:0;transition:background-color 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1),border-color 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1);z-index:-1}.cdk-high-contrast-active .mdc-switch__handle::before,.cdk-high-contrast-active .mdc-switch__handle::after{border-color:currentColor}.mdc-switch--selected:enabled .mdc-switch__handle::after{background:var(--mdc-switch-selected-handle-color)}.mdc-switch--selected:enabled:hover:not(:focus):not(:active) .mdc-switch__handle::after{background:var(--mdc-switch-selected-hover-handle-color)}.mdc-switch--selected:enabled:focus:not(:active) .mdc-switch__handle::after{background:var(--mdc-switch-selected-focus-handle-color)}.mdc-switch--selected:enabled:active .mdc-switch__handle::after{background:var(--mdc-switch-selected-pressed-handle-color)}.mdc-switch--selected:disabled .mdc-switch__handle::after{background:var(--mdc-switch-disabled-selected-handle-color)}.mdc-switch--unselected:enabled .mdc-switch__handle::after{background:var(--mdc-switch-unselected-handle-color)}.mdc-switch--unselected:enabled:hover:not(:focus):not(:active) .mdc-switch__handle::after{background:var(--mdc-switch-unselected-hover-handle-color)}.mdc-switch--unselected:enabled:focus:not(:active) .mdc-switch__handle::after{background:var(--mdc-switch-unselected-focus-handle-color)}.mdc-switch--unselected:enabled:active .mdc-switch__handle::after{background:var(--mdc-switch-unselected-pressed-handle-color)}.mdc-switch--unselected:disabled .mdc-switch__handle::after{background:var(--mdc-switch-disabled-unselected-handle-color)}.mdc-switch__handle::before{background:var(--mdc-switch-handle-surface-color)}.mdc-switch__shadow{border-radius:inherit;bottom:0;left:0;position:absolute;right:0;top:0}.mdc-switch:enabled .mdc-switch__shadow{box-shadow:var(--mdc-switch-handle-elevation-shadow)}.mdc-switch:disabled .mdc-switch__shadow{box-shadow:var(--mdc-switch-disabled-handle-elevation-shadow)}.mdc-switch__ripple{left:50%;position:absolute;top:50%;transform:translate(-50%, -50%);z-index:-1;width:var(--mdc-switch-state-layer-size);height:var(--mdc-switch-state-layer-size)}.mdc-switch__ripple::after{content:"";opacity:0}.mdc-switch:disabled .mdc-switch__ripple::after{display:none}.mdc-switch:hover .mdc-switch__ripple::after{opacity:.04;transition:75ms opacity cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-slide-toggle.mat-mdc-slide-toggle-focused .mdc-switch .mdc-switch__ripple::after{opacity:.12}.mdc-switch--unselected:enabled:hover:not(:focus) .mdc-switch__ripple::after{background:var(--mdc-switch-unselected-hover-state-layer-color)}.mdc-switch--unselected:enabled:focus .mdc-switch__ripple::after{background:var(--mdc-switch-unselected-focus-state-layer-color)}.mdc-switch--unselected:enabled:active .mdc-switch__ripple::after{background:var(--mdc-switch-unselected-pressed-state-layer-color);opacity:var(--mdc-switch-unselected-pressed-state-layer-opacity);transition:opacity 75ms linear}.mdc-switch--selected:enabled:hover:not(:focus) .mdc-switch__ripple::after{background:var(--mdc-switch-selected-hover-state-layer-color)}.mdc-switch--selected:enabled:focus .mdc-switch__ripple::after{background:var(--mdc-switch-selected-focus-state-layer-color)}.mdc-switch--selected:enabled:active .mdc-switch__ripple::after{background:var(--mdc-switch-selected-pressed-state-layer-color);opacity:var(--mdc-switch-selected-pressed-state-layer-opacity);transition:opacity 75ms linear}.mdc-switch__icons{position:relative;height:100%;width:100%;z-index:1}.mdc-switch--unselected:disabled .mdc-switch__icons{opacity:var(--mdc-switch-disabled-unselected-icon-opacity)}.mdc-switch--selected:disabled .mdc-switch__icons{opacity:var(--mdc-switch-disabled-selected-icon-opacity)}.mdc-switch__icon{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0;opacity:0;transition:opacity 30ms 0ms cubic-bezier(0.4, 0, 1, 1)}.mdc-switch--unselected .mdc-switch__icon{width:var(--mdc-switch-unselected-icon-size);height:var(--mdc-switch-unselected-icon-size);fill:var(--mdc-switch-unselected-icon-color)}.mdc-switch--unselected:disabled .mdc-switch__icon{fill:var(--mdc-switch-disabled-unselected-icon-color)}.mdc-switch--selected .mdc-switch__icon{width:var(--mdc-switch-selected-icon-size);height:var(--mdc-switch-selected-icon-size);fill:var(--mdc-switch-selected-icon-color)}.mdc-switch--selected:disabled .mdc-switch__icon{fill:var(--mdc-switch-disabled-selected-icon-color)}.mdc-switch--selected .mdc-switch__icon--on,.mdc-switch--unselected .mdc-switch__icon--off{opacity:1;transition:opacity 45ms 30ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-slide-toggle{display:inline-block;-webkit-tap-highlight-color:rgba(0,0,0,0);outline:0}.mat-mdc-slide-toggle .mat-mdc-slide-toggle-ripple,.mat-mdc-slide-toggle .mdc-switch__ripple::after{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:50%;pointer-events:none}.mat-mdc-slide-toggle .mat-mdc-slide-toggle-ripple:not(:empty),.mat-mdc-slide-toggle .mdc-switch__ripple::after:not(:empty){transform:translateZ(0)}.mat-mdc-slide-toggle.mat-mdc-slide-toggle-focused .mat-mdc-focus-indicator::before{content:""}.mat-mdc-slide-toggle .mat-internal-form-field{color:var(--mat-switch-label-text-color);font-family:var(--mat-switch-label-text-font);line-height:var(--mat-switch-label-text-line-height);font-size:var(--mat-switch-label-text-size);letter-spacing:var(--mat-switch-label-text-tracking);font-weight:var(--mat-switch-label-text-weight)}.mat-mdc-slide-toggle .mat-ripple-element{opacity:.12}.mat-mdc-slide-toggle .mat-mdc-focus-indicator::before{border-radius:50%}.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__handle-track,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__icon,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__handle::before,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__handle::after,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__track::before,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__track::after{transition:none}.mat-mdc-slide-toggle .mdc-switch:enabled+.mdc-label{cursor:pointer}.mat-mdc-slide-toggle .mdc-switch--disabled+label{color:var(--mdc-switch-disabled-label-text-color)}'],encapsulation:2,changeDetection:0});let i=e;return i})();var GC=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=ot({type:e}),e.\u0275inj=rt({imports:[HC,qt,qt]});let i=e;return i})();var Ufe=["container"],Hfe=["oneLineText"];function Gfe(i,e){if(i&1&&(v(0,"div",8),S(1," Showing at most "),v(2,"span",9),S(3),b()()),i&2){let t=I(2);w(2),N("matTooltipShowDelay",300),w(),Me(" ",t.getMaxConstValueCount()," elements ")}}function jfe(i,e){i&1&&(v(0,"div",8),S(1," Showing "),v(2,"span",9),S(3," all elements "),b()()),i&2&&(w(2),N("matTooltipShowDelay",300))}function Wfe(i,e){if(i&1&&(W(0,Gfe,4,2,"div",8)(1,jfe,4,1,"div",8),v(2,"div",4),S(3),b()),i&2){let t=I();ae(t.getMaxConstValueCount()>0?0:t.getMaxConstValueCount()<0?1:-1),w(3),nt(t.text)}}function $fe(i,e){if(i&1&&(v(0,"div",11)(1,"div",12),S(2),b(),v(3,"div",13),S(4),b()()),i&2){let t=e.$implicit,n=e.$index;w(2),nt(n),w(2),nt(t)}}function qfe(i,e){if(i&1&&(v(0,"div",8),S(1," Namespace hierarchy "),b(),v(2,"div",10),ln(3,$fe,5,2,"div",11,K0),b()),i&2){let t=I();w(3),cn(t.namespaceComponents)}}function Yfe(i,e){if(i&1&&(v(0,"div",4),S(1),b()),i&2){let t=I();w(),nt(t.formatQuantization)}}function Xfe(i,e){if(i&1&&(v(0,"div",5),S(1),b()),i&2){let t=I();w(),nt(t.text)}}var vj=(()=>{class i{appService;changeDetectorRef;text="";type="";bgColor="transparent";textColor="inherit";container;oneLineText;expanded=!1;hasOverflowInternal=!1;resizeObserver;constructor(t,n){this.appService=t,this.changeDetectorRef=n}get hostExpanded(){return this.expanded}ngAfterViewInit(){setTimeout(()=>{this.updateHasOverflow(),this.changeDetectorRef.markForCheck()}),this.container&&(this.resizeObserver=new ResizeObserver(()=>{this.updateHasOverflow(),this.changeDetectorRef.markForCheck()}),this.resizeObserver.observe(this.container.nativeElement))}ngOnChanges(){setTimeout(()=>{this.updateHasOverflow(),this.changeDetectorRef.markForCheck()})}ngOnDestroy(){this.resizeObserver&&this.resizeObserver.disconnect()}handleToggleExpand(t,n=!1){!this.hasOverflow&&!this.hasMultipleLines||(t.stopPropagation(),!(n&&this.expanded)&&(this.expanded=!this.expanded))}getMaxConstValueCount(){return this.appService.config()?.maxConstValueCount??0}get hasOverflow(){return this.updateHasOverflow(),this.hasOverflowInternal}get hasMultipleLines(){return this.type!=="namespace"&&this.text.includes(` +`],changeDetection:0})}return i})();var jfe=["switch"],Wfe=["*"];function $fe(i,e){i&1&&(v(0,"div",10),uo(),v(1,"svg",12),ee(2,"path",13),b(),v(3,"svg",14),ee(4,"path",15),b()())}var qfe=new me("mat-slide-toggle-default-options",{providedIn:"root",factory:()=>({disableToggleValue:!1,hideIcon:!1})}),Yfe={provide:Ba,useExisting:kr(()=>GC),multi:!0},HC=class{constructor(e,t){this.source=e,this.checked=t}},Xfe=0,GC=(()=>{let e=class e{_createChangeEvent(n){return new HC(this,n)}get buttonId(){return`${this.id||this._uniqueId}-button`}focus(){this._switchElement.nativeElement.focus()}get checked(){return this._checked}set checked(n){this._checked=n,this._changeDetectorRef.markForCheck()}get inputId(){return`${this.id||this._uniqueId}-input`}constructor(n,r,o,s,a,c){this._elementRef=n,this._focusMonitor=r,this._changeDetectorRef=o,this.defaults=a,this._onChange=l=>{},this._onTouched=()=>{},this._validatorOnChange=()=>{},this._checked=!1,this.name=null,this.labelPosition="after",this.ariaLabel=null,this.ariaLabelledby=null,this.disabled=!1,this.disableRipple=!1,this.tabIndex=0,this.change=new Ie,this.toggleChange=new Ie,this.tabIndex=parseInt(s)||0,this.color=a.color||"accent",this._noopAnimations=c==="NoopAnimations",this.id=this._uniqueId=`mat-mdc-slide-toggle-${++Xfe}`,this.hideIcon=a.hideIcon??!1,this._labelId=this._uniqueId+"-label"}ngAfterContentInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(n=>{n==="keyboard"||n==="program"?(this._focused=!0,this._changeDetectorRef.markForCheck()):n||Promise.resolve().then(()=>{this._focused=!1,this._onTouched(),this._changeDetectorRef.markForCheck()})})}ngOnChanges(n){n.required&&this._validatorOnChange()}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}writeValue(n){this.checked=!!n}registerOnChange(n){this._onChange=n}registerOnTouched(n){this._onTouched=n}validate(n){return this.required&&n.value!==!0?{required:!0}:null}registerOnValidatorChange(n){this._validatorOnChange=n}setDisabledState(n){this.disabled=n,this._changeDetectorRef.markForCheck()}toggle(){this.checked=!this.checked,this._onChange(this.checked)}_emitChangeEvent(){this._onChange(this.checked),this.change.emit(this._createChangeEvent(this.checked))}_handleClick(){this.toggleChange.emit(),this.defaults.disableToggleValue||(this.checked=!this.checked,this._onChange(this.checked),this.change.emit(new HC(this,this.checked)))}_getAriaLabelledBy(){return this.ariaLabelledby?this.ariaLabelledby:this.ariaLabel?null:this._labelId}};e.\u0275fac=function(r){return new(r||e)(M(Re),M(Gr),M(Ne),Lr("tabindex"),M(qfe),M(jn,8))},e.\u0275cmp=ce({type:e,selectors:[["mat-slide-toggle"]],viewQuery:function(r,o){if(r&1&&Ee(jfe,5),r&2){let s;be(s=ye())&&(o._switchElement=s.first)}},hostAttrs:[1,"mat-mdc-slide-toggle"],hostVars:13,hostBindings:function(r,o){r&2&&(Fo("id",o.id),Ye("tabindex",null)("aria-label",null)("name",null)("aria-labelledby",null),Vr(o.color?"mat-"+o.color:""),re("mat-mdc-slide-toggle-focused",o._focused)("mat-mdc-slide-toggle-checked",o.checked)("_mat-animation-noopable",o._noopAnimations))},inputs:{name:"name",id:"id",labelPosition:"labelPosition",ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],ariaDescribedby:[0,"aria-describedby","ariaDescribedby"],required:[2,"required","required",et],color:"color",disabled:[2,"disabled","disabled",et],disableRipple:[2,"disableRipple","disableRipple",et],tabIndex:[2,"tabIndex","tabIndex",n=>n==null?0:ni(n)],checked:[2,"checked","checked",et],hideIcon:[2,"hideIcon","hideIcon",et]},outputs:{change:"change",toggleChange:"toggleChange"},exportAs:["matSlideToggle"],standalone:!0,features:[Ft([Yfe,{provide:vd,useExisting:e,multi:!0}]),nn,dn,le],ngContentSelectors:Wfe,decls:13,vars:24,consts:[["switch",""],["mat-internal-form-field","",3,"labelPosition"],["role","switch","type","button",1,"mdc-switch",3,"click","tabIndex","disabled"],[1,"mdc-switch__track"],[1,"mdc-switch__handle-track"],[1,"mdc-switch__handle"],[1,"mdc-switch__shadow"],[1,"mdc-elevation-overlay"],[1,"mdc-switch__ripple"],["mat-ripple","",1,"mat-mdc-slide-toggle-ripple","mat-mdc-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered"],[1,"mdc-switch__icons"],[1,"mdc-label",3,"click","for"],["viewBox","0 0 24 24","aria-hidden","true",1,"mdc-switch__icon","mdc-switch__icon--on"],["d","M19.69,5.23L8.96,15.96l-4.23-4.23L2.96,13.5l6,6L21.46,7L19.69,5.23z"],["viewBox","0 0 24 24","aria-hidden","true",1,"mdc-switch__icon","mdc-switch__icon--off"],["d","M20 13H4v-2h16v2z"]],template:function(r,o){if(r&1){let s=ne();In(),v(0,"div",1)(1,"button",2,0),H("click",function(){return B(s),V(o._handleClick())}),ee(3,"div",3),v(4,"div",4)(5,"div",5)(6,"div",6),ee(7,"div",7),b(),v(8,"div",8),ee(9,"div",9),b(),$(10,$fe,5,0,"div",10),b()()(),v(11,"label",11),H("click",function(c){return B(s),V(c.stopPropagation())}),Wt(12),b()()}if(r&2){let s=ve(2);R("labelPosition",o.labelPosition),w(),re("mdc-switch--selected",o.checked)("mdc-switch--unselected",!o.checked)("mdc-switch--checked",o.checked)("mdc-switch--disabled",o.disabled),R("tabIndex",o.disabled?-1:o.tabIndex)("disabled",o.disabled),Ye("id",o.buttonId)("name",o.name)("aria-label",o.ariaLabel)("aria-labelledby",o._getAriaLabelledBy())("aria-describedby",o.ariaDescribedby)("aria-required",o.required||null)("aria-checked",o.checked),w(8),R("matRippleTrigger",s)("matRippleDisabled",o.disableRipple||o.disabled)("matRippleCentered",!0),w(),oe(o.hideIcon?-1:10),w(),R("for",o.buttonId),Ye("id",o._labelId)}},dependencies:[gs,Hh],styles:['.mdc-switch{align-items:center;background:none;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;margin:0;outline:none;overflow:visible;padding:0;position:relative;width:var(--mdc-switch-track-width)}.mdc-switch:disabled{cursor:default;pointer-events:none}.mdc-switch__track{overflow:hidden;position:relative;width:100%;height:var(--mdc-switch-track-height);border-radius:var(--mdc-switch-track-shape)}.mdc-switch:disabled .mdc-switch__track{opacity:var(--mdc-switch-disabled-track-opacity)}.mdc-switch__track::before,.mdc-switch__track::after{border:1px solid rgba(0,0,0,0);border-radius:inherit;box-sizing:border-box;content:"";height:100%;left:0;position:absolute;width:100%;border-width:var(--mat-switch-track-outline-width);border-color:var(--mat-switch-track-outline-color)}.cdk-high-contrast-active .mdc-switch__track::before,.cdk-high-contrast-active .mdc-switch__track::after{border-color:currentColor}.mdc-switch--selected .mdc-switch__track::before,.mdc-switch--selected .mdc-switch__track::after{border-width:var(--mat-switch-selected-track-outline-width);border-color:var(--mat-switch-selected-track-outline-color)}.mdc-switch--disabled .mdc-switch__track::before,.mdc-switch--disabled .mdc-switch__track::after{border-width:var(--mat-switch-disabled-unselected-track-outline-width);border-color:var(--mat-switch-disabled-unselected-track-outline-color)}.mdc-switch__track::before{transition:transform 75ms 0ms cubic-bezier(0, 0, 0.2, 1);transform:translateX(0);background:var(--mdc-switch-unselected-track-color)}.mdc-switch--selected .mdc-switch__track::before{transition:transform 75ms 0ms cubic-bezier(0.4, 0, 0.6, 1);transform:translateX(100%)}[dir=rtl] .mdc-switch--selected .mdc-switch--selected .mdc-switch__track::before{transform:translateX(-100%)}.mdc-switch--selected .mdc-switch__track::before{opacity:var(--mat-switch-hidden-track-opacity);transition:var(--mat-switch-hidden-track-transition)}.mdc-switch--unselected .mdc-switch__track::before{opacity:var(--mat-switch-visible-track-opacity);transition:var(--mat-switch-visible-track-transition)}.mdc-switch:enabled:hover:not(:focus):not(:active) .mdc-switch__track::before{background:var(--mdc-switch-unselected-hover-track-color)}.mdc-switch:enabled:focus:not(:active) .mdc-switch__track::before{background:var(--mdc-switch-unselected-focus-track-color)}.mdc-switch:enabled:active .mdc-switch__track::before{background:var(--mdc-switch-unselected-pressed-track-color)}.mdc-switch:disabled .mdc-switch__track::before{background:var(--mdc-switch-disabled-unselected-track-color)}.mdc-switch__track::after{transform:translateX(-100%);background:var(--mdc-switch-selected-track-color)}[dir=rtl] .mdc-switch__track::after{transform:translateX(100%)}.mdc-switch--selected .mdc-switch__track::after{transform:translateX(0)}.mdc-switch--selected .mdc-switch__track::after{opacity:var(--mat-switch-visible-track-opacity);transition:var(--mat-switch-visible-track-transition)}.mdc-switch--unselected .mdc-switch__track::after{opacity:var(--mat-switch-hidden-track-opacity);transition:var(--mat-switch-hidden-track-transition)}.mdc-switch:enabled:hover:not(:focus):not(:active) .mdc-switch__track::after{background:var(--mdc-switch-selected-hover-track-color)}.mdc-switch:enabled:focus:not(:active) .mdc-switch__track::after{background:var(--mdc-switch-selected-focus-track-color)}.mdc-switch:enabled:active .mdc-switch__track::after{background:var(--mdc-switch-selected-pressed-track-color)}.mdc-switch:disabled .mdc-switch__track::after{background:var(--mdc-switch-disabled-selected-track-color)}.mdc-switch__handle-track{height:100%;pointer-events:none;position:absolute;top:0;transition:transform 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1);left:0;right:auto;transform:translateX(0);width:calc(100% - var(--mdc-switch-handle-width))}[dir=rtl] .mdc-switch__handle-track{left:auto;right:0}.mdc-switch--selected .mdc-switch__handle-track{transform:translateX(100%)}[dir=rtl] .mdc-switch--selected .mdc-switch__handle-track{transform:translateX(-100%)}.mdc-switch__handle{display:flex;pointer-events:auto;position:absolute;top:50%;transform:translateY(-50%);left:0;right:auto;transition:width 75ms cubic-bezier(0.4, 0, 0.2, 1),height 75ms cubic-bezier(0.4, 0, 0.2, 1),margin 75ms cubic-bezier(0.4, 0, 0.2, 1);width:var(--mdc-switch-handle-width);height:var(--mdc-switch-handle-height);border-radius:var(--mdc-switch-handle-shape)}[dir=rtl] .mdc-switch__handle{left:auto;right:0}.mat-mdc-slide-toggle .mdc-switch--unselected .mdc-switch__handle{width:var(--mat-switch-unselected-handle-size);height:var(--mat-switch-unselected-handle-size);margin:var(--mat-switch-unselected-handle-horizontal-margin)}.mat-mdc-slide-toggle .mdc-switch--unselected .mdc-switch__handle:has(.mdc-switch__icons){margin:var(--mat-switch-unselected-with-icon-handle-horizontal-margin)}.mat-mdc-slide-toggle .mdc-switch--selected .mdc-switch__handle{width:var(--mat-switch-selected-handle-size);height:var(--mat-switch-selected-handle-size);margin:var(--mat-switch-selected-handle-horizontal-margin)}.mat-mdc-slide-toggle .mdc-switch--selected .mdc-switch__handle:has(.mdc-switch__icons){margin:var(--mat-switch-selected-with-icon-handle-horizontal-margin)}.mat-mdc-slide-toggle .mdc-switch__handle:has(.mdc-switch__icons){width:var(--mat-switch-with-icon-handle-size);height:var(--mat-switch-with-icon-handle-size)}.mat-mdc-slide-toggle:active .mdc-switch:not(.mdc-switch--disabled) .mdc-switch__handle{width:var(--mat-switch-pressed-handle-size);height:var(--mat-switch-pressed-handle-size)}.mat-mdc-slide-toggle:active .mdc-switch--selected:not(.mdc-switch--disabled) .mdc-switch__handle{margin:var(--mat-switch-selected-pressed-handle-horizontal-margin)}.mat-mdc-slide-toggle:active .mdc-switch--unselected:not(.mdc-switch--disabled) .mdc-switch__handle{margin:var(--mat-switch-unselected-pressed-handle-horizontal-margin)}.mdc-switch--disabled.mdc-switch--selected .mdc-switch__handle::after{opacity:var(--mat-switch-disabled-selected-handle-opacity)}.mdc-switch--disabled.mdc-switch--unselected .mdc-switch__handle::after{opacity:var(--mat-switch-disabled-unselected-handle-opacity)}.mdc-switch__handle::before,.mdc-switch__handle::after{border:1px solid rgba(0,0,0,0);border-radius:inherit;box-sizing:border-box;content:"";width:100%;height:100%;left:0;position:absolute;top:0;transition:background-color 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1),border-color 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1);z-index:-1}.cdk-high-contrast-active .mdc-switch__handle::before,.cdk-high-contrast-active .mdc-switch__handle::after{border-color:currentColor}.mdc-switch--selected:enabled .mdc-switch__handle::after{background:var(--mdc-switch-selected-handle-color)}.mdc-switch--selected:enabled:hover:not(:focus):not(:active) .mdc-switch__handle::after{background:var(--mdc-switch-selected-hover-handle-color)}.mdc-switch--selected:enabled:focus:not(:active) .mdc-switch__handle::after{background:var(--mdc-switch-selected-focus-handle-color)}.mdc-switch--selected:enabled:active .mdc-switch__handle::after{background:var(--mdc-switch-selected-pressed-handle-color)}.mdc-switch--selected:disabled .mdc-switch__handle::after{background:var(--mdc-switch-disabled-selected-handle-color)}.mdc-switch--unselected:enabled .mdc-switch__handle::after{background:var(--mdc-switch-unselected-handle-color)}.mdc-switch--unselected:enabled:hover:not(:focus):not(:active) .mdc-switch__handle::after{background:var(--mdc-switch-unselected-hover-handle-color)}.mdc-switch--unselected:enabled:focus:not(:active) .mdc-switch__handle::after{background:var(--mdc-switch-unselected-focus-handle-color)}.mdc-switch--unselected:enabled:active .mdc-switch__handle::after{background:var(--mdc-switch-unselected-pressed-handle-color)}.mdc-switch--unselected:disabled .mdc-switch__handle::after{background:var(--mdc-switch-disabled-unselected-handle-color)}.mdc-switch__handle::before{background:var(--mdc-switch-handle-surface-color)}.mdc-switch__shadow{border-radius:inherit;bottom:0;left:0;position:absolute;right:0;top:0}.mdc-switch:enabled .mdc-switch__shadow{box-shadow:var(--mdc-switch-handle-elevation-shadow)}.mdc-switch:disabled .mdc-switch__shadow{box-shadow:var(--mdc-switch-disabled-handle-elevation-shadow)}.mdc-switch__ripple{left:50%;position:absolute;top:50%;transform:translate(-50%, -50%);z-index:-1;width:var(--mdc-switch-state-layer-size);height:var(--mdc-switch-state-layer-size)}.mdc-switch__ripple::after{content:"";opacity:0}.mdc-switch:disabled .mdc-switch__ripple::after{display:none}.mdc-switch:hover .mdc-switch__ripple::after{opacity:.04;transition:75ms opacity cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-slide-toggle.mat-mdc-slide-toggle-focused .mdc-switch .mdc-switch__ripple::after{opacity:.12}.mdc-switch--unselected:enabled:hover:not(:focus) .mdc-switch__ripple::after{background:var(--mdc-switch-unselected-hover-state-layer-color)}.mdc-switch--unselected:enabled:focus .mdc-switch__ripple::after{background:var(--mdc-switch-unselected-focus-state-layer-color)}.mdc-switch--unselected:enabled:active .mdc-switch__ripple::after{background:var(--mdc-switch-unselected-pressed-state-layer-color);opacity:var(--mdc-switch-unselected-pressed-state-layer-opacity);transition:opacity 75ms linear}.mdc-switch--selected:enabled:hover:not(:focus) .mdc-switch__ripple::after{background:var(--mdc-switch-selected-hover-state-layer-color)}.mdc-switch--selected:enabled:focus .mdc-switch__ripple::after{background:var(--mdc-switch-selected-focus-state-layer-color)}.mdc-switch--selected:enabled:active .mdc-switch__ripple::after{background:var(--mdc-switch-selected-pressed-state-layer-color);opacity:var(--mdc-switch-selected-pressed-state-layer-opacity);transition:opacity 75ms linear}.mdc-switch__icons{position:relative;height:100%;width:100%;z-index:1}.mdc-switch--unselected:disabled .mdc-switch__icons{opacity:var(--mdc-switch-disabled-unselected-icon-opacity)}.mdc-switch--selected:disabled .mdc-switch__icons{opacity:var(--mdc-switch-disabled-selected-icon-opacity)}.mdc-switch__icon{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0;opacity:0;transition:opacity 30ms 0ms cubic-bezier(0.4, 0, 1, 1)}.mdc-switch--unselected .mdc-switch__icon{width:var(--mdc-switch-unselected-icon-size);height:var(--mdc-switch-unselected-icon-size);fill:var(--mdc-switch-unselected-icon-color)}.mdc-switch--unselected:disabled .mdc-switch__icon{fill:var(--mdc-switch-disabled-unselected-icon-color)}.mdc-switch--selected .mdc-switch__icon{width:var(--mdc-switch-selected-icon-size);height:var(--mdc-switch-selected-icon-size);fill:var(--mdc-switch-selected-icon-color)}.mdc-switch--selected:disabled .mdc-switch__icon{fill:var(--mdc-switch-disabled-selected-icon-color)}.mdc-switch--selected .mdc-switch__icon--on,.mdc-switch--unselected .mdc-switch__icon--off{opacity:1;transition:opacity 45ms 30ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-slide-toggle{display:inline-block;-webkit-tap-highlight-color:rgba(0,0,0,0);outline:0}.mat-mdc-slide-toggle .mat-mdc-slide-toggle-ripple,.mat-mdc-slide-toggle .mdc-switch__ripple::after{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:50%;pointer-events:none}.mat-mdc-slide-toggle .mat-mdc-slide-toggle-ripple:not(:empty),.mat-mdc-slide-toggle .mdc-switch__ripple::after:not(:empty){transform:translateZ(0)}.mat-mdc-slide-toggle.mat-mdc-slide-toggle-focused .mat-mdc-focus-indicator::before{content:""}.mat-mdc-slide-toggle .mat-internal-form-field{color:var(--mat-switch-label-text-color);font-family:var(--mat-switch-label-text-font);line-height:var(--mat-switch-label-text-line-height);font-size:var(--mat-switch-label-text-size);letter-spacing:var(--mat-switch-label-text-tracking);font-weight:var(--mat-switch-label-text-weight)}.mat-mdc-slide-toggle .mat-ripple-element{opacity:.12}.mat-mdc-slide-toggle .mat-mdc-focus-indicator::before{border-radius:50%}.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__handle-track,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__icon,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__handle::before,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__handle::after,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__track::before,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__track::after{transition:none}.mat-mdc-slide-toggle .mdc-switch:enabled+.mdc-label{cursor:pointer}.mat-mdc-slide-toggle .mdc-switch--disabled+label{color:var(--mdc-switch-disabled-label-text-color)}'],encapsulation:2,changeDetection:0});let i=e;return i})();var jC=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=rt({type:e}),e.\u0275inj=it({imports:[GC,Ut,Ut]});let i=e;return i})();var Qfe=["container"],Kfe=["oneLineText"];function Jfe(i,e){if(i&1&&(v(0,"div",8),S(1," Showing at most "),v(2,"span",9),S(3),b()()),i&2){let t=I(2);w(2),R("matTooltipShowDelay",300),w(),Se(" ",t.getMaxConstValueCount()," elements ")}}function eme(i,e){i&1&&(v(0,"div",8),S(1," Showing "),v(2,"span",9),S(3," all elements "),b()()),i&2&&(w(2),R("matTooltipShowDelay",300))}function tme(i,e){if(i&1&&($(0,Jfe,4,2,"div",8)(1,eme,4,1,"div",8),v(2,"div",4),S(3),b()),i&2){let t=I();oe(t.getMaxConstValueCount()>0?0:t.getMaxConstValueCount()<0?1:-1),w(3),st(t.text)}}function nme(i,e){if(i&1&&(v(0,"div",11)(1,"div",12),S(2),b(),v(3,"div",13),S(4),b()()),i&2){let t=e.$implicit,n=e.$index;w(2),st(n),w(2),st(t)}}function ime(i,e){if(i&1&&(v(0,"div",8),S(1," Namespace hierarchy "),b(),v(2,"div",10),rn(3,nme,5,2,"div",11,tb),b()),i&2){let t=I();w(3),on(t.namespaceComponents)}}function rme(i,e){if(i&1&&(v(0,"div",4),S(1),b()),i&2){let t=I();w(),st(t.formatQuantization)}}function ome(i,e){if(i&1&&(v(0,"div",5),S(1),b()),i&2){let t=I();w(),st(t.text)}}var Sj=(()=>{class i{appService;changeDetectorRef;text="";type="";bgColor="transparent";textColor="inherit";container;oneLineText;expanded=!1;hasOverflowInternal=!1;resizeObserver;constructor(t,n){this.appService=t,this.changeDetectorRef=n}get hostExpanded(){return this.expanded}ngAfterViewInit(){setTimeout(()=>{this.updateHasOverflow(),this.changeDetectorRef.markForCheck()}),this.container&&(this.resizeObserver=new ResizeObserver(()=>{this.updateHasOverflow(),this.changeDetectorRef.markForCheck()}),this.resizeObserver.observe(this.container.nativeElement))}ngOnChanges(){setTimeout(()=>{this.updateHasOverflow(),this.changeDetectorRef.markForCheck()})}ngOnDestroy(){this.resizeObserver&&this.resizeObserver.disconnect()}handleToggleExpand(t,n=!1){!this.hasOverflow&&!this.hasMultipleLines||(t.stopPropagation(),!(n&&this.expanded)&&(this.expanded=!this.expanded))}getMaxConstValueCount(){return this.appService.config()?.maxConstValueCount??0}get hasOverflow(){return this.updateHasOverflow(),this.hasOverflowInternal}get hasMultipleLines(){return this.type!=="namespace"&&this.text.includes(` `)}get iconName(){return this.expanded?"unfold_less":"unfold_more"}get hasBgColor(){return this.bgColor!=="transparent"}get namespaceComponents(){let t=this.text.split("/");return this.text!==""&&t.unshift(""),t}get formatQuantization(){return this.text.replace("[","").replace("]","").split(",").map(n=>n.trim()).join(` -`)}updateHasOverflow(){if(!this.oneLineText){this.hasOverflowInternal=!1;return}this.hasOverflowInternal=this.oneLineText.nativeElement.scrollWidth>this.oneLineText.nativeElement.offsetWidth,this.expanded&&(this.type==="namespace"||this.type==="values")&&(this.hasOverflowInternal=!0)}static \u0275fac=function(n){return new(n||i)(M(st),M(Fe))};static \u0275cmp=le({type:i,selectors:[["expandable-info-text"]],viewQuery:function(n,r){if(n&1&&(Te(Ufe,5),Te(Hfe,5)),n&2){let o;be(o=ye())&&(r.container=o.first),be(o=ye())&&(r.oneLineText=o.first)}},hostVars:2,hostBindings:function(n,r){n&2&&se("expanded",r.hostExpanded)},inputs:{text:"text",type:"type",bgColor:"bgColor",textColor:"textColor"},standalone:!0,features:[dn,ce],decls:13,vars:15,consts:[["container",""],["oneLineText",""],[1,"container",3,"click"],[1,"expanded-text"],[1,"monospace-content"],[1,"text-content"],[1,"one-line-text"],[1,"icon-container","toggle",3,"click"],[1,"info-msg"],["matTooltip","configurable in Settings in homepage","matTooltipPosition","above",1,"underline",3,"matTooltipShowDelay"],[1,"namespace-content"],[1,"namespace-row"],[1,"index"],[1,"namespace"]],template:function(n,r){if(n&1){let o=ie();v(0,"div",2,0),H("click",function(a){return V(o),z(r.handleToggleExpand(a,!0))}),v(2,"div",3),W(3,Wfe,4,2,"div",4)(4,qfe,5,0)(5,Yfe,2,1,"div",4)(6,Xfe,2,1,"div",5),b(),v(7,"div",6,1),S(9),b(),v(10,"div",7),H("click",function(a){return V(o),z(r.handleToggleExpand(a))}),v(11,"mat-icon"),S(12),b()()()}n&2&&(tn("background-color",r.bgColor)("color",r.textColor),se("has-bg-color",r.hasBgColor)("has-overflow",r.hasOverflow)("has-multiple-lines",r.hasMultipleLines)("expanded",r.expanded),w(3),ae(r.type==="values"?3:r.type==="namespace"?4:r.type==="quantization"?5:6),w(6),Me(" ",r.text," "),w(3),nt(r.iconName))},dependencies:[Ae,it,_t,Jt,Wn],styles:[`[_nghost-%COMP%]{overflow:hidden}.container[_ngcontent-%COMP%]{overflow:hidden;display:flex;align-items:flex-start;position:relative}.container.has-overflow[_ngcontent-%COMP%], .container.has-multiple-lines[_ngcontent-%COMP%]{cursor:pointer}.container.has-overflow[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%], .container.has-multiple-lines[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]{display:flex}.container.has-overflow[_ngcontent-%COMP%]:hover .icon-container[_ngcontent-%COMP%], .container.has-multiple-lines[_ngcontent-%COMP%]:hover .icon-container[_ngcontent-%COMP%]{opacity:1}.container.has-bg-color[_ngcontent-%COMP%]{border-radius:4px;padding-left:4px}.container.expanded[_ngcontent-%COMP%] .one-line-text[_ngcontent-%COMP%]{position:absolute;inset:0;visibility:hidden}.container.expanded[_ngcontent-%COMP%] .expanded-text[_ngcontent-%COMP%]{display:block;flex-grow:1;cursor:text}.container.expanded[_ngcontent-%COMP%] .expanded-text[_ngcontent-%COMP%] .info-msg[_ngcontent-%COMP%]{margin-bottom:2px;color:#999;font-size:12px}.container.expanded[_ngcontent-%COMP%] .expanded-text[_ngcontent-%COMP%] .info-msg[_ngcontent-%COMP%] .underline[_ngcontent-%COMP%]{text-decoration:underline dashed}.container.expanded[_ngcontent-%COMP%] .expanded-text[_ngcontent-%COMP%] .monospace-content[_ngcontent-%COMP%]{font-size:11px;white-space:pre-wrap;font-family:monospace;max-height:500px;overflow:auto}.container.expanded[_ngcontent-%COMP%] .expanded-text[_ngcontent-%COMP%] .text-content[_ngcontent-%COMP%]{white-space:pre-wrap;max-height:500px;overflow:auto}.container.expanded[_ngcontent-%COMP%] .expanded-text[_ngcontent-%COMP%] .namespace-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2px}.container.expanded[_ngcontent-%COMP%] .expanded-text[_ngcontent-%COMP%] .namespace-row[_ngcontent-%COMP%]{font-size:12px;line-height:14px;display:flex;align-items:flex-start}.container.expanded[_ngcontent-%COMP%] .expanded-text[_ngcontent-%COMP%] .namespace-row[_ngcontent-%COMP%] .index[_ngcontent-%COMP%]{width:16px;color:#999;flex-shrink:0;line-height:14px}.container.expanded[_ngcontent-%COMP%] .expanded-text[_ngcontent-%COMP%] .namespace-row[_ngcontent-%COMP%] .namespace[_ngcontent-%COMP%]{line-height:14px}.container.expanded[_ngcontent-%COMP%] .expanded-text[_ngcontent-%COMP%] .namespace-row[_ngcontent-%COMP%] .namespace.hidden[_ngcontent-%COMP%]{color:#999}.container.expanded[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]{background-color:#eee;border:1px solid #999}.container.expanded[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#999}.container[_ngcontent-%COMP%] .one-line-text[_ngcontent-%COMP%]{flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.container[_ngcontent-%COMP%] .expanded-text[_ngcontent-%COMP%]{display:none}.container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]{width:12px;height:12px;flex-shrink:0;display:none;background-color:#d7f1ff;border-radius:2px;margin-left:2px;cursor:pointer;align-items:center;justify-content:center;border:1px solid #4e90b5;opacity:.75}.container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#00639b;font-size:11px;width:11px;height:11px;font-weight:700} +`)}updateHasOverflow(){if(!this.oneLineText){this.hasOverflowInternal=!1;return}this.hasOverflowInternal=this.oneLineText.nativeElement.scrollWidth>this.oneLineText.nativeElement.offsetWidth,this.expanded&&(this.type==="namespace"||this.type==="values")&&(this.hasOverflowInternal=!0)}static \u0275fac=function(n){return new(n||i)(M(at),M(Ne))};static \u0275cmp=ce({type:i,selectors:[["expandable-info-text"]],viewQuery:function(n,r){if(n&1&&(Ee(Qfe,5),Ee(Kfe,5)),n&2){let o;be(o=ye())&&(r.container=o.first),be(o=ye())&&(r.oneLineText=o.first)}},hostVars:2,hostBindings:function(n,r){n&2&&re("expanded",r.hostExpanded)},inputs:{text:"text",type:"type",bgColor:"bgColor",textColor:"textColor"},standalone:!0,features:[dn,le],decls:13,vars:15,consts:[["container",""],["oneLineText",""],[1,"container",3,"click"],[1,"expanded-text"],[1,"monospace-content"],[1,"text-content"],[1,"one-line-text"],[1,"icon-container","toggle",3,"click"],[1,"info-msg"],["matTooltip","configurable in Settings in homepage","matTooltipPosition","above",1,"underline",3,"matTooltipShowDelay"],[1,"namespace-content"],[1,"namespace-row"],[1,"index"],[1,"namespace"]],template:function(n,r){if(n&1){let o=ne();v(0,"div",2,0),H("click",function(a){return B(o),V(r.handleToggleExpand(a,!0))}),v(2,"div",3),$(3,tme,4,2,"div",4)(4,ime,5,0)(5,rme,2,1,"div",4)(6,ome,2,1,"div",5),b(),v(7,"div",6,1),S(9),b(),v(10,"div",7),H("click",function(a){return B(o),V(r.handleToggleExpand(a))}),v(11,"mat-icon"),S(12),b()()()}n&2&&(Jt("background-color",r.bgColor)("color",r.textColor),re("has-bg-color",r.hasBgColor)("has-overflow",r.hasOverflow)("has-multiple-lines",r.hasMultipleLines)("expanded",r.expanded),w(3),oe(r.type==="values"?3:r.type==="namespace"?4:r.type==="quantization"?5:6),w(6),Se(" ",r.text," "),w(3),st(r.iconName))},dependencies:[Ae,tt,pt,Xt,Yn],styles:[`[_nghost-%COMP%]{overflow:hidden}.container[_ngcontent-%COMP%]{overflow:hidden;display:flex;align-items:flex-start;position:relative}.container.has-overflow[_ngcontent-%COMP%], .container.has-multiple-lines[_ngcontent-%COMP%]{cursor:pointer}.container.has-overflow[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%], .container.has-multiple-lines[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]{display:flex}.container.has-overflow[_ngcontent-%COMP%]:hover .icon-container[_ngcontent-%COMP%], .container.has-multiple-lines[_ngcontent-%COMP%]:hover .icon-container[_ngcontent-%COMP%]{opacity:1}.container.has-bg-color[_ngcontent-%COMP%]{border-radius:4px;padding-left:4px}.container.expanded[_ngcontent-%COMP%] .one-line-text[_ngcontent-%COMP%]{position:absolute;inset:0;visibility:hidden}.container.expanded[_ngcontent-%COMP%] .expanded-text[_ngcontent-%COMP%]{display:block;flex-grow:1;cursor:text}.container.expanded[_ngcontent-%COMP%] .expanded-text[_ngcontent-%COMP%] .info-msg[_ngcontent-%COMP%]{margin-bottom:2px;color:#999;font-size:12px}.container.expanded[_ngcontent-%COMP%] .expanded-text[_ngcontent-%COMP%] .info-msg[_ngcontent-%COMP%] .underline[_ngcontent-%COMP%]{text-decoration:underline dashed}.container.expanded[_ngcontent-%COMP%] .expanded-text[_ngcontent-%COMP%] .monospace-content[_ngcontent-%COMP%]{font-size:11px;white-space:pre-wrap;font-family:monospace;max-height:500px;overflow:auto}.container.expanded[_ngcontent-%COMP%] .expanded-text[_ngcontent-%COMP%] .text-content[_ngcontent-%COMP%]{white-space:pre-wrap;max-height:500px;overflow:auto}.container.expanded[_ngcontent-%COMP%] .expanded-text[_ngcontent-%COMP%] .namespace-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2px}.container.expanded[_ngcontent-%COMP%] .expanded-text[_ngcontent-%COMP%] .namespace-row[_ngcontent-%COMP%]{font-size:12px;line-height:14px;display:flex;align-items:flex-start}.container.expanded[_ngcontent-%COMP%] .expanded-text[_ngcontent-%COMP%] .namespace-row[_ngcontent-%COMP%] .index[_ngcontent-%COMP%]{width:16px;color:#999;flex-shrink:0;line-height:14px}.container.expanded[_ngcontent-%COMP%] .expanded-text[_ngcontent-%COMP%] .namespace-row[_ngcontent-%COMP%] .namespace[_ngcontent-%COMP%]{line-height:14px}.container.expanded[_ngcontent-%COMP%] .expanded-text[_ngcontent-%COMP%] .namespace-row[_ngcontent-%COMP%] .namespace.hidden[_ngcontent-%COMP%]{color:#999}.container.expanded[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]{background-color:#eee;border:1px solid #999}.container.expanded[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#999}.container[_ngcontent-%COMP%] .one-line-text[_ngcontent-%COMP%]{flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.container[_ngcontent-%COMP%] .expanded-text[_ngcontent-%COMP%]{display:none}.container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]{width:12px;height:12px;flex-shrink:0;display:none;background-color:#d7f1ff;border-radius:2px;margin-left:2px;cursor:pointer;align-items:center;justify-content:center;border:1px solid #4e90b5;opacity:.75}.container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#00639b;font-size:11px;width:11px;height:11px;font-weight:700} @@ -3890,8 +3891,8 @@ void main() { -`],changeDetection:0})}return i})();var Zfe=["container"];function Qfe(i,e){if(i&1&&(v(0,"div",3),S(1),b()),i&2){let t=I();w(),Me(" ",t.label," ")}}var bj=(()=>{class i{changeDetectorRef;label="";container;showPopup=!1;popupSize={minWidth:0,minHeight:0};popupPosition=[{originX:"end",originY:"top",overlayX:"end",overlayY:"top",offsetY:-1}];constructor(t){this.changeDetectorRef=t}ngAfterViewInit(){setTimeout(()=>{let t=this.container.nativeElement;this.showPopup=t.scrollWidth>t.offsetWidth,this.changeDetectorRef.markForCheck()})}static \u0275fac=function(n){return new(n||i)(M(Fe))};static \u0275cmp=le({type:i,selectors:[["hoverable-label"]],viewQuery:function(n,r){if(n&1&&Te(Zfe,5),n&2){let o;be(o=ye())&&(r.container=o.first)}},inputs:{label:"label"},standalone:!0,features:[ce],decls:5,vars:6,consts:[["container",""],["popup",""],[1,"container",3,"bubble","overlaySize","overlayPositions","hoverDelayMs","bubbleDisabled"],[1,"model-explorer-hoverable-label-popup"]],template:function(n,r){if(n&1&&(v(0,"div",2,0),S(2),b(),W(3,Qfe,2,1,"ng-template",null,1,kt)),n&2){let o=ve(4);N("bubble",o)("overlaySize",r.popupSize)("overlayPositions",r.popupPosition)("hoverDelayMs",10)("bubbleDisabled",!r.showPopup),w(2),Me(" ",r.label,` -`)}},dependencies:[$n],styles:["[_nghost-%COMP%]{overflow:hidden}.container[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis} bubble-container:has(.model-explorer-hoverable-label-popup){width:100%;box-shadow:none;border:1px solid #ccc;border-radius:4px} .model-explorer-hoverable-label-popup{padding:2px;font-size:12px;line-height:12px;background-color:#fff;color:#999;font-family:Google Sans Text,Arial,Helvetica,sans-serif}"],changeDetection:0})}return i})();var af=(()=>{class i{curSortingRunIndex=-2;curSortingDirection="asc";curChildrenStatSortingColIndex=-2;curChildrenStatSortingDirection="asc";statsTableCollapsed=!1;childrenStatsTableCollapsed=!1;nodeDataTableCollapsed=!1;collapsedSectionNames=new Set;static \u0275fac=function(n){return new(n||i)};static \u0275prov=J({token:i,factory:i.\u0275fac})}return i})();var Kfe=["paginator"],Jfe=["childrenStatsPaginator"],xj=i=>({$implicit:i});function eme(i,e){if(i&1&&(v(0,"div",28),S(1),b()),i&2){let t=I().index;w(),nt(t+1)}}function tme(i,e){i&1&&ee(0,"mat-spinner",29)}function nme(i,e){if(i&1&&(v(0,"div",30)(1,"mat-icon"),S(2,"error"),b()()),i&2){let t=I().$implicit;N("matTooltip",t.error)("matTooltipDisabled",!t.error)}}function ime(i,e){if(i&1){let t=ie();v(0,"div",31),H("click",function(r){V(t);let o=I().$implicit,s=I();return z(s.handleClickToggleVisibility(o,r))}),v(1,"mat-icon"),S(2),b()()}if(i&2){let t=I().$implicit,n=I();se("selected",n.isRunItemSelected(t))("hide",!t.done),N("matTooltip",n.getVisibleToggleTooltip(t)),w(2),nt(n.getIconName(t))}}function rme(i,e){if(i&1){let t=ie();v(0,"div",32),H("click",function(){V(t);let r=I().$implicit,o=I();return z(o.handleClickDelete(r))}),v(1,"mat-icon"),S(2,"delete"),b()()}i&2&&N("matTooltip","Delete")}function ome(i,e){if(i&1&&(v(0,"div",19)(1,"div",20),W(2,eme,2,1,"div",21)(3,tme,1,0,"mat-spinner",22),b(),v(4,"div",23),S(5),b(),v(6,"div",24),W(7,nme,3,2,"div",25)(8,ime,3,6,"div",26)(9,rme,3,1,"div",27),b()()),i&2){let t=e.$implicit,n=I();se("selected",n.isRunItemSelected(t)),w(2),N("ngIf",t.done),w(),N("ngIf",!t.done),w(2),nt(t.runName),w(2),N("ngIf",t.error),w(),N("ngIf",!t.error),w(),N("ngIf",t.done)}}function sme(i,e){if(i&1&&(v(0,"th",37)(1,"div",38)(2,"div",28),S(3),b(),v(4,"div",39),S(5),b()()()),i&2){let t=e.$implicit,n=e.index;w(3),nt(n+1),w(2),nt(t.runName)}}function ame(i,e){if(i&1&&(v(0,"td",37),S(1),b()),i&2){let t=e.$implicit,n=I(3);w(),Me(" ",n.getStatValue(t)," ")}}function lme(i,e){if(i&1&&(v(0,"tr")(1,"td"),S(2),b(),W(3,ame,2,1,"td",35),b()),i&2){let t=e.$implicit;w(2),nt(t.stat),w(),N("ngForOf",t.values)}}function cme(i,e){if(i&1&&(v(0,"table",33)(1,"thead")(2,"tr")(3,"th",34),S(4," Stat "),b(),W(5,sme,6,2,"th",35),b()(),v(6,"tbody"),W(7,lme,4,2,"tr",36),b()()),i&2){let t=I();w(5),N("ngForOf",t.runItems),w(2),N("ngForOf",t.curStatRows)("ngForTrackBy",t.trackByStat)}}function dme(i,e){if(i&1){let t=ie();v(0,"paginator",40,4),H("change",function(r){V(t);let o=I();return z(o.handleChildrenStatsTablePaginatorChanged(r))}),b()}if(i&2){let t=I();N("pageSize",t.tablePageSize)("itemsCount",t.childrenStatRowsCount)}}function ume(i,e){i&1&&Zi(0)}function hme(i,e){if(i&1&&(v(0,"mat-icon",46),S(1),b()),i&2){let t=I(2);w(),Me(" ",t.curChildrenStatSortingDirection==="asc"?"arrow_upward":"arrow_downward"," ")}}function pme(i,e){if(i&1&&(v(0,"mat-icon",46),S(1),b()),i&2){let t=I(2);w(),Me(" ",t.curChildrenStatSortingDirection==="asc"?"arrow_upward":"arrow_downward"," ")}}function fme(i,e){if(i&1&&(v(0,"mat-icon",46),S(1),b()),i&2){let t=I(3);w(),Me(" ",t.curChildrenStatSortingDirection==="asc"?"arrow_upward":"arrow_downward"," ")}}function mme(i,e){if(i&1){let t=ie();v(0,"th",47),H("click",function(){let r=V(t).$implicit,o=I(2);return z(o.handleClickChildrenStatsHeader(r.colIndex))}),v(1,"div",38)(2,"div",28),S(3),b(),v(4,"div",39),S(5),b(),W(6,fme,2,1,"mat-icon",43),b()()}if(i&2){let t=e.$implicit,n=I(2);w(3),nt(t.runIndex+1),w(2),nt(t.label),w(),N("ngIf",t.colIndex===n.curChildrenStatSortingColIndex)}}function gme(i,e){if(i&1&&(v(0,"td",37),S(1),b()),i&2){let t=e.$implicit;w(),Me(" ",t," ")}}function _me(i,e){if(i&1){let t=ie();v(0,"tr")(1,"td"),S(2),b(),v(3,"td",48),H("click",function(){let r=V(t).$implicit,o=I(2);return z(o.handleClickNodeLabel(r.id))}),S(4),b(),W(5,gme,2,1,"td",35),b()}if(i&2){let t=e.$implicit;w(2),nt(t.index),w(2),Me(" ",t.label," "),w(),N("ngForOf",t.colStrs)}}function vme(i,e){if(i&1){let t=ie();v(0,"table",41)(1,"thead")(2,"tr")(3,"th",42),H("click",function(){V(t);let r=I();return z(r.handleClickChildrenStatsHeader(-2))}),v(4,"div",38),S(5," # "),W(6,hme,2,1,"mat-icon",43),b()(),v(7,"th",44),H("click",function(){V(t);let r=I();return z(r.handleClickChildrenStatsHeader(-1))}),v(8,"div",38),S(9," Node "),W(10,pme,2,1,"mat-icon",43),b()(),W(11,mme,7,3,"th",45),b()(),v(12,"tbody"),W(13,_me,6,3,"tr",36),b()()}if(i&2){let t=I();w(6),N("ngIf",t.curChildrenStatSortingColIndex===-2),w(4),N("ngIf",t.curChildrenStatSortingColIndex===-1),w(),N("ngForOf",t.childrenStatsCols),w(2),N("ngForOf",t.curPageChildrenStatRows)("ngForTrackBy",t.trackByNodeId)}}function bme(i,e){if(i&1){let t=ie();v(0,"paginator",40,5),H("change",function(r){V(t);let o=I();return z(o.handleTablePaginatorChanged(r))}),b()}if(i&2){let t=I();N("pageSize",t.tablePageSize)("itemsCount",t.rowsCount)}}function yme(i,e){i&1&&Zi(0)}function xme(i,e){if(i&1&&(v(0,"mat-icon",46),S(1),b()),i&2){let t=I(2);w(),Me(" ",t.curSortingDirection==="asc"?"arrow_upward":"arrow_downward"," ")}}function wme(i,e){if(i&1&&(v(0,"mat-icon",46),S(1),b()),i&2){let t=I(2);w(),Me(" ",t.curSortingDirection==="asc"?"arrow_upward":"arrow_downward"," ")}}function Cme(i,e){if(i&1){let t=ie();v(0,"div",51),H("click",function(r){V(t);let o=I().$implicit,s=I(2);return z(s.handleClickToggleVisibility(o,r))}),v(1,"mat-icon"),S(2),b()()}if(i&2){let t=I().$implicit,n=I(2);se("selected",n.isRunItemSelected(t))("hide",!t.done),N("matTooltip",n.getVisibleToggleTooltip(t)),w(2),nt(n.getIconName(t))}}function Sme(i,e){if(i&1&&(v(0,"mat-icon",46),S(1),b()),i&2){let t=I(3);w(),Me(" ",t.curSortingDirection==="asc"?"arrow_upward":"arrow_downward"," ")}}function Mme(i,e){if(i&1){let t=ie();v(0,"th",47),H("click",function(){let r=V(t).index,o=I(2);return z(o.handleClickHeader(r))}),v(1,"div",38)(2,"div",28),S(3),b(),v(4,"div",39),S(5),b(),W(6,Cme,3,6,"div",50)(7,Sme,2,1,"mat-icon",43),b()()}if(i&2){let t=e.$implicit,n=e.index,r=I(2);w(3),nt(n+1),w(2),nt(t.runName),w(),N("ngIf",!t.error),w(),N("ngIf",n===r.curSortingRunIndex)}}function Eme(i,e){if(i&1&&(v(0,"td",37),S(1),b()),i&2){let t=e.$implicit;tn("background-color",t.bgColor)("color",t.textColor),w(),Me(" ",t.strValue," ")}}function Ime(i,e){if(i&1){let t=ie();v(0,"tr")(1,"td"),S(2),b(),v(3,"td",48),H("click",function(){let r=V(t).$implicit,o=I(2);return z(o.handleClickNodeLabel(r.id))}),S(4),b(),W(5,Eme,2,5,"td",52),b()}if(i&2){let t=e.$implicit;w(2),nt(t.index),w(),se("input",t.isInput)("output",t.isOutput),w(),Me(" ",t.label," "),w(),N("ngForOf",t.cols)}}function Tme(i,e){if(i&1){let t=ie();v(0,"table",49)(1,"thead")(2,"tr")(3,"th",42),H("click",function(){V(t);let r=I();return z(r.handleClickHeader(-2))}),v(4,"div",38),S(5," # "),W(6,xme,2,1,"mat-icon",43),b()(),v(7,"th",44),H("click",function(){V(t);let r=I();return z(r.handleClickHeader(-1))}),v(8,"div",38),S(9," Node "),W(10,wme,2,1,"mat-icon",43),b()(),W(11,Mme,8,4,"th",45),b()(),v(12,"tbody"),W(13,Ime,6,7,"tr",36),b()()}if(i&2){let t=I();w(6),N("ngIf",t.curSortingRunIndex===-2),w(4),N("ngIf",t.curSortingRunIndex===-1),w(),N("ngForOf",t.runItems),w(2),N("ngForOf",t.curPageRows)("ngForTrackBy",t.trackByNodeId)}}function Dme(i,e){if(i&1){let t=ie();v(0,"div",57),H("click",function(){V(t);let r=I().$implicit,o=I();return z(o.handleClearStatsTableFilter(r))}),v(1,"mat-icon",58),S(2,"close"),b()()}}function Pme(i,e){if(i&1&&(v(0,"div",53),ee(1,"input",54),v(2,"mat-icon",55),S(3,"filter_alt"),b(),W(4,Dme,3,0,"div",56),b()),i&2){let t=e.$implicit;w(),N("formControl",t),w(3),ae(t.value?4:-1)}}var Ome=["Sum %"],wj=(()=>{class i{appService;destroyRef;infoPanelService;nodeDataProviderExtensionService;changeDetectorRef;paneId;rootGroupNodeId;paginator;childrenStatsPaginator;childrenStatsTableNodeFilter=new gr("");resultsTableNodeFilter=new gr("");curRows;curPageRows=[];savedCurRows;curStatRows=[];curChildrenStatRows=[];curPageChildrenStatRows=[];savedChildrenStatRows=[];runItems=[];curSelectedRunId="";orderedNodes=[];childrenStatsCols=[];tablePageSize=50;curModelGraph;prevModelGraph;prevRunsKey="";orderedNodesCache={};constructor(t,n,r,o,s){this.appService=t,this.destroyRef=n,this.infoPanelService=r,this.nodeDataProviderExtensionService=o,this.changeDetectorRef=s;let a=new URLSearchParams(document.location.search);a.has("nodeDataProviderDataSummaryTablePageSize")&&(this.tablePageSize=Number(a.get("nodeDataProviderDataSummaryTablePageSize"))),lt(()=>{let l=this.appService.getPaneById(this.paneId)?.modelGraph;if(!l)return;let c=this.nodeDataProviderExtensionService.getSelectedRunForModelGraph(this.paneId,l);this.curSelectedRunId=c?.runId||"",this.changeDetectorRef.markForCheck()}),lt(()=>{this.curModelGraph=this.appService.getPaneById(this.paneId)?.modelGraph;let l=this.curModelGraph?this.nodeDataProviderExtensionService.getRunsForModelGraph(this.curModelGraph):[],c=!1,d=!1;this.prevModelGraph!==this.curModelGraph&&(this.prevModelGraph=this.curModelGraph,c=!0);let u=this.getRunsKey(l);if(this.prevRunsKey!==u&&(this.prevRunsKey=u,d=!0),this.curModelGraph&&(c||d)){this.runItems=[];let h=this.nodeDataProviderExtensionService.getRunsForModelGraph(this.curModelGraph);for(let p of h)this.runItems.push({runId:p.runId,runName:p.runName,done:p.done,error:p.error});this.changeDetectorRef.markForCheck(),this.infoPanelService.curSortingRunIndex=Math.min(this.infoPanelService.curSortingRunIndex,h.length-1),this.paginator?.reset(),this.genOrderedNodes(),this.populateResultsTable(),this.infoPanelService.curChildrenStatSortingColIndex=Math.min(this.infoPanelService.curChildrenStatSortingColIndex,this.childrenStatsCols.length-1),this.childrenStatsPaginator?.reset()}}),this.childrenStatsTableNodeFilter.valueChanges.pipe(To(150),Vi(this.destroyRef)).subscribe(l=>{this.handleChildrenStatsTableFilterChanged()}),this.resultsTableNodeFilter.valueChanges.pipe(To(150),Vi(this.destroyRef)).subscribe(l=>{this.handleResultsTableFilterChanged()})}ngOnChanges(t){t.rootGroupNodeId&&(this.paginator?.reset(),this.childrenStatsPaginator?.reset(),this.genOrderedNodes(),this.populateResultsTable())}getIconName(t){return this.isRunItemSelected(t)?"visibility":"visibility_off"}getVisibleToggleTooltip(t){return this.isRunItemSelected(t)?"Visualizing in graph":"Click to visualize in graph"}isRunItemSelected(t){return t.runId===this.curSelectedRunId}handleChildrenStatsTablePaginatorChanged(t){this.curPageChildrenStatRows=this.curChildrenStatRows.slice(t*this.tablePageSize,(t+1)*this.tablePageSize),this.changeDetectorRef.markForCheck()}handleTablePaginatorChanged(t){this.curRows==null?this.curPageRows=[]:this.curPageRows=this.curRows.slice(t*this.tablePageSize,(t+1)*this.tablePageSize),this.changeDetectorRef.markForCheck()}handleClickHeader(t){this.infoPanelService.curSortingRunIndex===t?this.infoPanelService.curSortingDirection=this.nextSortingDirection(this.curSortingDirection):this.infoPanelService.curSortingDirection=t<0?"asc":"desc",this.infoPanelService.curSortingRunIndex=t,this.sortAndFiltertRows(),this.paginator?.reset(),this.handleTablePaginatorChanged(0)}handleClickChildrenStatsHeader(t){this.infoPanelService.curChildrenStatSortingColIndex===t?this.infoPanelService.curChildrenStatSortingDirection=this.nextSortingDirection(this.infoPanelService.curChildrenStatSortingDirection):this.infoPanelService.curChildrenStatSortingDirection=t<0?"asc":"desc",this.infoPanelService.curChildrenStatSortingColIndex=t,this.sortAndFilterChildrenStatsRows(),this.childrenStatsPaginator?.reset(),this.handleChildrenStatsTablePaginatorChanged(0)}handleClickToggleVisibility(t,n){n.stopPropagation(),!this.isRunItemSelected(t)&&this.appService.setSelectedNodeDataProviderRunId(this.paneId,t.runId)}handleClickDelete(t){this.curModelGraph&&(this.nodeDataProviderExtensionService.deleteRun(t.runId),this.appService.deleteShowOnNodeItemType([`${Na}${t.runName}`]))}handleClickNodeLabel(t){this.appService.curToLocateNodeInfo.set({nodeId:t,rendererId:this.paneId,isGroupNode:!1})}handleToggleExpandCollapseStatsTable(t){this.infoPanelService.statsTableCollapsed?t.style.maxHeight=`${t.scrollHeight}px`:t.style.maxHeight=`${t.offsetHeight}px`,this.changeDetectorRef.markForCheck(),setTimeout(()=>{this.infoPanelService.statsTableCollapsed=!this.infoPanelService.statsTableCollapsed,this.changeDetectorRef.markForCheck(),this.infoPanelService.statsTableCollapsed||setTimeout(()=>{t.style.maxHeight="fit-content"},150)})}handleToggleExpandCollapseChildrenStatsTable(t){this.infoPanelService.childrenStatsTableCollapsed?t.style.maxHeight=`${t.scrollHeight}px`:t.style.maxHeight=`${t.offsetHeight}px`,this.changeDetectorRef.markForCheck(),setTimeout(()=>{this.infoPanelService.childrenStatsTableCollapsed=!this.infoPanelService.childrenStatsTableCollapsed,this.changeDetectorRef.markForCheck(),this.infoPanelService.childrenStatsTableCollapsed||setTimeout(()=>{t.style.maxHeight="fit-content"},150)})}handleToggleExpandCollapseNodeDataTable(t){this.infoPanelService.nodeDataTableCollapsed?t.style.maxHeight=`${t.scrollHeight}px`:t.style.maxHeight=`${t.offsetHeight}px`,this.changeDetectorRef.markForCheck(),setTimeout(()=>{this.infoPanelService.nodeDataTableCollapsed=!this.infoPanelService.nodeDataTableCollapsed,this.changeDetectorRef.markForCheck(),this.infoPanelService.nodeDataTableCollapsed||setTimeout(()=>{t.style.maxHeight="fit-content"},150)})}handleChildrenStatsTableFilterChanged(){this.childrenStatsPaginator?.reset(),this.sortAndFilterChildrenStatsRows(),this.handleChildrenStatsTablePaginatorChanged(0)}handleResultsTableFilterChanged(){this.paginator?.reset(),this.sortAndFiltertRows(),this.handleTablePaginatorChanged(0)}handleClearStatsTableFilter(t){t===this.childrenStatsTableNodeFilter?this.childrenStatsPaginator?.reset():t===this.resultsTableNodeFilter&&this.paginator?.reset(),t.reset()}getStatValue(t){return t===Number.POSITIVE_INFINITY||t===Number.NEGATIVE_INFINITY||isNaN(t)?"-":`${t}`}trackByRunId(t,n){return n.runId}trackByNodeId(t,n){return n.id}trackByStat(t,n){return n.stat}get showResults(){return this.runItems.some(t=>t.done)}get rowsCount(){return this.curRows==null?0:this.curRows.length}get childrenStatRowsCount(){return this.curChildrenStatRows.length}get statsTableTitleIcon(){return this.statsTableCollapsed?"arrow_right":"arrow_drop_down"}get statsTableTitle(){return this.rootGroupNodeId==null?"Aggregated stats":"Aggregated stats in selected layer"}get statsTableCollapsed(){return this.infoPanelService.statsTableCollapsed}get childrenStatsTableTitleIcon(){return this.childrenStatsTableCollapsed?"arrow_right":"arrow_drop_down"}get childrenStatsTableTitle(){return this.rootGroupNodeId==null?"Root-level nodes stats":"Child nodes stats in selected layer"}get childrenStatsTableCollapsed(){return this.infoPanelService.childrenStatsTableCollapsed}get nodeDataTableTitleIcon(){return this.nodeDataTableCollapsed?"arrow_right":"arrow_drop_down"}get nodeDataTableTitle(){return this.rootGroupNodeId==null?"Node data":"Node data in selected layer"}get nodeDataTableCollapsed(){return this.infoPanelService.nodeDataTableCollapsed}get curSortingDirection(){return this.infoPanelService.curSortingDirection}get curSortingRunIndex(){return this.infoPanelService.curSortingRunIndex}get curChildrenStatSortingDirection(){return this.infoPanelService.curChildrenStatSortingDirection}get curChildrenStatSortingColIndex(){return this.infoPanelService.curChildrenStatSortingColIndex}genOrderedNodes(){if(!this.curModelGraph)return;let t=this.getOrderedNodesCacheKey(),n=this.orderedNodesCache[t];if(n!=null)this.orderedNodes=n;else{let r=this.rootGroupNodeId==null?void 0:this.curModelGraph.nodesById[this.rootGroupNodeId],o=new Set;r!=null&&(o=new Set(r.descendantsOpNodeIds||[])),this.orderedNodes=this.curModelGraph.nodes.filter(s=>Et(s)&&!s.hideInLayout&&s.id!=="GraphInputs"&&s.id!=="GraphOutputs"&&(r==null||o.has(s.id))),this.orderedNodesCache[t]=this.orderedNodes}}populateResultsTable(){if(!this.curModelGraph||this.orderedNodes.length===0)return;let t=this.nodeDataProviderExtensionService.getRunsForModelGraph(this.curModelGraph);this.curStatRows=[{stat:"Min",values:[]},{stat:"Max",values:[]},{stat:"Sum",values:[]},{stat:"Avg",values:[]}];let n=[];for(let s=0;sf.sourceNodeId==="GraphInputs"),h=a.outgoingEdges||[],p=h.length===0||h.some(f=>f.targetNodeId==="GraphOutputs");this.curRows.push({id:l,index:s,isInput:u,isOutput:p,label:this.curModelGraph.nodesById[l].label||"?",cols:c})}this.savedCurRows=[...this.curRows],this.sortAndFiltertRows(),this.handleTablePaginatorChanged(0),this.curStatRows[0].values=n.map(s=>s.min),this.curStatRows[1].values=n.map(s=>s.max),this.curStatRows[2].values=n.map(s=>s.sum),this.curStatRows[3].values=n.map(s=>s.sum/s.count),this.childrenStatsCols=[];let r=0;for(let s=0;ss.id);for(let s=0;sn.test(r.label))}catch{return}this.curRows.sort((n,r)=>{let o=this.getCellValue(n,this.infoPanelService.curSortingRunIndex),s=this.getCellValue(r,this.infoPanelService.curSortingRunIndex);return this.compareValue(o,s,this.infoPanelService.curSortingDirection)})}sortAndFilterChildrenStatsRows(){this.curChildrenStatRows=[...this.savedChildrenStatRows||[]];let t=(this.childrenStatsTableNodeFilter.value||"").trim();if(t!=="")try{let n=new RegExp(t,"i");this.curChildrenStatRows=this.curChildrenStatRows.filter(r=>n.test(r.label))}catch{return}this.curChildrenStatRows.sort((n,r)=>{let o=this.getChildrenStatsColValue(n,this.infoPanelService.curChildrenStatSortingColIndex),s=this.getChildrenStatsColValue(r,this.infoPanelService.curChildrenStatSortingColIndex);return this.compareValue(o,s,this.infoPanelService.curChildrenStatSortingDirection)})}compareValue(t,n,r){if(t==null&&n==null)return 0;if(t==null&&n!=null)return r==="asc"?-1:1;if(t!=null&&n==null)return r==="asc"?1:-1;if(typeof t=="number"&&typeof n=="number")return r==="asc"?t-n:n-t;{let o=JSON.stringify(t),s=JSON.stringify(n);return r==="asc"?o.localeCompare(s):s.localeCompare(o)}}getCellValue(t,n){switch(n){case-2:return t.index;case-1:return t.label;default:return t.cols[n].value}}getChildrenStatsColValue(t,n){switch(n){case-2:return t.index;case-1:return t.label;default:return t.colValues[n]}}getOrderedNodesCacheKey(){return`${this.curModelGraph?.collectionLabel}___${this.curModelGraph?.id}___${this.rootGroupNodeId}`}getRunsKey(t){return t.map(n=>{let r=[];r.push(n.runId),r.push(String(n.done));let o=n.results||{};return r.push(String(Object.keys(o).length)),r.join("__")}).join(",")}static \u0275fac=function(n){return new(n||i)(M(st),M(Ni),M(af),M(Cr),M(Fe))};static \u0275cmp=le({type:i,selectors:[["node-data-provider-summary-panel"]],viewQuery:function(n,r){if(n&1&&(Te(Kfe,5),Te(Jfe,5)),n&2){let o;be(o=ye())&&(r.paginator=o.first),be(o=ye())&&(r.childrenStatsPaginator=o.first)}},inputs:{paneId:"paneId",rootGroupNodeId:"rootGroupNodeId"},standalone:!0,features:[dn,ce],decls:33,vars:27,consts:[["statsTableContainer",""],["childrenStatsTableContainer",""],["nodeDataTableContainer",""],["nodeFilter",""],["childrenStatsPaginator",""],["paginator",""],[1,"container"],[1,"index-container"],["class","index-row",3,"selected",4,"ngFor","ngForOf","ngForTrackBy"],[1,"table-container"],[1,"table-title-container"],[1,"title-label-container",3,"click"],["border","0","cellspacing","0","cellpadding","0",4,"ngIf"],[1,"table-container","children-stats"],[3,"pageSize","itemsCount"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["class","children-stats-results","border","0","cellspacing","0","cellpadding","0",4,"ngIf"],[1,"table-container","results"],["class","results","border","0","cellspacing","0","cellpadding","0",4,"ngIf"],[1,"index-row"],[1,"index-number-container"],["class","index-number",4,"ngIf"],["color","primary","diameter","16",4,"ngIf"],[1,"run-name"],[1,"action-icons-container"],["class","error",3,"matTooltip","matTooltipDisabled",4,"ngIf"],["class","icon-container visibility",3,"selected","hide","matTooltip","click",4,"ngIf"],["class","icon-container action",3,"matTooltip","click",4,"ngIf"],[1,"index-number"],["color","primary","diameter","16"],[1,"error",3,"matTooltip","matTooltipDisabled"],[1,"icon-container","visibility",3,"click","matTooltip"],[1,"icon-container","action",3,"click","matTooltip"],["border","0","cellspacing","0","cellpadding","0"],[1,"stats"],["class","value-col",4,"ngFor","ngForOf"],[4,"ngFor","ngForOf","ngForTrackBy"],[1,"value-col"],[1,"header-content"],[1,"stat-label"],[3,"change","pageSize","itemsCount"],["border","0","cellspacing","0","cellpadding","0",1,"children-stats-results"],[1,"index",3,"click"],["class","sort",4,"ngIf"],[1,"header","node-label",3,"click"],["class","value-col",3,"click",4,"ngFor","ngForOf"],[1,"sort"],[1,"value-col",3,"click"],[1,"node-label",3,"click"],["border","0","cellspacing","0","cellpadding","0",1,"results"],["class","icon-container visibility","matTooltipPosition","above",3,"selected","hide","matTooltip","click",4,"ngIf"],["matTooltipPosition","above",1,"icon-container","visibility",3,"click","matTooltip"],["class","value-col",3,"background-color","color",4,"ngFor","ngForOf"],[1,"node-filter"],["placeholder","regex to filter nodes",3,"formControl"],[1,"filter"],[1,"clear-container"],[1,"clear-container",3,"click"],[1,"clear"]],template:function(n,r){if(n&1){let o=ie();v(0,"div",6)(1,"div",7),W(2,ome,10,8,"div",8),b(),v(3,"div",9,0)(5,"div",10)(6,"div",11),H("click",function(){V(o);let a=ve(4);return z(r.handleToggleExpandCollapseStatsTable(a))}),v(7,"mat-icon"),S(8),b(),S(9),b()(),W(10,cme,8,3,"table",12),b(),v(11,"div",13,1)(13,"div",10)(14,"div",11),H("click",function(){V(o);let a=ve(12);return z(r.handleToggleExpandCollapseChildrenStatsTable(a))}),v(15,"mat-icon"),S(16),b(),S(17),b(),W(18,dme,2,2,"paginator",14),b(),W(19,ume,1,0,"ng-container",15)(20,vme,14,5,"table",16),b(),v(21,"div",17,2)(23,"div",10)(24,"div",11),H("click",function(){V(o);let a=ve(22);return z(r.handleToggleExpandCollapseNodeDataTable(a))}),v(25,"mat-icon"),S(26),b(),S(27),b(),W(28,bme,2,2,"paginator",14),b(),W(29,yme,1,0,"ng-container",15)(30,Tme,14,5,"table",18),b()(),W(31,Pme,5,2,"ng-template",null,3,kt)}if(n&2){let o=ve(32);w(2),N("ngForOf",r.runItems)("ngForTrackBy",r.trackByRunId),w(),se("collapsed",r.statsTableCollapsed),w(5),nt(r.statsTableTitleIcon),w(),Me(" ",r.statsTableTitle," "),w(),N("ngIf",r.showResults),w(),se("collapsed",r.childrenStatsTableCollapsed),w(5),nt(r.childrenStatsTableTitleIcon),w(),Me(" ",r.childrenStatsTableTitle," "),w(),ae(r.childrenStatRowsCount>r.tablePageSize&&!r.childrenStatsTableCollapsed?18:-1),w(),N("ngTemplateOutlet",o)("ngTemplateOutletContext",Pl(23,xj,r.childrenStatsTableNodeFilter)),w(),N("ngIf",r.showResults),w(),se("collapsed",r.nodeDataTableCollapsed),w(5),nt(r.nodeDataTableTitleIcon),w(),Me(" ",r.nodeDataTableTitle," "),w(),ae(r.rowsCount>r.tablePageSize&&!r.nodeDataTableCollapsed?28:-1),w(),N("ngTemplateOutlet",o)("ngTemplateOutletContext",Pl(25,xj,r.resultsTableNodeFilter)),w(),N("ngIf",r.showResults)}},dependencies:[Ae,Si,Mn,Us,it,_t,ns,ha,Jt,Wn,sf,_r,qs,zo,po],styles:[`.container[_ngcontent-%COMP%]{padding-top:12px;box-sizing:border-box;display:flex;flex-direction:column;height:100%}.container[_ngcontent-%COMP%] .index-number[_ngcontent-%COMP%]{font-size:10px;width:16px;height:16px;border-radius:8px;box-sizing:border-box;border:1px solid #999;background-color:#eee;display:flex;align-items:center;justify-content:center;flex-shrink:0}.container[_ngcontent-%COMP%] .node-filter[_ngcontent-%COMP%]{margin-bottom:4px;position:relative}.container[_ngcontent-%COMP%] .node-filter[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:100%;border:1px solid #ccc;padding:3px 4px 3px 19px;border-radius:4px;box-sizing:border-box}.container[_ngcontent-%COMP%] .node-filter[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:12px;width:12px;height:12px;color:#999}.container[_ngcontent-%COMP%] .node-filter[_ngcontent-%COMP%] mat-icon.filter[_ngcontent-%COMP%]{position:absolute;top:6px;left:3px}.container[_ngcontent-%COMP%] .node-filter[_ngcontent-%COMP%] .clear-container[_ngcontent-%COMP%]{position:absolute;top:6px;right:3px;cursor:pointer;display:flex;align-items:center;justify-content:center}.container[_ngcontent-%COMP%] .node-filter[_ngcontent-%COMP%] .clear-container[_ngcontent-%COMP%]:hover mat-icon[_ngcontent-%COMP%]{color:#555}.container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;width:16px;height:16px;opacity:.3;cursor:pointer}.container[_ngcontent-%COMP%] .icon-container.selected[_ngcontent-%COMP%]{opacity:1;cursor:default}.container[_ngcontent-%COMP%] .icon-container.selected[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#e1a011}.container[_ngcontent-%COMP%] .icon-container.hide[_ngcontent-%COMP%]{visibility:hidden}.container[_ngcontent-%COMP%] .icon-container.action[_ngcontent-%COMP%]{opacity:.7;margin-left:4px}.container[_ngcontent-%COMP%] .icon-container.action[_ngcontent-%COMP%]:hover{opacity:1}.container[_ngcontent-%COMP%] .icon-container.visibility[_ngcontent-%COMP%]{margin-left:4px}.container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px;line-height:16px;color:#000}.container[_ngcontent-%COMP%] .index-container[_ngcontent-%COMP%] .index-row[_ngcontent-%COMP%]{display:flex;align-items:center;overflow:hidden;padding:2px 8px}.container[_ngcontent-%COMP%] .index-container[_ngcontent-%COMP%] .index-row.selected[_ngcontent-%COMP%]{background-color:#fff2d5}.container[_ngcontent-%COMP%] .index-container[_ngcontent-%COMP%] .index-row[_ngcontent-%COMP%] .index-number-container[_ngcontent-%COMP%]{width:16px;height:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-right:6px}.container[_ngcontent-%COMP%] .index-container[_ngcontent-%COMP%] .index-row[_ngcontent-%COMP%] .run-name[_ngcontent-%COMP%]{flex-grow:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.container[_ngcontent-%COMP%] .index-container[_ngcontent-%COMP%] .index-row[_ngcontent-%COMP%] .action-icons-container[_ngcontent-%COMP%]{display:flex;align-items:center;flex-shrink:0}.container[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{width:100%}.container[_ngcontent-%COMP%] .running[_ngcontent-%COMP%]{display:flex;align-items:center;margin-top:16px}.container[_ngcontent-%COMP%] .running[_ngcontent-%COMP%] mat-spinner[_ngcontent-%COMP%]{margin-right:4px}.container[_ngcontent-%COMP%] .running[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{color:#777}.container[_ngcontent-%COMP%] .error[_ngcontent-%COMP%]{width:16px;height:16px}.container[_ngcontent-%COMP%] .error[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;height:16px;width:16px;color:#a00}.container[_ngcontent-%COMP%] .table-container[_ngcontent-%COMP%]{width:100%;box-sizing:border-box;padding:8px;margin-top:2px;display:flex;flex-direction:column;transition:max-height .15s ease-out;overflow:hidden}.container[_ngcontent-%COMP%] .table-container.collapsed[_ngcontent-%COMP%]{max-height:30px!important}.container[_ngcontent-%COMP%] .table-container[_ngcontent-%COMP%] .table-title-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;line-height:22px}.container[_ngcontent-%COMP%] .table-container[_ngcontent-%COMP%] .table-title-container[_ngcontent-%COMP%] .title-label-container[_ngcontent-%COMP%]{display:flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;line-height:15px}.container[_ngcontent-%COMP%] .table-container[_ngcontent-%COMP%] .table-title-container[_ngcontent-%COMP%] .title-label-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-left:-4px}.container[_ngcontent-%COMP%] .table-container[_ngcontent-%COMP%] paginator[_ngcontent-%COMP%]{align-self:flex-end}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%]{border:1px solid #ccc;border-radius:4px;width:100%;box-sizing:border-box;-webkit-user-select:none;user-select:none;background-color:#fdfdfd;overflow:hidden}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%]{height:24px;background-color:#f2f2f2;font-size:11px}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%]{font-size:11px;font-family:Arial,Helvetica,sans-serif}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover{outline:1px solid #999}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td[_ngcontent-%COMP%], .container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{padding:1px 4px;text-align:left}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td.node-label[_ngcontent-%COMP%], .container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th.node-label[_ngcontent-%COMP%]{border-left:1px solid #ddd}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td.value-col[_ngcontent-%COMP%], .container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th.value-col[_ngcontent-%COMP%]{border-left:1px solid #ddd;max-width:80px;text-overflow:ellipsis;overflow:hidden}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%]{height:100%;display:flex;align-items:center;font-size:11px}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] mat-icon.sort[_ngcontent-%COMP%]{font-size:12px;width:12px;height:12px;color:#999;margin-left:4px;flex-shrink:0}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .stat-label[_ngcontent-%COMP%]{margin-left:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td.node-label[_ngcontent-%COMP%]{cursor:pointer}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td.node-label[_ngcontent-%COMP%]:hover{text-decoration:underline dotted #0085f2}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td.input[_ngcontent-%COMP%]{color:#009e73;font-weight:500}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td.output[_ngcontent-%COMP%]{color:#d55e00;font-weight:500} +`],changeDetection:0})}return i})();var sme=["container"];function ame(i,e){if(i&1&&(v(0,"div",3),S(1),b()),i&2){let t=I();w(),Se(" ",t.label," ")}}var Mj=(()=>{class i{changeDetectorRef;label="";container;showPopup=!1;popupSize={minWidth:0,minHeight:0};popupPosition=[{originX:"end",originY:"top",overlayX:"end",overlayY:"top",offsetY:-1}];constructor(t){this.changeDetectorRef=t}ngAfterViewInit(){setTimeout(()=>{let t=this.container.nativeElement;this.showPopup=t.scrollWidth>t.offsetWidth,this.changeDetectorRef.markForCheck()})}static \u0275fac=function(n){return new(n||i)(M(Ne))};static \u0275cmp=ce({type:i,selectors:[["hoverable-label"]],viewQuery:function(n,r){if(n&1&&Ee(sme,5),n&2){let o;be(o=ye())&&(r.container=o.first)}},inputs:{label:"label"},standalone:!0,features:[le],decls:5,vars:6,consts:[["container",""],["popup",""],[1,"container",3,"bubble","overlaySize","overlayPositions","hoverDelayMs","bubbleDisabled"],[1,"model-explorer-hoverable-label-popup"]],template:function(n,r){if(n&1&&(v(0,"div",2,0),S(2),b(),$(3,ame,2,1,"ng-template",null,1,Tt)),n&2){let o=ve(4);R("bubble",o)("overlaySize",r.popupSize)("overlayPositions",r.popupPosition)("hoverDelayMs",10)("bubbleDisabled",!r.showPopup),w(2),Se(" ",r.label,` +`)}},dependencies:[Hn],styles:["[_nghost-%COMP%]{overflow:hidden}.container[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis} bubble-container:has(.model-explorer-hoverable-label-popup){width:100%;box-shadow:none;border:1px solid #ccc;border-radius:4px} .model-explorer-hoverable-label-popup{padding:2px;font-size:12px;line-height:12px;background-color:#fff;color:#999;font-family:Google Sans Text,Arial,Helvetica,sans-serif}"],changeDetection:0})}return i})();var uf=(()=>{class i{curSortingRunIndex=-2;curSortingDirection="asc";curChildrenStatSortingColIndex=-2;curChildrenStatSortingDirection="asc";statsTableCollapsed=!1;childrenStatsTableCollapsed=!1;nodeDataTableCollapsed=!1;collapsedSectionNames=new Set;static \u0275fac=function(n){return new(n||i)};static \u0275prov=J({token:i,factory:i.\u0275fac})}return i})();var cme=["paginator"],lme=["childrenStatsPaginator"],Ij=i=>({$implicit:i});function dme(i,e){if(i&1&&(v(0,"div",28),S(1),b()),i&2){let t=I().index;w(),st(t+1)}}function ume(i,e){i&1&&ee(0,"mat-spinner",29)}function hme(i,e){if(i&1&&(v(0,"div",30)(1,"mat-icon"),S(2,"error"),b()()),i&2){let t=I().$implicit;R("matTooltip",t.error)("matTooltipDisabled",!t.error)}}function pme(i,e){if(i&1){let t=ne();v(0,"div",31),H("click",function(r){B(t);let o=I().$implicit,s=I();return V(s.handleClickToggleVisibility(o,r))}),v(1,"mat-icon"),S(2),b()()}if(i&2){let t=I().$implicit,n=I();re("selected",n.isRunItemSelected(t))("hide",!t.done),R("matTooltip",n.getVisibleToggleTooltip(t)),w(2),st(n.getIconName(t))}}function fme(i,e){if(i&1){let t=ne();v(0,"div",32),H("click",function(){B(t);let r=I().$implicit,o=I();return V(o.handleClickDelete(r))}),v(1,"mat-icon"),S(2,"delete"),b()()}i&2&&R("matTooltip","Delete")}function mme(i,e){if(i&1&&(v(0,"div",19)(1,"div",20),$(2,dme,2,1,"div",21)(3,ume,1,0,"mat-spinner",22),b(),v(4,"div",23),S(5),b(),v(6,"div",24),$(7,hme,3,2,"div",25)(8,pme,3,6,"div",26)(9,fme,3,1,"div",27),b()()),i&2){let t=e.$implicit,n=I();re("selected",n.isRunItemSelected(t)),w(2),R("ngIf",t.done),w(),R("ngIf",!t.done),w(2),st(t.runName),w(2),R("ngIf",t.error),w(),R("ngIf",!t.error),w(),R("ngIf",t.done)}}function gme(i,e){if(i&1&&(v(0,"th",37)(1,"div",38)(2,"div",28),S(3),b(),v(4,"div",39),S(5),b()()()),i&2){let t=e.$implicit,n=e.index;w(3),st(n+1),w(2),st(t.runName)}}function _me(i,e){if(i&1&&(v(0,"td",37),S(1),b()),i&2){let t=e.$implicit,n=I(3);w(),Se(" ",n.getStatValue(t)," ")}}function vme(i,e){if(i&1&&(v(0,"tr")(1,"td"),S(2),b(),$(3,_me,2,1,"td",35),b()),i&2){let t=e.$implicit;w(2),st(t.stat),w(),R("ngForOf",t.values)}}function bme(i,e){if(i&1&&(v(0,"table",33)(1,"thead")(2,"tr")(3,"th",34),S(4," Stat "),b(),$(5,gme,6,2,"th",35),b()(),v(6,"tbody"),$(7,vme,4,2,"tr",36),b()()),i&2){let t=I();w(5),R("ngForOf",t.runItems),w(2),R("ngForOf",t.curStatRows)("ngForTrackBy",t.trackByStat)}}function yme(i,e){if(i&1){let t=ne();v(0,"paginator",40,4),H("change",function(r){B(t);let o=I();return V(o.handleChildrenStatsTablePaginatorChanged(r))}),b()}if(i&2){let t=I();R("pageSize",t.tablePageSize)("itemsCount",t.childrenStatRowsCount)}}function xme(i,e){i&1&&Ki(0)}function wme(i,e){if(i&1&&(v(0,"mat-icon",46),S(1),b()),i&2){let t=I(2);w(),Se(" ",t.curChildrenStatSortingDirection==="asc"?"arrow_upward":"arrow_downward"," ")}}function Cme(i,e){if(i&1&&(v(0,"mat-icon",46),S(1),b()),i&2){let t=I(2);w(),Se(" ",t.curChildrenStatSortingDirection==="asc"?"arrow_upward":"arrow_downward"," ")}}function Sme(i,e){if(i&1&&(v(0,"mat-icon",46),S(1),b()),i&2){let t=I(3);w(),Se(" ",t.curChildrenStatSortingDirection==="asc"?"arrow_upward":"arrow_downward"," ")}}function Mme(i,e){if(i&1){let t=ne();v(0,"th",47),H("click",function(){let r=B(t).$implicit,o=I(2);return V(o.handleClickChildrenStatsHeader(r.colIndex))}),v(1,"div",38)(2,"div",28),S(3),b(),v(4,"div",39),S(5),b(),$(6,Sme,2,1,"mat-icon",43),b()()}if(i&2){let t=e.$implicit,n=I(2);w(3),st(t.runIndex+1),w(2),st(t.label),w(),R("ngIf",t.colIndex===n.curChildrenStatSortingColIndex)}}function Eme(i,e){if(i&1&&(v(0,"td",37),S(1),b()),i&2){let t=e.$implicit;w(),Se(" ",t," ")}}function Ime(i,e){if(i&1){let t=ne();v(0,"tr")(1,"td"),S(2),b(),v(3,"td",48),H("click",function(){let r=B(t).$implicit,o=I(2);return V(o.handleClickNodeLabel(r.id))}),S(4),b(),$(5,Eme,2,1,"td",35),b()}if(i&2){let t=e.$implicit;w(2),st(t.index),w(2),Se(" ",t.label," "),w(),R("ngForOf",t.colStrs)}}function Tme(i,e){if(i&1){let t=ne();v(0,"table",41)(1,"thead")(2,"tr")(3,"th",42),H("click",function(){B(t);let r=I();return V(r.handleClickChildrenStatsHeader(-2))}),v(4,"div",38),S(5," # "),$(6,wme,2,1,"mat-icon",43),b()(),v(7,"th",44),H("click",function(){B(t);let r=I();return V(r.handleClickChildrenStatsHeader(-1))}),v(8,"div",38),S(9," Node "),$(10,Cme,2,1,"mat-icon",43),b()(),$(11,Mme,7,3,"th",45),b()(),v(12,"tbody"),$(13,Ime,6,3,"tr",36),b()()}if(i&2){let t=I();w(6),R("ngIf",t.curChildrenStatSortingColIndex===-2),w(4),R("ngIf",t.curChildrenStatSortingColIndex===-1),w(),R("ngForOf",t.childrenStatsCols),w(2),R("ngForOf",t.curPageChildrenStatRows)("ngForTrackBy",t.trackByNodeId)}}function Dme(i,e){if(i&1){let t=ne();v(0,"paginator",40,5),H("change",function(r){B(t);let o=I();return V(o.handleTablePaginatorChanged(r))}),b()}if(i&2){let t=I();R("pageSize",t.tablePageSize)("itemsCount",t.rowsCount)}}function Pme(i,e){i&1&&Ki(0)}function Ome(i,e){if(i&1&&(v(0,"mat-icon",46),S(1),b()),i&2){let t=I(2);w(),Se(" ",t.curSortingDirection==="asc"?"arrow_upward":"arrow_downward"," ")}}function Rme(i,e){if(i&1&&(v(0,"mat-icon",46),S(1),b()),i&2){let t=I(2);w(),Se(" ",t.curSortingDirection==="asc"?"arrow_upward":"arrow_downward"," ")}}function Ame(i,e){if(i&1){let t=ne();v(0,"div",51),H("click",function(r){B(t);let o=I().$implicit,s=I(2);return V(s.handleClickToggleVisibility(o,r))}),v(1,"mat-icon"),S(2),b()()}if(i&2){let t=I().$implicit,n=I(2);re("selected",n.isRunItemSelected(t))("hide",!t.done),R("matTooltip",n.getVisibleToggleTooltip(t)),w(2),st(n.getIconName(t))}}function Nme(i,e){if(i&1&&(v(0,"mat-icon",46),S(1),b()),i&2){let t=I(3);w(),Se(" ",t.curSortingDirection==="asc"?"arrow_upward":"arrow_downward"," ")}}function kme(i,e){if(i&1){let t=ne();v(0,"th",47),H("click",function(){let r=B(t).index,o=I(2);return V(o.handleClickHeader(r))}),v(1,"div",38)(2,"div",28),S(3),b(),v(4,"div",39),S(5),b(),$(6,Ame,3,6,"div",50)(7,Nme,2,1,"mat-icon",43),b()()}if(i&2){let t=e.$implicit,n=e.index,r=I(2);w(3),st(n+1),w(2),st(t.runName),w(),R("ngIf",!t.error),w(),R("ngIf",n===r.curSortingRunIndex)}}function Lme(i,e){if(i&1&&(v(0,"td",37),S(1),b()),i&2){let t=e.$implicit;Jt("background-color",t.bgColor)("color",t.textColor),w(),Se(" ",t.strValue," ")}}function Fme(i,e){if(i&1){let t=ne();v(0,"tr")(1,"td"),S(2),b(),v(3,"td",48),H("click",function(){let r=B(t).$implicit,o=I(2);return V(o.handleClickNodeLabel(r.id))}),S(4),b(),$(5,Lme,2,5,"td",52),b()}if(i&2){let t=e.$implicit;w(2),st(t.index),w(),re("input",t.isInput)("output",t.isOutput),w(),Se(" ",t.label," "),w(),R("ngForOf",t.cols)}}function Bme(i,e){if(i&1){let t=ne();v(0,"table",49)(1,"thead")(2,"tr")(3,"th",42),H("click",function(){B(t);let r=I();return V(r.handleClickHeader(-2))}),v(4,"div",38),S(5," # "),$(6,Ome,2,1,"mat-icon",43),b()(),v(7,"th",44),H("click",function(){B(t);let r=I();return V(r.handleClickHeader(-1))}),v(8,"div",38),S(9," Node "),$(10,Rme,2,1,"mat-icon",43),b()(),$(11,kme,8,4,"th",45),b()(),v(12,"tbody"),$(13,Fme,6,7,"tr",36),b()()}if(i&2){let t=I();w(6),R("ngIf",t.curSortingRunIndex===-2),w(4),R("ngIf",t.curSortingRunIndex===-1),w(),R("ngForOf",t.runItems),w(2),R("ngForOf",t.curPageRows)("ngForTrackBy",t.trackByNodeId)}}function Vme(i,e){if(i&1){let t=ne();v(0,"div",57),H("click",function(){B(t);let r=I().$implicit,o=I();return V(o.handleClearStatsTableFilter(r))}),v(1,"mat-icon",58),S(2,"close"),b()()}}function zme(i,e){if(i&1&&(v(0,"div",53),ee(1,"input",54),v(2,"mat-icon",55),S(3,"filter_alt"),b(),$(4,Vme,3,0,"div",56),b()),i&2){let t=e.$implicit;w(),R("formControl",t),w(3),oe(t.value?4:-1)}}var Ume=["Sum %"],Tj=(()=>{class i{appService;destroyRef;infoPanelService;nodeDataProviderExtensionService;changeDetectorRef;paneId;rootGroupNodeId;paginator;childrenStatsPaginator;childrenStatsTableNodeFilter=new vr("");resultsTableNodeFilter=new vr("");curRows;curPageRows=[];savedCurRows;curStatRows=[];curChildrenStatRows=[];curPageChildrenStatRows=[];savedChildrenStatRows=[];runItems=[];curSelectedRunId="";orderedNodes=[];childrenStatsCols=[];tablePageSize=50;curModelGraph;prevModelGraph;prevRunsKey="";orderedNodesCache={};constructor(t,n,r,o,s){this.appService=t,this.destroyRef=n,this.infoPanelService=r,this.nodeDataProviderExtensionService=o,this.changeDetectorRef=s;let a=new URLSearchParams(document.location.search);a.has("nodeDataProviderDataSummaryTablePageSize")&&(this.tablePageSize=Number(a.get("nodeDataProviderDataSummaryTablePageSize"))),lt(()=>{let c=this.appService.getPaneById(this.paneId)?.modelGraph;if(!c)return;let l=this.nodeDataProviderExtensionService.getSelectedRunForModelGraph(this.paneId,c);this.curSelectedRunId=l?.runId||"",this.changeDetectorRef.markForCheck()}),lt(()=>{this.curModelGraph=this.appService.getPaneById(this.paneId)?.modelGraph;let c=this.curModelGraph?this.nodeDataProviderExtensionService.getRunsForModelGraph(this.curModelGraph):[],l=!1,d=!1;this.prevModelGraph!==this.curModelGraph&&(this.prevModelGraph=this.curModelGraph,l=!0);let u=this.getRunsKey(c);if(this.prevRunsKey!==u&&(this.prevRunsKey=u,d=!0),this.curModelGraph&&(l||d)){this.runItems=[];let h=this.nodeDataProviderExtensionService.getRunsForModelGraph(this.curModelGraph);for(let p of h)this.runItems.push({runId:p.runId,runName:p.runName,done:p.done,error:p.error});this.changeDetectorRef.markForCheck(),this.infoPanelService.curSortingRunIndex=Math.min(this.infoPanelService.curSortingRunIndex,h.length-1),this.paginator?.reset(),this.genOrderedNodes(),this.populateResultsTable(),this.infoPanelService.curChildrenStatSortingColIndex=Math.min(this.infoPanelService.curChildrenStatSortingColIndex,this.childrenStatsCols.length-1),this.childrenStatsPaginator?.reset()}}),this.childrenStatsTableNodeFilter.valueChanges.pipe(Oo(150),Ei(this.destroyRef)).subscribe(c=>{this.handleChildrenStatsTableFilterChanged()}),this.resultsTableNodeFilter.valueChanges.pipe(Oo(150),Ei(this.destroyRef)).subscribe(c=>{this.handleResultsTableFilterChanged()})}ngOnChanges(t){t.rootGroupNodeId&&(this.paginator?.reset(),this.childrenStatsPaginator?.reset(),this.genOrderedNodes(),this.populateResultsTable())}getIconName(t){return this.isRunItemSelected(t)?"visibility":"visibility_off"}getVisibleToggleTooltip(t){return this.isRunItemSelected(t)?"Visualizing in graph":"Click to visualize in graph"}isRunItemSelected(t){return t.runId===this.curSelectedRunId}handleChildrenStatsTablePaginatorChanged(t){this.curPageChildrenStatRows=this.curChildrenStatRows.slice(t*this.tablePageSize,(t+1)*this.tablePageSize),this.changeDetectorRef.markForCheck()}handleTablePaginatorChanged(t){this.curRows==null?this.curPageRows=[]:this.curPageRows=this.curRows.slice(t*this.tablePageSize,(t+1)*this.tablePageSize),this.changeDetectorRef.markForCheck()}handleClickHeader(t){this.infoPanelService.curSortingRunIndex===t?this.infoPanelService.curSortingDirection=this.nextSortingDirection(this.curSortingDirection):this.infoPanelService.curSortingDirection=t<0?"asc":"desc",this.infoPanelService.curSortingRunIndex=t,this.sortAndFiltertRows(),this.paginator?.reset(),this.handleTablePaginatorChanged(0)}handleClickChildrenStatsHeader(t){this.infoPanelService.curChildrenStatSortingColIndex===t?this.infoPanelService.curChildrenStatSortingDirection=this.nextSortingDirection(this.infoPanelService.curChildrenStatSortingDirection):this.infoPanelService.curChildrenStatSortingDirection=t<0?"asc":"desc",this.infoPanelService.curChildrenStatSortingColIndex=t,this.sortAndFilterChildrenStatsRows(),this.childrenStatsPaginator?.reset(),this.handleChildrenStatsTablePaginatorChanged(0)}handleClickToggleVisibility(t,n){n.stopPropagation(),!this.isRunItemSelected(t)&&this.appService.setSelectedNodeDataProviderRunId(this.paneId,t.runId)}handleClickDelete(t){this.curModelGraph&&(this.nodeDataProviderExtensionService.deleteRun(t.runId),this.appService.deleteShowOnNodeItemType([`${La}${t.runName}`]))}handleClickNodeLabel(t){this.appService.curToLocateNodeInfo.set({nodeId:t,rendererId:this.paneId,isGroupNode:!1})}handleToggleExpandCollapseStatsTable(t){this.infoPanelService.statsTableCollapsed?t.style.maxHeight=`${t.scrollHeight}px`:t.style.maxHeight=`${t.offsetHeight}px`,this.changeDetectorRef.markForCheck(),setTimeout(()=>{this.infoPanelService.statsTableCollapsed=!this.infoPanelService.statsTableCollapsed,this.changeDetectorRef.markForCheck(),this.infoPanelService.statsTableCollapsed||setTimeout(()=>{t.style.maxHeight="fit-content"},150)})}handleToggleExpandCollapseChildrenStatsTable(t){this.infoPanelService.childrenStatsTableCollapsed?t.style.maxHeight=`${t.scrollHeight}px`:t.style.maxHeight=`${t.offsetHeight}px`,this.changeDetectorRef.markForCheck(),setTimeout(()=>{this.infoPanelService.childrenStatsTableCollapsed=!this.infoPanelService.childrenStatsTableCollapsed,this.changeDetectorRef.markForCheck(),this.infoPanelService.childrenStatsTableCollapsed||setTimeout(()=>{t.style.maxHeight="fit-content"},150)})}handleToggleExpandCollapseNodeDataTable(t){this.infoPanelService.nodeDataTableCollapsed?t.style.maxHeight=`${t.scrollHeight}px`:t.style.maxHeight=`${t.offsetHeight}px`,this.changeDetectorRef.markForCheck(),setTimeout(()=>{this.infoPanelService.nodeDataTableCollapsed=!this.infoPanelService.nodeDataTableCollapsed,this.changeDetectorRef.markForCheck(),this.infoPanelService.nodeDataTableCollapsed||setTimeout(()=>{t.style.maxHeight="fit-content"},150)})}handleChildrenStatsTableFilterChanged(){this.childrenStatsPaginator?.reset(),this.sortAndFilterChildrenStatsRows(),this.handleChildrenStatsTablePaginatorChanged(0)}handleResultsTableFilterChanged(){this.paginator?.reset(),this.sortAndFiltertRows(),this.handleTablePaginatorChanged(0)}handleClearStatsTableFilter(t){t===this.childrenStatsTableNodeFilter?this.childrenStatsPaginator?.reset():t===this.resultsTableNodeFilter&&this.paginator?.reset(),t.reset()}getStatValue(t){return t===Number.POSITIVE_INFINITY||t===Number.NEGATIVE_INFINITY||isNaN(t)?"-":`${t}`}trackByRunId(t,n){return n.runId}trackByNodeId(t,n){return n.id}trackByStat(t,n){return n.stat}get showResults(){return this.runItems.some(t=>t.done)}get rowsCount(){return this.curRows==null?0:this.curRows.length}get childrenStatRowsCount(){return this.curChildrenStatRows.length}get statsTableTitleIcon(){return this.statsTableCollapsed?"arrow_right":"arrow_drop_down"}get statsTableTitle(){return this.rootGroupNodeId==null?"Aggregated stats":"Aggregated stats in selected layer"}get statsTableCollapsed(){return this.infoPanelService.statsTableCollapsed}get childrenStatsTableTitleIcon(){return this.childrenStatsTableCollapsed?"arrow_right":"arrow_drop_down"}get childrenStatsTableTitle(){return this.rootGroupNodeId==null?"Root-level nodes stats":"Child nodes stats in selected layer"}get childrenStatsTableCollapsed(){return this.infoPanelService.childrenStatsTableCollapsed}get nodeDataTableTitleIcon(){return this.nodeDataTableCollapsed?"arrow_right":"arrow_drop_down"}get nodeDataTableTitle(){return this.rootGroupNodeId==null?"Node data":"Node data in selected layer"}get nodeDataTableCollapsed(){return this.infoPanelService.nodeDataTableCollapsed}get curSortingDirection(){return this.infoPanelService.curSortingDirection}get curSortingRunIndex(){return this.infoPanelService.curSortingRunIndex}get curChildrenStatSortingDirection(){return this.infoPanelService.curChildrenStatSortingDirection}get curChildrenStatSortingColIndex(){return this.infoPanelService.curChildrenStatSortingColIndex}genOrderedNodes(){if(!this.curModelGraph)return;let t=this.getOrderedNodesCacheKey(),n=this.orderedNodesCache[t];if(n!=null)this.orderedNodes=n;else{let r=this.rootGroupNodeId==null?void 0:this.curModelGraph.nodesById[this.rootGroupNodeId],o=new Set;r!=null&&(o=new Set(r.descendantsOpNodeIds||[])),this.orderedNodes=this.curModelGraph.nodes.filter(s=>St(s)&&!s.hideInLayout&&s.id!=="GraphInputs"&&s.id!=="GraphOutputs"&&(r==null||o.has(s.id))),this.orderedNodesCache[t]=this.orderedNodes}}populateResultsTable(){if(!this.curModelGraph||this.orderedNodes.length===0)return;let t=this.nodeDataProviderExtensionService.getRunsForModelGraph(this.curModelGraph);this.curStatRows=[{stat:"Min",values:[]},{stat:"Max",values:[]},{stat:"Sum",values:[]},{stat:"Avg",values:[]}];let n=[];for(let s=0;sf.sourceNodeId==="GraphInputs"),h=a.outgoingEdges||[],p=h.length===0||h.some(f=>f.targetNodeId==="GraphOutputs");this.curRows.push({id:c,index:s,isInput:u,isOutput:p,label:this.curModelGraph.nodesById[c].label||"?",cols:l})}this.savedCurRows=[...this.curRows],this.sortAndFiltertRows(),this.handleTablePaginatorChanged(0),this.curStatRows[0].values=n.map(s=>s.min),this.curStatRows[1].values=n.map(s=>s.max),this.curStatRows[2].values=n.map(s=>s.sum),this.curStatRows[3].values=n.map(s=>s.sum/s.count),this.childrenStatsCols=[];let r=0;for(let s=0;ss.id);for(let s=0;sn.test(r.label))}catch{return}this.curRows.sort((n,r)=>{let o=this.getCellValue(n,this.infoPanelService.curSortingRunIndex),s=this.getCellValue(r,this.infoPanelService.curSortingRunIndex);return this.compareValue(o,s,this.infoPanelService.curSortingDirection)})}sortAndFilterChildrenStatsRows(){this.curChildrenStatRows=[...this.savedChildrenStatRows||[]];let t=(this.childrenStatsTableNodeFilter.value||"").trim();if(t!=="")try{let n=new RegExp(t,"i");this.curChildrenStatRows=this.curChildrenStatRows.filter(r=>n.test(r.label))}catch{return}this.curChildrenStatRows.sort((n,r)=>{let o=this.getChildrenStatsColValue(n,this.infoPanelService.curChildrenStatSortingColIndex),s=this.getChildrenStatsColValue(r,this.infoPanelService.curChildrenStatSortingColIndex);return this.compareValue(o,s,this.infoPanelService.curChildrenStatSortingDirection)})}compareValue(t,n,r){if(t==null&&n==null)return 0;if(t==null&&n!=null)return r==="asc"?-1:1;if(t!=null&&n==null)return r==="asc"?1:-1;if(typeof t=="number"&&typeof n=="number")return r==="asc"?t-n:n-t;{let o=JSON.stringify(t),s=JSON.stringify(n);return r==="asc"?o.localeCompare(s):s.localeCompare(o)}}getCellValue(t,n){switch(n){case-2:return t.index;case-1:return t.label;default:return t.cols[n].value}}getChildrenStatsColValue(t,n){switch(n){case-2:return t.index;case-1:return t.label;default:return t.colValues[n]}}getOrderedNodesCacheKey(){return`${this.curModelGraph?.collectionLabel}___${this.curModelGraph?.id}___${this.rootGroupNodeId}`}getRunsKey(t){return t.map(n=>{let r=[];r.push(n.runId),r.push(String(n.done));let o=n.results||{};return r.push(String(Object.keys(o).length)),r.join("__")}).join(",")}static \u0275fac=function(n){return new(n||i)(M(at),M(Fi),M(uf),M(Mr),M(Ne))};static \u0275cmp=ce({type:i,selectors:[["node-data-provider-summary-panel"]],viewQuery:function(n,r){if(n&1&&(Ee(cme,5),Ee(lme,5)),n&2){let o;be(o=ye())&&(r.paginator=o.first),be(o=ye())&&(r.childrenStatsPaginator=o.first)}},inputs:{paneId:"paneId",rootGroupNodeId:"rootGroupNodeId"},standalone:!0,features:[dn,le],decls:33,vars:27,consts:[["statsTableContainer",""],["childrenStatsTableContainer",""],["nodeDataTableContainer",""],["nodeFilter",""],["childrenStatsPaginator",""],["paginator",""],[1,"container"],[1,"index-container"],["class","index-row",3,"selected",4,"ngFor","ngForOf","ngForTrackBy"],[1,"table-container"],[1,"table-title-container"],[1,"title-label-container",3,"click"],["border","0","cellspacing","0","cellpadding","0",4,"ngIf"],[1,"table-container","children-stats"],[3,"pageSize","itemsCount"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["class","children-stats-results","border","0","cellspacing","0","cellpadding","0",4,"ngIf"],[1,"table-container","results"],["class","results","border","0","cellspacing","0","cellpadding","0",4,"ngIf"],[1,"index-row"],[1,"index-number-container"],["class","index-number",4,"ngIf"],["color","primary","diameter","16",4,"ngIf"],[1,"run-name"],[1,"action-icons-container"],["class","error",3,"matTooltip","matTooltipDisabled",4,"ngIf"],["class","icon-container visibility",3,"selected","hide","matTooltip","click",4,"ngIf"],["class","icon-container action",3,"matTooltip","click",4,"ngIf"],[1,"index-number"],["color","primary","diameter","16"],[1,"error",3,"matTooltip","matTooltipDisabled"],[1,"icon-container","visibility",3,"click","matTooltip"],[1,"icon-container","action",3,"click","matTooltip"],["border","0","cellspacing","0","cellpadding","0"],[1,"stats"],["class","value-col",4,"ngFor","ngForOf"],[4,"ngFor","ngForOf","ngForTrackBy"],[1,"value-col"],[1,"header-content"],[1,"stat-label"],[3,"change","pageSize","itemsCount"],["border","0","cellspacing","0","cellpadding","0",1,"children-stats-results"],[1,"index",3,"click"],["class","sort",4,"ngIf"],[1,"header","node-label",3,"click"],["class","value-col",3,"click",4,"ngFor","ngForOf"],[1,"sort"],[1,"value-col",3,"click"],[1,"node-label",3,"click"],["border","0","cellspacing","0","cellpadding","0",1,"results"],["class","icon-container visibility","matTooltipPosition","above",3,"selected","hide","matTooltip","click",4,"ngIf"],["matTooltipPosition","above",1,"icon-container","visibility",3,"click","matTooltip"],["class","value-col",3,"background-color","color",4,"ngFor","ngForOf"],[1,"node-filter"],["placeholder","regex to filter nodes",3,"formControl"],[1,"filter"],[1,"clear-container"],[1,"clear-container",3,"click"],[1,"clear"]],template:function(n,r){if(n&1){let o=ne();v(0,"div",6)(1,"div",7),$(2,mme,10,8,"div",8),b(),v(3,"div",9,0)(5,"div",10)(6,"div",11),H("click",function(){B(o);let a=ve(4);return V(r.handleToggleExpandCollapseStatsTable(a))}),v(7,"mat-icon"),S(8),b(),S(9),b()(),$(10,bme,8,3,"table",12),b(),v(11,"div",13,1)(13,"div",10)(14,"div",11),H("click",function(){B(o);let a=ve(12);return V(r.handleToggleExpandCollapseChildrenStatsTable(a))}),v(15,"mat-icon"),S(16),b(),S(17),b(),$(18,yme,2,2,"paginator",14),b(),$(19,xme,1,0,"ng-container",15)(20,Tme,14,5,"table",16),b(),v(21,"div",17,2)(23,"div",10)(24,"div",11),H("click",function(){B(o);let a=ve(22);return V(r.handleToggleExpandCollapseNodeDataTable(a))}),v(25,"mat-icon"),S(26),b(),S(27),b(),$(28,Dme,2,2,"paginator",14),b(),$(29,Pme,1,0,"ng-container",15)(30,Bme,14,5,"table",18),b()(),$(31,zme,5,2,"ng-template",null,3,Tt)}if(n&2){let o=ve(32);w(2),R("ngForOf",r.runItems)("ngForTrackBy",r.trackByRunId),w(),re("collapsed",r.statsTableCollapsed),w(5),st(r.statsTableTitleIcon),w(),Se(" ",r.statsTableTitle," "),w(),R("ngIf",r.showResults),w(),re("collapsed",r.childrenStatsTableCollapsed),w(5),st(r.childrenStatsTableTitleIcon),w(),Se(" ",r.childrenStatsTableTitle," "),w(),oe(r.childrenStatRowsCount>r.tablePageSize&&!r.childrenStatsTableCollapsed?18:-1),w(),R("ngTemplateOutlet",o)("ngTemplateOutletContext",Ac(23,Ij,r.childrenStatsTableNodeFilter)),w(),R("ngIf",r.showResults),w(),re("collapsed",r.nodeDataTableCollapsed),w(5),st(r.nodeDataTableTitleIcon),w(),Se(" ",r.nodeDataTableTitle," "),w(),oe(r.rowsCount>r.tablePageSize&&!r.nodeDataTableCollapsed?28:-1),w(),R("ngTemplateOutlet",o)("ngTemplateOutletContext",Ac(25,Ij,r.resultsTableNodeFilter)),w(),R("ngIf",r.showResults)}},dependencies:[Ae,Mi,Tn,Gs,tt,pt,ao,fa,Xt,Yn,df,br,Xs,Ho,vo],styles:[`.container[_ngcontent-%COMP%]{padding-top:12px;box-sizing:border-box;display:flex;flex-direction:column;height:100%}.container[_ngcontent-%COMP%] .index-number[_ngcontent-%COMP%]{font-size:10px;width:16px;height:16px;border-radius:8px;box-sizing:border-box;border:1px solid #999;background-color:#eee;display:flex;align-items:center;justify-content:center;flex-shrink:0}.container[_ngcontent-%COMP%] .node-filter[_ngcontent-%COMP%]{margin-bottom:4px;position:relative}.container[_ngcontent-%COMP%] .node-filter[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:100%;border:1px solid #ccc;padding:3px 4px 3px 19px;border-radius:4px;box-sizing:border-box}.container[_ngcontent-%COMP%] .node-filter[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:12px;width:12px;height:12px;color:#999}.container[_ngcontent-%COMP%] .node-filter[_ngcontent-%COMP%] mat-icon.filter[_ngcontent-%COMP%]{position:absolute;top:6px;left:3px}.container[_ngcontent-%COMP%] .node-filter[_ngcontent-%COMP%] .clear-container[_ngcontent-%COMP%]{position:absolute;top:6px;right:3px;cursor:pointer;display:flex;align-items:center;justify-content:center}.container[_ngcontent-%COMP%] .node-filter[_ngcontent-%COMP%] .clear-container[_ngcontent-%COMP%]:hover mat-icon[_ngcontent-%COMP%]{color:#555}.container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;width:16px;height:16px;opacity:.3;cursor:pointer}.container[_ngcontent-%COMP%] .icon-container.selected[_ngcontent-%COMP%]{opacity:1;cursor:default}.container[_ngcontent-%COMP%] .icon-container.selected[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#e1a011}.container[_ngcontent-%COMP%] .icon-container.hide[_ngcontent-%COMP%]{visibility:hidden}.container[_ngcontent-%COMP%] .icon-container.action[_ngcontent-%COMP%]{opacity:.7;margin-left:4px}.container[_ngcontent-%COMP%] .icon-container.action[_ngcontent-%COMP%]:hover{opacity:1}.container[_ngcontent-%COMP%] .icon-container.visibility[_ngcontent-%COMP%]{margin-left:4px}.container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px;line-height:16px;color:#000}.container[_ngcontent-%COMP%] .index-container[_ngcontent-%COMP%] .index-row[_ngcontent-%COMP%]{display:flex;align-items:center;overflow:hidden;padding:2px 8px}.container[_ngcontent-%COMP%] .index-container[_ngcontent-%COMP%] .index-row.selected[_ngcontent-%COMP%]{background-color:#fff2d5}.container[_ngcontent-%COMP%] .index-container[_ngcontent-%COMP%] .index-row[_ngcontent-%COMP%] .index-number-container[_ngcontent-%COMP%]{width:16px;height:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-right:6px}.container[_ngcontent-%COMP%] .index-container[_ngcontent-%COMP%] .index-row[_ngcontent-%COMP%] .run-name[_ngcontent-%COMP%]{flex-grow:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.container[_ngcontent-%COMP%] .index-container[_ngcontent-%COMP%] .index-row[_ngcontent-%COMP%] .action-icons-container[_ngcontent-%COMP%]{display:flex;align-items:center;flex-shrink:0}.container[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{width:100%}.container[_ngcontent-%COMP%] .running[_ngcontent-%COMP%]{display:flex;align-items:center;margin-top:16px}.container[_ngcontent-%COMP%] .running[_ngcontent-%COMP%] mat-spinner[_ngcontent-%COMP%]{margin-right:4px}.container[_ngcontent-%COMP%] .running[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{color:#777}.container[_ngcontent-%COMP%] .error[_ngcontent-%COMP%]{width:16px;height:16px}.container[_ngcontent-%COMP%] .error[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;height:16px;width:16px;color:#a00}.container[_ngcontent-%COMP%] .table-container[_ngcontent-%COMP%]{width:100%;box-sizing:border-box;padding:8px;margin-top:2px;display:flex;flex-direction:column;transition:max-height .15s ease-out;overflow:hidden}.container[_ngcontent-%COMP%] .table-container.collapsed[_ngcontent-%COMP%]{max-height:30px!important}.container[_ngcontent-%COMP%] .table-container[_ngcontent-%COMP%] .table-title-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;line-height:22px}.container[_ngcontent-%COMP%] .table-container[_ngcontent-%COMP%] .table-title-container[_ngcontent-%COMP%] .title-label-container[_ngcontent-%COMP%]{display:flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;line-height:15px}.container[_ngcontent-%COMP%] .table-container[_ngcontent-%COMP%] .table-title-container[_ngcontent-%COMP%] .title-label-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-left:-4px}.container[_ngcontent-%COMP%] .table-container[_ngcontent-%COMP%] paginator[_ngcontent-%COMP%]{align-self:flex-end}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%]{border:1px solid #ccc;border-radius:4px;width:100%;box-sizing:border-box;-webkit-user-select:none;user-select:none;background-color:#fdfdfd;overflow:hidden}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%]{height:24px;background-color:#f2f2f2;font-size:11px}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%]{font-size:11px;font-family:Arial,Helvetica,sans-serif}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover{outline:1px solid #999}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td[_ngcontent-%COMP%], .container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{padding:1px 4px;text-align:left}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td.node-label[_ngcontent-%COMP%], .container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th.node-label[_ngcontent-%COMP%]{border-left:1px solid #ddd}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td.value-col[_ngcontent-%COMP%], .container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th.value-col[_ngcontent-%COMP%]{border-left:1px solid #ddd;max-width:80px;text-overflow:ellipsis;overflow:hidden}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%]{height:100%;display:flex;align-items:center;font-size:11px}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] mat-icon.sort[_ngcontent-%COMP%]{font-size:12px;width:12px;height:12px;color:#999;margin-left:4px;flex-shrink:0}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .stat-label[_ngcontent-%COMP%]{margin-left:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td.node-label[_ngcontent-%COMP%]{cursor:pointer}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td.node-label[_ngcontent-%COMP%]:hover{text-decoration:underline dotted #0085f2}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td.input[_ngcontent-%COMP%]{color:#009e73;font-weight:500}.container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td.output[_ngcontent-%COMP%]{color:#d55e00;font-weight:500} @@ -3909,8 +3910,8 @@ void main() { -`],changeDetection:0})}return i})();var Rme=["inputValueContent"],Ame=(i,e)=>e.id||e.label,Nme=(i,e)=>e.opNode.id,Sj=(i,e)=>e.key,kme=(i,e)=>e.outputId,Lme=(i,e)=>e.id,Fme=i=>({value:i});function Bme(i,e){if(i&1&&(v(0,"tr")(1,"td",21),ee(2,"hoverable-label",22),b(),v(3,"td",23),ee(4,"expandable-info-text",24),b()()),i&2){let t=e.$implicit,n=I(2);se("search-match",n.isSearchMatchedAttrId(t.label)),w(2),N("label",t.label),w(2),N("text",t.value)("type",t.label)("bgColor",t.bgColor||"transparent")("textColor",t.textColor||"black")}}function Vme(i,e){if(i&1){let t=ie();v(0,"div",15,1)(2,"div",16)(3,"button",17),H("click",function(){let r=V(t).$implicit,o=ve(1),s=I();return z(s.handleToggleSection(r.label,o))}),v(4,"mat-icon"),S(5),b()(),S(6),b(),v(7,"div",18)(8,"table",19),ln(9,Bme,5,7,"tr",20,Ame),b()()()}if(i&2){let t=e.$implicit,n=I();se("collapsed",n.isSectionCollapsed(t.label)),w(5),nt(n.getSectionToggleIcon(t.label)),w(),Me(" ",t.label," "),w(3),cn(t.items)}}function zme(i,e){if(i&1){let t=ie();v(0,"div",15,2)(2,"div",16)(3,"button",17),H("click",function(){V(t);let r=ve(1),o=I();return z(o.handleToggleSection(o.SectionLabel.NODE_DATA_PROVIDERS,r))}),v(4,"mat-icon"),S(5),b()(),S(6," Node data providers "),b(),ee(7,"node-data-provider-summary-panel",25),b()}if(i&2){let t=I();se("collapsed",t.isSectionCollapsed(t.SectionLabel.NODE_DATA_PROVIDERS)),w(5),nt(t.getSectionToggleIcon(t.SectionLabel.NODE_DATA_PROVIDERS)),w(2),N("paneId",t.paneId)("rootGroupNodeId",t.curSelectedNodeId)}}function Ume(i,e){if(i&1){let t=ie();v(0,"paginator",32),H("change",function(r){V(t);let o=I(2);return z(o.handleInputPaginatorChanged(r))}),b()}if(i&2){let t=I(2);N("pageSize",t.ioPageSize)("itemsCount",t.curInputsCount)}}function Hme(i,e){if(i&1&&(v(0,"div",35),S(1),b()),i&2){let t=I().$implicit,n=I(2);w(),nt(n.getInputName(t))}}function Gme(i,e){if(i&1){let t=ie();v(0,"div",43),H("click",function(r){V(t);let o=I(2).$implicit,s=I(2);return z(s.handleToggleInputOpNodeVisibility(o.opNode.id,s.flatInputItems,r))}),v(1,"mat-icon"),S(2),b()()}if(i&2){let t=I(2).$implicit,n=I(2);se("visible",n.getInputOpNodeToggleVisible(t.opNode.id)),N("matTooltip",n.getInputOpNodeToggleVisibilityTooltip(t.opNode.id)),w(2),Me(" ",n.getInputOpNodeToggleVisibilityIcon(t.opNode.id)," ")}}function jme(i,e){if(i&1){let t=ie();v(0,"div",38),H("click",function(r){V(t);let o=I().$implicit,s=I(2);return z(s.handleLocateNode(o.opNode.id,r))}),S(1),v(2,"div",39)(3,"mat-icon",40),S(4,"my_location"),b()(),ee(5,"div",41),W(6,Gme,3,4,"div",42),b()}if(i&2){let t=I().$implicit,n=I(2);Ze("data-id",t.opNode.id),w(),Me(" ",n.getInputName(t)," "),w(),N("matTooltip",n.locatorTooltip),w(4),ae(t.opNode.hideInLayout?-1:6)}}function Wme(i,e){if(i&1&&(v(0,"tr",null,4)(2,"td",21)(3,"div",44)(4,"mat-icon",45),S(5,"circle"),b(),ee(6,"hoverable-label",22),b()(),v(7,"td",23),ee(8,"expandable-info-text",46),b()()),i&2){let t=I().$implicit,n=I(3);se("search-match",n.isSearchMatchedInputValue(t.value)),w(6),N("label",t.key),w(2),N("text",t.value)("type",t.key)}}function $me(i,e){if(i&1&&W(0,Wme,9,5,"tr",20),i&2){let t=e.$implicit,n=I(3);ae(n.getShowMetadata(t)?0:-1)}}function qme(i,e){if(i&1&&(v(0,"div",31)(1,"div",33)(2,"div",34),S(3),b(),W(4,Hme,2,1,"div",35)(5,jme,7,4,"div",36),b(),v(6,"table",37),ln(7,$me,1,1,null,null,Sj),b()()),i&2){let t=e.$implicit,n=I(2);w(),se("search-match",n.isSearchMatchedInputValue(n.getInputTensorTag(t))||n.isSearchMatchedInputValue(t.opNode.label)),w(2),nt(t.index),w(),ae(t.opNode.hideInLayout?4:5),w(3),cn(t.metadataList)}}function Yme(i,e){if(i&1){let t=ie();v(0,"div",26,3)(2,"div",27)(3,"div",28)(4,"button",17),H("click",function(){V(t);let r=ve(1),o=I();return z(o.handleToggleSection(o.SectionLabel.INPUTS,r))}),v(5,"mat-icon"),S(6),b()(),S(7),b(),W(8,Ume,1,2,"paginator",29),b(),v(9,"div",30),ln(10,qme,9,4,"div",31,Nme),b()()}if(i&2){let t=I();se("collapsed",t.isSectionCollapsed(t.SectionLabel.INPUTS)),w(6),nt(t.getSectionToggleIcon(t.SectionLabel.INPUTS)),w(),Me(" inputs (",t.curInputsCount,") "),w(),ae(t.showInputPaginator?8:-1),w(2),cn(t.flatInputItems)}}function Xme(i,e){if(i&1){let t=ie();v(0,"paginator",32),H("change",function(r){V(t);let o=I(2);return z(o.handleOutputPaginatorChanged(r))}),b()}if(i&2){let t=I(2);N("pageSize",t.ioPageSize)("itemsCount",t.outputItems.length)}}function Zme(i,e){if(i&1){let t=ie();v(0,"div",50),H("click",function(r){V(t);let o=I().$implicit,s=I(2);return z(s.handleToggleOutputVisibility(o.outputId,s.outputItemsForCurPage,r))}),v(1,"mat-icon"),S(2),b()()}if(i&2){let t=I().$implicit,n=I(2);se("visible",n.getOutputToggleVisible(t.outputId)),N("matTooltip",n.getOutputToggleVisibilityTooltip(t.outputId)),w(2),Me(" ",n.getOutputToggleVisibilityIcon(t.outputId)," ")}}function Qme(i,e){i&1&&Zi(0)}function Kme(i,e){if(i&1&&(v(0,"div",53),W(1,Qme,1,0,"ng-container",54),b()),i&2){let t=I().$implicit,n=I(6),r=ve(11);w(),N("ngTemplateOutlet",r)("ngTemplateOutletContext",Pl(2,Fme,n.getNamespaceLabel(t)))}}function Jme(i,e){if(i&1){let t=ie();v(0,"div",52),H("click",function(r){let o=V(t).$implicit,s=I(6);return z(s.handleLocateNode(o.id,r))}),S(1),v(2,"div",39)(3,"mat-icon",40),S(4,"my_location"),b()()(),W(5,Kme,2,4,"ng-template",null,6,kt)}if(i&2){let t=e.$implicit,n=ve(6),r=I(6);se("search-match",r.isSearchMatchedOutputValue(t.label)),N("bubble",n)("overlaySize",r.constValuesPopupSize)("overlayPositions",r.outputConnectsToNamespacePopupPosition)("hoverDelayMs",50),Ze("data-id",t.id),w(),Me(" ",t.label," "),w(),N("matTooltip",r.locatorTooltip)}}function ege(i,e){if(i&1&&ln(0,Jme,7,9,null,null,Lme),i&2){let t=I().$implicit;cn(t.connectedNodes)}}function tge(i,e){if(i&1&&ee(0,"expandable-info-text",51),i&2){let t=I().$implicit;N("text",t.value)}}function nge(i,e){if(i&1&&(v(0,"tr")(1,"td",21)(2,"div",44)(3,"mat-icon",45),S(4,"circle"),b(),ee(5,"hoverable-label",22),b()(),v(6,"td",23),W(7,ege,2,0)(8,tge,1,1,"expandable-info-text",51),b()()),i&2){let t=e.$implicit,n=I(4);se("search-match",n.isSearchMatchedOutputValue(t.value)),w(5),N("label",t.key),w(2),ae(t.key===n.outputMetadataConnectedTo?7:8)}}function ige(i,e){if(i&1&&(v(0,"table",37),ln(1,nge,9,4,"tr",20,Sj),b()),i&2){let t=I().$implicit;w(),cn(t.metadataList)}}function rge(i,e){if(i&1&&(v(0,"div",31)(1,"div",33)(2,"div",34),S(3),b(),v(4,"div",35),S(5),b(),ee(6,"div",41),W(7,Zme,3,4,"div",49),b(),W(8,ige,3,0,"table",37),b()),i&2){let t=e.$implicit,n=I(2);w(),se("search-match",n.isSearchMatchedOutputValue(t.tensorTag)),w(2),nt(t.index),w(2),nt(n.getOutputName(t)),w(2),ae(n.getHasConnectedToNodes(t)?7:-1),w(),ae(t.metadataList.length>0?8:-1)}}function oge(i,e){if(i&1){let t=ie();v(0,"div",47,5)(2,"div",48)(3,"div",28)(4,"button",17),H("click",function(){V(t);let r=ve(1),o=I();return z(o.handleToggleSection(o.SectionLabel.OUTPUTS,r))}),v(5,"mat-icon"),S(6),b()(),S(7),b(),W(8,Xme,1,2,"paginator",29),b(),v(9,"div",30),ln(10,rge,9,6,"div",31,kme),b()()}if(i&2){let t=I();se("collapsed",t.isSectionCollapsed(t.SectionLabel.OUTPUTS)),w(6),nt(t.getSectionToggleIcon(t.SectionLabel.OUTPUTS)),w(),Me(" outputs (",t.curOutputsCount,") "),w(),ae(t.showOutputPaginator?8:-1),w(2),cn(t.outputItemsForCurPage)}}function sge(i,e){if(i&1){let t=ie();v(0,"paginator",32),H("change",function(r){V(t);let o=I(2);return z(o.handleIdenticalGroupsPaginatorChanged(r))}),b()}if(i&2){let t=I(2);N("pageSize",t.ioPageSize)("itemsCount",t.identicalGroupNodes.length)}}function age(i,e){if(i&1){let t=ie();v(0,"div",15,7)(2,"div",55)(3,"div",28)(4,"button",17),H("click",function(){V(t);let r=ve(1),o=I();return z(o.handleToggleSection(o.SectionLabel.IDENTICAL_GROUPS,r))}),v(5,"mat-icon"),S(6),b()(),S(7),b(),W(8,sge,1,2,"paginator",29),b(),ee(9,"io-tree",56),b()}if(i&2){let t=I();se("collapsed",t.isSectionCollapsed(t.SectionLabel.IDENTICAL_GROUPS)),w(6),nt(t.getSectionToggleIcon(t.SectionLabel.IDENTICAL_GROUPS)),w(),Me(" Identical layers (",t.identicalGroupNodes.length,") "),w(),ae(t.showIdenticalGroupsPaginator?8:-1),w(),N("data",t.identicalGroupsData)("rendererId",t.curRendererId)}}function lge(i,e){if(i&1&&(v(0,"div",59),S(1),b()),i&2){let t=e.$implicit;w(),Me(" ",t," ")}}function cge(i,e){if(i&1&&(v(0,"div",57),S(1," Namespace hierarchy "),b(),v(2,"div",58),ln(3,lge,2,1,"div",59,K0),b()),i&2){let t=e.value;w(3),cn(t.split("/"))}}var Es=function(i){return i.GRAPH_INFO="Graph info",i.NODE_INFO="Node info",i.LAYER_INFO="Layer info",i.LAYER_ATTRS="Layer attributes",i.ATTRIBUTES="Attributes",i.NODE_DATA_PROVIDERS="Node data providers",i.IDENTICAL_GROUPS="Identical groups",i.INPUTS="inputs",i.OUTPUTS="outputs",i}(Es||{}),dge=64,uge=150,Cj=370,Mj=(()=>{class i{appService;nodeDataProviderExtensionService;changeDetectorRef;infoPanelService;splitPaneService;paneId;inputValueContents=new Yi;curModelGraph;curSelectedNode;curShowOnOpNodeInfoIds=new Set;curShowOnOpNodeAttrIds=new Set;curShowOnGroupNodeInfoIds=new Set;curShowOnNodeDataProviderRuns={};curSearchResults=void 0;width=Cj;minWidth=Cj;sections=[];flatInputItems=[];outputItems=[];outputItemsForCurPage=[];identicalGroupNodes=[];identicalGroupsData;curRendererId="";curInputsCount=0;curOutputsCount=0;resizing=!1;hide=!1;ioPageSize;SectionLabel=Es;outputMetadataConnectedTo="connects to";inputMetadataValuesKey="values";inputMetadataNamespaceKey="namespace";locatorTooltip=`Click: locate -Alt+click: select`;getNamespaceLabel=cd;constValuesPopupSize={minWidth:100,minHeight:0,maxWidth:600};constValuesPopupPosition=[{originX:"start",originY:"top",overlayX:"end",overlayY:"top",offsetX:-32}];outputConnectsToNamespacePopupPosition=[{originX:"start",originY:"top",overlayX:"end",overlayY:"top",offsetX:-4}];curSearchAttrMatches=[];curSearchInputMatches=[];curSearchOutputMatches=[];inputSourceNodes=[];inputMetadataList=[];savedWidth=0;constructor(t,n,r,o,s){this.appService=t,this.nodeDataProviderExtensionService=n,this.changeDetectorRef=r,this.infoPanelService=o,this.splitPaneService=s,this.ioPageSize=this.appService.testMode?5:25,lt(()=>{let a=this.appService.getPaneById(this.paneId);if(!a||!a.modelGraph)return;this.curModelGraph=a.modelGraph,this.curRendererId=a.selectedNodeInfo?.rendererId||"";let l=a.selectedNodeInfo?.nodeId||"";this.curSelectedNodeId!==l&&(this.handleNodeSelected(l),setTimeout(()=>{this.splitPaneService.resetInputOutputHiddenIds(),this.handleSearchResultsChanged()}))}),lt(()=>{let a=this.appService.getPaneById(this.paneId);!a||!a.modelGraph||this.curSearchResults!==a.searchResults&&(this.curSearchResults=a.searchResults,this.handleSearchResultsChanged())}),lt(()=>{this.nodeDataProviderExtensionService.runs(),this.genInfoData(),this.changeDetectorRef.markForCheck(),setTimeout(()=>{this.updateInputValueContentsExpandable()})})}isSearchMatchedAttrId(t){return this.curSearchAttrMatches.find(n=>n.matchedAttrId===t)!=null}isSearchMatchedInputValue(t){return this.curSearchInputMatches?this.curSearchInputMatches.find(n=>n.matchedText===t)!=null:!1}isSearchMatchedOutputValue(t){return this.curSearchOutputMatches?this.curSearchOutputMatches.find(n=>n.matchedText===t)!=null:!1}handleMouseDownResizer(t){t.preventDefault(),document.body.style.cursor="ew-resize";let n=yn(document,"mousemove"),r=yn(window,"mouseup"),o=this.width,s=t.clientX;this.resizing=!0,this.changeDetectorRef.markForCheck(),Xr([n]).pipe(Xe(r)).subscribe({next:([a])=>{let l=a.clientX-s;this.width=Math.max(dge,o-l),this.minWidth=this.width,this.changeDetectorRef.markForCheck()},complete:()=>{document.body.style.cursor="default",this.resizing=!1,this.changeDetectorRef.markForCheck()}})}handleInputPaginatorChanged(t){let n=this.inputSourceNodes.slice(t*this.ioPageSize,(t+1)*this.ioPageSize),r=this.inputMetadataList.slice(t*this.ioPageSize,(t+1)*this.ioPageSize);this.flatInputItems=this.genInputFlatItems(t*this.ioPageSize,n,r),this.changeDetectorRef.markForCheck(),setTimeout(()=>{this.updateInputValueContentsExpandable()})}handleOutputPaginatorChanged(t){this.outputItemsForCurPage=this.outputItems.slice(t*this.ioPageSize,(t+1)*this.ioPageSize),this.changeDetectorRef.markForCheck()}handleIdenticalGroupsPaginatorChanged(t){this.identicalGroupsData=cl(this.identicalGroupNodes.slice(t*this.ioPageSize,(t+1)*this.ioPageSize),[],"incoming",this.curSelectedNode?.id||"")}toggleHideInfoPanel(){this.hide=!this.hide;let t=0;this.hide?this.savedWidth=this.width:t=this.savedWidth,this.animateSidePanelWidth(t)}handleToggleSection(t,n){if(!n)return;this.isSectionCollapsed(t)?n.style.maxHeight=`${n.scrollHeight}px`:(n.style.maxHeight=`${n.offsetHeight}px`,n.style.overflow="hidden"),this.changeDetectorRef.markForCheck(),setTimeout(()=>{this.infoPanelService.collapsedSectionNames.has(t)?this.infoPanelService.collapsedSectionNames.delete(t):this.infoPanelService.collapsedSectionNames.add(t),this.changeDetectorRef.markForCheck(),setTimeout(()=>{this.isSectionCollapsed(t)?n.style.overflow="hidden":(n.style.overflow="visible",n.style.maxHeight="fit-content")},150)})}isSectionCollapsed(t){return this.infoPanelService.collapsedSectionNames.has(t)}getSectionToggleIcon(t){return this.isSectionCollapsed(t)?"chevron_right":"expand_more"}handleLocateNode(t,n){this.appService.curToLocateNodeInfo.set({nodeId:t,rendererId:this.curRendererId,isGroupNode:!1,select:n.altKey})}handleToggleInputOpNodeVisibility(t,n,r){r.stopPropagation(),r.altKey?this.splitPaneService.setInputOpNodeVisible(t,n.map(o=>o.opNode.id)):this.splitPaneService.toggleInputOpNodeVisibility(t)}getInputOpNodeToggleVisible(t){return this.splitPaneService.getInputOpNodeVisible(t)}getInputOpNodeToggleVisibilityIcon(t){return this.getInputOpNodeToggleVisible(t)?"visibility":"visibility_off"}getInputOpNodeToggleVisibilityTooltip(t){return this.getInputOpNodeToggleVisible(t)?"Click to hide highlight":"Click to show highlight"}handleToggleOutputVisibility(t,n,r){r.stopPropagation(),r.altKey?this.splitPaneService.setOutputVisible(t,n.map(o=>o.outputId)):this.splitPaneService.toggleOutputVisibility(t)}getOutputToggleVisible(t){return this.splitPaneService.getOutputVisible(t)}getOutputToggleVisibilityIcon(t){return this.getOutputToggleVisible(t)?"visibility":"visibility_off"}getOutputToggleVisibilityTooltip(t){return this.getOutputToggleVisible(t)?"Click to hide highlight":"Click to show highlight"}getInputName(t){let n=t.metadataList.find(r=>r.key===Bo);return n?`${n.value} (${t.opNode.label})`:t.opNode.label}getInputTensorTag(t){return t.metadataList.find(r=>r.key===Bo)?.value??""}getOutputName(t){return t.tensorTag===""?"output":t.tensorTag}getShowMetadata(t){return!t.key.startsWith("__")}getHasConnectedToNodes(t){return(t.metadataList.find(r=>r.key===this.outputMetadataConnectedTo)?.connectedNodes||[]).length>0}trackBySectionLabel(t,n){return n.label}trackByItemIdOrLabel(t,n){return n.id||n.label}get canShowGraphInfo(){return this.curModelGraph!=null&&this.curSelectedNode==null}get showNodeDataProviderSummary(){return this.curModelGraph?(this.curSelectedNode==null||yt(this.curSelectedNode))&&this.nodeDataProviderExtensionService.getRunsForModelGraph(this.curModelGraph).length>0:!1}get curSelectedNodeId(){return this.curSelectedNode?this.curSelectedNode.id:void 0}get showInputPaginator(){return this.inputSourceNodes.length>this.ioPageSize&&!this.isSectionCollapsed(Es.INPUTS)}get showOutputPaginator(){return this.outputItems.length>this.ioPageSize&&!this.isSectionCollapsed(Es.OUTPUTS)}get showIdenticalGroupsPaginator(){return this.identicalGroupNodes.length>this.ioPageSize&&!this.isSectionCollapsed(Es.IDENTICAL_GROUPS)}get hideToggleTooltip(){return this.hide?"Show info panel":"Hide info panel"}get hideToggleIconName(){return this.hide?"chevron_left":"chevron_right"}handleNodeSelected(t){!this.curModelGraph||!t?this.curSelectedNode=void 0:this.curSelectedNode=this.curModelGraph.nodesById[t],this.genInfoData(),this.changeDetectorRef.markForCheck(),setTimeout(()=>{this.updateInputValueContentsExpandable()})}genInfoData(){this.sections=[],this.flatInputItems=[],this.inputSourceNodes=[],this.inputMetadataList=[],this.outputItems=[],this.identicalGroupNodes=[],this.identicalGroupsData=void 0,this.canShowGraphInfo?this.genInfoDataForGraph():this.curSelectedNode&&(Et(this.curSelectedNode)?(this.genInfoDataForSelectedOpNode(),this.genInputsOutputsData()):yt(this.curSelectedNode)&&this.genInfoDataForSelectedGroupNode())}genInfoDataForGraph(){if(!this.curModelGraph)return;let t={label:Es.GRAPH_INFO,sectionType:"graph",items:[]};this.sections.push(t);let n=this.curModelGraph.groupNodeAttributes?.[""];if(n)for(let s of Object.keys(n))t.items.push({section:t,label:s,value:n[s]});let r=0,o=0;for(let s of this.curModelGraph.nodes)Et(s)&&!s.hideInLayout?r++:yt(s)&&o++;t.items.push({section:t,label:"op node count",value:String(r)},{section:t,label:"layer count",value:String(o)})}genInfoDataForSelectedOpNode(){if(!this.curModelGraph||!this.curSelectedNode)return;let t=this.curSelectedNode,n={label:Es.NODE_INFO,sectionType:"op",items:[]};this.sections.push(n),n.items.push({section:n,label:"op name",value:`${t.label}`});let r="id";if(n.items.push({section:n,label:r,value:t.id,canShowOnNode:!0,showOnNode:this.curShowOnOpNodeInfoIds.has(r)}),r="namespace",n.items.push({section:n,label:r,value:cd(t),canShowOnNode:!0,showOnNode:this.curShowOnOpNodeInfoIds.has(r)}),Object.keys(t.attrs||{}).length>0){let s={label:Es.ATTRIBUTES,sectionType:"op",items:[]},a=t.attrs||{};for(let l of Object.keys(a))l.startsWith("__")||s.items.push({section:s,label:l,value:a[l],canShowOnNode:!0,showOnNode:this.curShowOnOpNodeAttrIds.has(l)});s.items.length>0&&this.sections.push(s)}let o=this.nodeDataProviderExtensionService.getRunsForModelGraph(this.curModelGraph);if(o.length>0){let s={label:Es.NODE_DATA_PROVIDERS,sectionType:"op",items:[]};this.sections.push(s);for(let a of o){let l=((a.results||{})[this.curModelGraph.id]||{})[t.id],c=l?.strValue||"-",d=l?.bgColor||"transparent",u=l?.textColor||"black";s.items.push({id:a.runId,section:s,label:a.runName,value:c,canShowOnNode:a.done,showOnNode:this.curShowOnNodeDataProviderRuns[a.runId]!=null,bgColor:d,textColor:u,loading:!a.done})}}}genInputsOutputsData(){if(!this.curModelGraph||!this.curSelectedNode)return;let t=this.curSelectedNode,n=t.incomingEdges||[];this.inputMetadataList=[],this.inputSourceNodes=[],this.flatInputItems=[];for(let a of n){let l=this.curModelGraph?.nodesById[a.sourceNodeId];this.inputSourceNodes.push(l);let c=(t.inputsMetadata||{})[a.targetNodeInputId]||{},d=Z({},(l.outputsMetadata||{})[a.sourceNodeOutputId]||{});for(let u of Object.keys(d))c[u]==null&&u!==Bo&&(c[u]=d[u]);this.inputMetadataList.push(c)}if(this.curInputsCount=this.inputSourceNodes.length,n.length>0){let a=this.inputSourceNodes.slice(0,this.ioPageSize),l=this.inputMetadataList.slice(0,this.ioPageSize);this.flatInputItems=this.genInputFlatItems(0,a,l)}this.outputItems=[];let r=t.outputsMetadata||{},o=t.outgoingEdges||[],s=0;for(let a of Object.keys(r)){let l=[],c="";for(let u of Object.keys(r[a])){let h=r[a][u];u===Bo&&(c=h),!u.startsWith("__")&&l.push({key:u,value:h})}l.sort((u,h)=>u.key.localeCompare(h.key));let d=o.filter(u=>u.sourceNodeOutputId===a).map(u=>this.curModelGraph.nodesById[u.targetNodeId]);l.push({key:this.outputMetadataConnectedTo,value:"",connectedNodes:d}),this.outputItems.push({index:s,tensorTag:c,outputId:a,metadataList:l}),s++}this.curOutputsCount=this.outputItems.length,this.outputItemsForCurPage=this.outputItems.slice(0,this.ioPageSize)}genInfoDataForSelectedGroupNode(){if(!this.curModelGraph||!this.curSelectedNode)return;let t=this.curSelectedNode,n={label:Es.LAYER_INFO,sectionType:"group",items:[]};this.sections.push(n),n.items.push({section:n,label:"name",value:t.label});let r="namespace";n.items.push({section:n,label:r,value:cd(t),canShowOnNode:!0,showOnNode:this.curShowOnGroupNodeInfoIds.has(r)}),r="#children",n.items.push({section:n,label:r,value:String((t.nsChildrenIds||[]).length),canShowOnNode:!0,showOnNode:this.curShowOnGroupNodeInfoIds.has(r)}),r="#descendants",n.items.push({section:n,label:r,value:String((t.descendantsNodeIds||[]).length),canShowOnNode:!0,showOnNode:this.curShowOnGroupNodeInfoIds.has(r)});let o=this.curModelGraph.groupNodeAttributes?.[t.id.replace("___group___","")];if(o){let s={label:Es.LAYER_ATTRS,sectionType:"group",items:[]};this.sections.push(s);for(let a of Object.keys(o))s.items.push({section:n,label:a,value:o[a]})}t.identicalGroupIndex!=null&&(this.identicalGroupNodes=this.curModelGraph.nodes.filter(s=>yt(s)&&s.identicalGroupIndex===t.identicalGroupIndex),this.identicalGroupsData=cl(this.identicalGroupNodes.slice(0,this.ioPageSize),[],"incoming",t.id))}handleSearchResultsChanged(){if(!this.curSelectedNode||!this.curSearchResults)return;let t=this.curSelectedNode.id,n=this.curSearchResults.results[t]||[],r=[],o=[],s=[];for(let a of n)switch(a.type){case bt.INPUT_METADATA:r.push(a);break;case bt.OUTPUT_METADATA:o.push(a);break;case bt.ATTRIBUTE:s.push(a);break;default:break}this.curSearchAttrMatches=s,this.curSearchOutputMatches=o,this.curSearchInputMatches=r,this.changeDetectorRef.markForCheck()}animateSidePanelWidth(t){let n=Date.now(),r=this.width,o=()=>{let s=Date.now()-n,a=this.appService.testMode?1:Math.min(1,s/uge);a=Math.sin(a*Math.PI/2);let l=r+(t-r)*a;if(this.width=l,this.minWidth=l,this.changeDetectorRef.markForCheck(),a>=1){this.width=t,this.minWidth=t,this.changeDetectorRef.markForCheck();return}requestAnimationFrame(o)};o()}genInputFlatItems(t,n,r){let o=[];for(let s=0;s{l.push({key:d,value:u})}),l.sort((d,u)=>d.key.localeCompare(u.key)),l.push({key:this.inputMetadataNamespaceKey,value:cd(n[s])});let c=a.attrs||{};c[ka]&&l.push({key:this.inputMetadataValuesKey,value:c[ka]}),o.push({index:s+t,opNode:a,metadataList:l})}return o}updateInputValueContentsExpandable(){for(let t=0;tn.offsetHeight&&n.classList.add("expandable")}}static \u0275fac=function(n){return new(n||i)(M(st),M(Cr),M(Fe),M(af),M(_c))};static \u0275cmp=le({type:i,selectors:[["info-panel"]],viewQuery:function(n,r){if(n&1&&Te(Rme,5),n&2){let o;be(o=ye())&&(r.inputValueContents=o)}},hostVars:4,hostBindings:function(n,r){n&2&&tn("width",r.width,"px")("min-width",r.minWidth,"px")},inputs:{paneId:"paneId"},standalone:!0,features:[Bt([af]),ce],decls:12,vars:12,consts:[["namespaceHierarchy",""],["sectionEle",""],["ndpSectionEle",""],["inputsSectionEle",""],["rowEle",""],["outputsSectionEle",""],["namespacePopup",""],["identicalGroupsSectionEle",""],[1,"container"],["class","section",3,"collapsed",4,"ngFor","ngForOf","ngForTrackBy"],["class","section",3,"collapsed",4,"ngIf"],["class","section inputs",3,"collapsed",4,"ngIf"],["class","section outputs",3,"collapsed",4,"ngIf"],[1,"resizer",3,"mousedown"],[1,"hide-toggle",3,"click","matTooltip"],[1,"section"],[1,"header"],["mat-icon-button","",1,"toggle",3,"click"],[1,"items-container"],[1,"metadata-table","info-attrs"],[3,"search-match"],[1,"key"],[3,"label"],[1,"value"],[3,"text","type","bgColor","textColor"],[3,"paneId","rootGroupNodeId"],[1,"section","inputs"],[1,"header","input"],[1,"header-label-container"],[3,"pageSize","itemsCount"],[1,"flat-items-container"],[1,"flat-item"],[3,"change","pageSize","itemsCount"],[1,"name-row"],[1,"index"],[1,"name"],[1,"name","locator"],[1,"metadata-table"],[1,"name","locator",3,"click"],["matTooltipClass","multiline-tooltip-left","matTooltipPosition","right",1,"locator-icon-container",3,"matTooltip"],[1,"locator-icon"],[1,"filler"],["matTooltipPosition","left",1,"visibility-icon-container","input",3,"matTooltip","visible"],["matTooltipPosition","left",1,"visibility-icon-container","input",3,"click","matTooltip"],[1,"key-container"],[1,"bullet"],[3,"text","type"],[1,"section","outputs"],[1,"header","output"],["matTooltipPosition","left",1,"visibility-icon-container","output",3,"visible","matTooltip"],["matTooltipPosition","left",1,"visibility-icon-container","output",3,"click","matTooltip"],[3,"text"],[1,"target-node-container",3,"click","bubble","overlaySize","overlayPositions","hoverDelayMs"],[1,"model-explorer-const-values-popup"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"header","identical-groups"],[3,"data","rendererId"],[1,"values-count-msg"],[1,"namespace-content"],[1,"namespace-row"]],template:function(n,r){if(n&1){let o=ie();v(0,"div",8),W(1,Vme,11,4,"div",9)(2,zme,8,5,"div",10)(3,Yme,12,5,"div",11)(4,oge,12,5,"div",12)(5,age,10,7,"div",10),b(),v(6,"div",13),H("mousedown",function(a){return V(o),z(r.handleMouseDownResizer(a))}),b(),v(7,"div",14),H("click",function(){return V(o),z(r.toggleHideInfoPanel())}),v(8,"mat-icon"),S(9),b()(),W(10,cge,5,0,"ng-template",null,0,kt)}n&2&&(se("graph-info",r.showNodeDataProviderSummary),w(),N("ngForOf",r.sections)("ngForTrackBy",r.trackBySectionLabel),w(),N("ngIf",r.showNodeDataProviderSummary),w(),N("ngIf",r.flatInputItems.length>0),w(),N("ngIf",r.outputItems.length>0),w(),N("ngIf",r.identicalGroupsData),w(),se("resizing",r.resizing),w(),N("matTooltip",r.hideToggleTooltip),w(2),nt(r.hideToggleIconName))},dependencies:[$n,Ae,Si,Mn,Us,vj,bj,In,Ho,it,_t,ns,GC,Jt,Wn,sf,xc,wj],styles:[`[_nghost-%COMP%]{position:relative;width:370px;min-width:370px}.container[_ngcontent-%COMP%]{width:100%;height:100%;box-sizing:border-box;border-left:1px solid #e1e3e1;background-color:#fff;font-size:12px;overflow-y:auto;position:relative}.container[_ngcontent-%COMP%] .section[_ngcontent-%COMP%]{transition:max-height .15s ease-out;padding-bottom:8px;box-sizing:border-box}.container[_ngcontent-%COMP%] .section.collapsed[_ngcontent-%COMP%]{max-height:32px!important;overflow:hidden}.container[_ngcontent-%COMP%] .section.inputs[_ngcontent-%COMP%]{padding-bottom:16px}.container[_ngcontent-%COMP%] .section[_ngcontent-%COMP%] .flat-items-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;margin-top:10px;gap:8px}.container[_ngcontent-%COMP%] .section[_ngcontent-%COMP%] .flat-item[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:0 2px 0 12px;font-size:12px}.container[_ngcontent-%COMP%] .section[_ngcontent-%COMP%] .flat-item[_ngcontent-%COMP%] .name-row[_ngcontent-%COMP%]{display:flex;align-items:center}.container[_ngcontent-%COMP%] .section[_ngcontent-%COMP%] .flat-item[_ngcontent-%COMP%] .name-row.search-match[_ngcontent-%COMP%]{background-color:#f5e25a}.container[_ngcontent-%COMP%] .section[_ngcontent-%COMP%] .flat-item[_ngcontent-%COMP%] .name-row[_ngcontent-%COMP%] .index[_ngcontent-%COMP%]{color:#999;min-width:14px;margin-right:2px}.container[_ngcontent-%COMP%] .section[_ngcontent-%COMP%] .flat-item[_ngcontent-%COMP%] .name-row[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{color:#00639b;font-weight:500;display:flex;align-items:center}.container[_ngcontent-%COMP%] .section[_ngcontent-%COMP%] .flat-item[_ngcontent-%COMP%] .name-row[_ngcontent-%COMP%] .name.locator[_ngcontent-%COMP%]{flex-grow:1;display:flex;align-items:center;cursor:pointer}.container[_ngcontent-%COMP%] .section[_ngcontent-%COMP%] .flat-item[_ngcontent-%COMP%] .name-row[_ngcontent-%COMP%] .name.locator[_ngcontent-%COMP%]:hover{background-color:#f6f6f6}.container[_ngcontent-%COMP%] .section[_ngcontent-%COMP%] .flat-item[_ngcontent-%COMP%] .name-row[_ngcontent-%COMP%] .name.locator[_ngcontent-%COMP%]:hover .locator-icon-container[_ngcontent-%COMP%]{opacity:.8}.container[_ngcontent-%COMP%] .section[_ngcontent-%COMP%] .flat-item[_ngcontent-%COMP%] .metadata-table[_ngcontent-%COMP%]{margin-top:3px;margin-left:18px;margin-right:0}.container[_ngcontent-%COMP%] .section[_ngcontent-%COMP%]:not(:first-child){border-top:1px solid #dadce0}.container[_ngcontent-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1}.container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;align-items:center;font-size:11px;font-weight:700;padding:4px 12px 0;text-transform:uppercase;letter-spacing:.0327em;position:sticky;top:0;z-index:100;flex-shrink:0;box-sizing:border-box;background-color:#fff;-webkit-user-select:none;user-select:none;color:#000000de}.container[_ngcontent-%COMP%] .header.input[_ngcontent-%COMP%], .container[_ngcontent-%COMP%] .header.output[_ngcontent-%COMP%], .container[_ngcontent-%COMP%] .header.identical-groups[_ngcontent-%COMP%]{justify-content:space-between}.container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .header-label-container[_ngcontent-%COMP%]{display:flex;align-items:center}.container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] button.toggle[_ngcontent-%COMP%]{padding:0;width:24px;height:24px;margin-left:-8px;margin-right:2px;display:flex;align-items:center;justify-content:center}.container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] button.toggle[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:inherit;font-size:20px;width:20px;height:20px}.container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] button.toggle[_ngcontent-%COMP%] .mat-mdc-button-touch-target{display:none}.container[_ngcontent-%COMP%] .output-item-container[_ngcontent-%COMP%]{font-family:Roboto,sans-serif}.container[_ngcontent-%COMP%] .output-item-container[_ngcontent-%COMP%]:not(.last){margin-top:8px}.container[_ngcontent-%COMP%] .output-item-label[_ngcontent-%COMP%]{font-size:13px;padding:4px 12px;color:#00639b;font-weight:500}.container[_ngcontent-%COMP%] .metadata-table[_ngcontent-%COMP%]{border-spacing:0;border-collapse:collapse;font-size:12px;margin:0 12px;word-break:break-all;max-width:calc(100% - 28px)}.container[_ngcontent-%COMP%] .metadata-table.info-attrs[_ngcontent-%COMP%]{margin-left:30px}.container[_ngcontent-%COMP%] .metadata-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]{vertical-align:text-top}.container[_ngcontent-%COMP%] .metadata-table[_ngcontent-%COMP%] tr.search-match[_ngcontent-%COMP%]{background-color:#f5e25a}.container[_ngcontent-%COMP%] .metadata-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover.has-hover-values{cursor:pointer;background-color:#f6f6f6}.container[_ngcontent-%COMP%] .metadata-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] mat-icon.bullet[_ngcontent-%COMP%]{flex-shrink:0;font-size:4px;width:5px;height:5px;color:#bbb;margin-right:4px;margin-top:6px}.container[_ngcontent-%COMP%] .metadata-table[_ngcontent-%COMP%] td.key[_ngcontent-%COMP%]{color:#999;padding-right:6px;white-space:nowrap;min-width:100px;width:100px;max-width:100px;overflow:hidden;text-overflow:ellipsis;position:relative}.container[_ngcontent-%COMP%] .metadata-table[_ngcontent-%COMP%] td.key[_ngcontent-%COMP%] .key-container[_ngcontent-%COMP%]{display:flex;align-items:flex-start;overflow:hidden;position:absolute;inset:0}.container[_ngcontent-%COMP%] .metadata-table[_ngcontent-%COMP%] td.value[_ngcontent-%COMP%]{max-width:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.container[_ngcontent-%COMP%] .metadata-table[_ngcontent-%COMP%] td.value[_ngcontent-%COMP%]:has(expandable-info-text.expanded){white-space:normal;max-width:inherit}.container[_ngcontent-%COMP%] .metadata-table[_ngcontent-%COMP%] .target-node-container[_ngcontent-%COMP%]{display:flex;align-items:center;cursor:pointer}.container[_ngcontent-%COMP%] .metadata-table[_ngcontent-%COMP%] .target-node-container[_ngcontent-%COMP%]:hover .locator-icon-container[_ngcontent-%COMP%]{opacity:.8}.container[_ngcontent-%COMP%] .metadata-table[_ngcontent-%COMP%] .target-node-container.search-match[_ngcontent-%COMP%]{background-color:#f5e25a}.container[_ngcontent-%COMP%] .metadata-table[_ngcontent-%COMP%] .values-hover-trigger[_ngcontent-%COMP%]{box-sizing:border-box;border-radius:99px;display:flex;align-items:center;background-color:#d7f1ff;color:#00639b;width:fit-content;height:16px;padding:0 6px;font-size:10px}.container[_ngcontent-%COMP%] .items-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:4px;margin-top:10px;margin-bottom:6px}.container[_ngcontent-%COMP%] .item-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:0 12px}.container[_ngcontent-%COMP%] .item-container.search-match[_ngcontent-%COMP%]{background-color:#f5e25a}.container[_ngcontent-%COMP%] .item-container[_ngcontent-%COMP%] .label-row[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between}.container[_ngcontent-%COMP%] .item-container[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{font-weight:500;color:#aaa;font-size:12px;margin-bottom:1px}.container[_ngcontent-%COMP%] .item-container[_ngcontent-%COMP%] .show-on-node-toggle[_ngcontent-%COMP%]{height:16px;display:flex;font-size:11px;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer;-webkit-user-select:none;user-select:none;transform:scale(.7);margin-right:-6px;margin-top:-1px}.container[_ngcontent-%COMP%] .item-container[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{font-size:13px;word-break:break-word}.container[_ngcontent-%COMP%] .item-container[_ngcontent-%COMP%] .value.big-text[_ngcontent-%COMP%]{font-size:14px;font-weight:500}.container[_ngcontent-%COMP%] .item-container[_ngcontent-%COMP%] .value.has-bg-color[_ngcontent-%COMP%]{padding:2px 4px;border-radius:4px;margin-top:2px}.container[_ngcontent-%COMP%] .locator-icon-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;opacity:.5;margin-left:4px}.container[_ngcontent-%COMP%] .locator-icon-container.left[_ngcontent-%COMP%]{margin-right:4px;margin-left:0;display:inline-block}.container[_ngcontent-%COMP%] .locator-icon-container.left[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-bottom:-2px}.container[_ngcontent-%COMP%] .locator-icon-container[_ngcontent-%COMP%]:hover{opacity:.8}.container[_ngcontent-%COMP%] .locator-icon-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#333;font-size:12px;width:12px;height:12px}.container[_ngcontent-%COMP%] .visibility-icon-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;opacity:.5;padding:0 11px 0 20px;cursor:pointer}.container[_ngcontent-%COMP%] .visibility-icon-container[_ngcontent-%COMP%]:hover{opacity:.8}.container[_ngcontent-%COMP%] .visibility-icon-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#333;font-size:14px;width:14px;height:14px}.container[_ngcontent-%COMP%] .visibility-icon-container.input.visible[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#009e73}.container[_ngcontent-%COMP%] .visibility-icon-container.output.visible[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#d55e00}.resizer[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;left:0;width:6px;cursor:ew-resize;background-color:transparent;z-index:200}.resizer[_ngcontent-%COMP%]:hover, .resizer.resizing[_ngcontent-%COMP%]{background-color:#0000000a}.hide-toggle[_ngcontent-%COMP%]{position:absolute;right:100%;bottom:2px;width:16px;height:20px;border:1px solid #ccc;border-right:none;box-sizing:border-box;border-radius:99px 0 0 99px;cursor:pointer;background-color:#fff}.hide-toggle[_ngcontent-%COMP%]:hover{background-color:#eee}.hide-toggle[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{width:18px;height:18px;font-size:18px;color:#999} bubble-container:has(.model-explorer-const-values-popup){width:100%} .model-explorer-const-values-popup{padding:8px;line-height:12px;background-color:#fff} .model-explorer-const-values-popup .values-count-msg{margin-bottom:8px;color:#999;font-size:12px} .model-explorer-const-values-popup .content{font-size:11px;white-space:pre-wrap;font-family:monospace} .model-explorer-const-values-popup .namespace-row{font-size:12px;padding:3px 0} +`],changeDetection:0})}return i})();var Hme=["inputValueContent"],Gme=(i,e)=>e.id||e.label,jme=(i,e)=>e.opNode.id,Pj=(i,e)=>e.key,Wme=(i,e)=>e.outputId,$me=(i,e)=>e.id,qme=i=>({value:i});function Yme(i,e){if(i&1&&(v(0,"tr")(1,"td",21),ee(2,"hoverable-label",22),b(),v(3,"td",23),ee(4,"expandable-info-text",24),b()()),i&2){let t=e.$implicit,n=I(2);re("search-match",n.isSearchMatchedAttrId(t.label)),w(2),R("label",t.label),w(2),R("text",t.value)("type",t.label)("bgColor",t.bgColor||"transparent")("textColor",t.textColor||"black")}}function Xme(i,e){if(i&1){let t=ne();v(0,"div",15,1)(2,"div",16)(3,"button",17),H("click",function(){let r=B(t).$implicit,o=ve(1),s=I();return V(s.handleToggleSection(r.label,o))}),v(4,"mat-icon"),S(5),b()(),S(6),b(),v(7,"div",18)(8,"table",19),rn(9,Yme,5,7,"tr",20,Gme),b()()()}if(i&2){let t=e.$implicit,n=I();re("collapsed",n.isSectionCollapsed(t.label)),w(5),st(n.getSectionToggleIcon(t.label)),w(),Se(" ",t.label," "),w(3),on(t.items)}}function Zme(i,e){if(i&1){let t=ne();v(0,"div",15,2)(2,"div",16)(3,"button",17),H("click",function(){B(t);let r=ve(1),o=I();return V(o.handleToggleSection(o.SectionLabel.NODE_DATA_PROVIDERS,r))}),v(4,"mat-icon"),S(5),b()(),S(6," Node data providers "),b(),ee(7,"node-data-provider-summary-panel",25),b()}if(i&2){let t=I();re("collapsed",t.isSectionCollapsed(t.SectionLabel.NODE_DATA_PROVIDERS)),w(5),st(t.getSectionToggleIcon(t.SectionLabel.NODE_DATA_PROVIDERS)),w(2),R("paneId",t.paneId)("rootGroupNodeId",t.curSelectedNodeId)}}function Qme(i,e){if(i&1){let t=ne();v(0,"paginator",32),H("change",function(r){B(t);let o=I(2);return V(o.handleInputPaginatorChanged(r))}),b()}if(i&2){let t=I(2);R("pageSize",t.ioPageSize)("itemsCount",t.curInputsCount)}}function Kme(i,e){if(i&1&&(v(0,"div",35),S(1),b()),i&2){let t=I().$implicit,n=I(2);w(),st(n.getInputName(t))}}function Jme(i,e){if(i&1){let t=ne();v(0,"div",43),H("click",function(r){B(t);let o=I(2).$implicit,s=I(2);return V(s.handleToggleInputOpNodeVisibility(o.opNode.id,s.flatInputItems,r))}),v(1,"mat-icon"),S(2),b()()}if(i&2){let t=I(2).$implicit,n=I(2);re("visible",n.getInputOpNodeToggleVisible(t.opNode.id)),R("matTooltip",n.getInputOpNodeToggleVisibilityTooltip(t.opNode.id)),w(2),Se(" ",n.getInputOpNodeToggleVisibilityIcon(t.opNode.id)," ")}}function ege(i,e){if(i&1){let t=ne();v(0,"div",38),H("click",function(r){B(t);let o=I().$implicit,s=I(2);return V(s.handleLocateNode(o.opNode.id,r))}),S(1),v(2,"div",39)(3,"mat-icon",40),S(4,"my_location"),b()(),ee(5,"div",41),$(6,Jme,3,4,"div",42),b()}if(i&2){let t=I().$implicit,n=I(2);Ye("data-id",t.opNode.id),w(),Se(" ",n.getInputName(t)," "),w(),R("matTooltip",n.locatorTooltip),w(4),oe(t.opNode.hideInLayout?-1:6)}}function tge(i,e){if(i&1&&(v(0,"tr",null,4)(2,"td",21)(3,"div",44)(4,"mat-icon",45),S(5,"circle"),b(),ee(6,"hoverable-label",22),b()(),v(7,"td",23),ee(8,"expandable-info-text",46),b()()),i&2){let t=I().$implicit,n=I(3);re("search-match",n.isSearchMatchedInputValue(t.value)),w(6),R("label",t.key),w(2),R("text",t.value)("type",t.key)}}function nge(i,e){if(i&1&&$(0,tge,9,5,"tr",20),i&2){let t=e.$implicit,n=I(3);oe(n.getShowMetadata(t)?0:-1)}}function ige(i,e){if(i&1&&(v(0,"div",31)(1,"div",33)(2,"div",34),S(3),b(),$(4,Kme,2,1,"div",35)(5,ege,7,4,"div",36),b(),v(6,"table",37),rn(7,nge,1,1,null,null,Pj),b()()),i&2){let t=e.$implicit,n=I(2);w(),re("search-match",n.isSearchMatchedInputValue(n.getInputTensorTag(t))||n.isSearchMatchedInputValue(t.opNode.label)),w(2),st(t.index),w(),oe(t.opNode.hideInLayout?4:5),w(3),on(t.metadataList)}}function rge(i,e){if(i&1){let t=ne();v(0,"div",26,3)(2,"div",27)(3,"div",28)(4,"button",17),H("click",function(){B(t);let r=ve(1),o=I();return V(o.handleToggleSection(o.SectionLabel.INPUTS,r))}),v(5,"mat-icon"),S(6),b()(),S(7),b(),$(8,Qme,1,2,"paginator",29),b(),v(9,"div",30),rn(10,ige,9,4,"div",31,jme),b()()}if(i&2){let t=I();re("collapsed",t.isSectionCollapsed(t.SectionLabel.INPUTS)),w(6),st(t.getSectionToggleIcon(t.SectionLabel.INPUTS)),w(),Se(" inputs (",t.curInputsCount,") "),w(),oe(t.showInputPaginator?8:-1),w(2),on(t.flatInputItems)}}function oge(i,e){if(i&1){let t=ne();v(0,"paginator",32),H("change",function(r){B(t);let o=I(2);return V(o.handleOutputPaginatorChanged(r))}),b()}if(i&2){let t=I(2);R("pageSize",t.ioPageSize)("itemsCount",t.outputItems.length)}}function sge(i,e){if(i&1){let t=ne();v(0,"div",50),H("click",function(r){B(t);let o=I().$implicit,s=I(2);return V(s.handleToggleOutputVisibility(o.outputId,s.outputItemsForCurPage,r))}),v(1,"mat-icon"),S(2),b()()}if(i&2){let t=I().$implicit,n=I(2);re("visible",n.getOutputToggleVisible(t.outputId)),R("matTooltip",n.getOutputToggleVisibilityTooltip(t.outputId)),w(2),Se(" ",n.getOutputToggleVisibilityIcon(t.outputId)," ")}}function age(i,e){i&1&&Ki(0)}function cge(i,e){if(i&1&&(v(0,"div",53),$(1,age,1,0,"ng-container",54),b()),i&2){let t=I().$implicit,n=I(6),r=ve(11);w(),R("ngTemplateOutlet",r)("ngTemplateOutletContext",Ac(2,qme,n.getNamespaceLabel(t)))}}function lge(i,e){if(i&1){let t=ne();v(0,"div",52),H("click",function(r){let o=B(t).$implicit,s=I(6);return V(s.handleLocateNode(o.id,r))}),S(1),v(2,"div",39)(3,"mat-icon",40),S(4,"my_location"),b()()(),$(5,cge,2,4,"ng-template",null,6,Tt)}if(i&2){let t=e.$implicit,n=ve(6),r=I(6);re("search-match",r.isSearchMatchedOutputValue(t.label)),R("bubble",n)("overlaySize",r.constValuesPopupSize)("overlayPositions",r.outputConnectsToNamespacePopupPosition)("hoverDelayMs",50),Ye("data-id",t.id),w(),Se(" ",t.label," "),w(),R("matTooltip",r.locatorTooltip)}}function dge(i,e){if(i&1&&rn(0,lge,7,9,null,null,$me),i&2){let t=I().$implicit;on(t.connectedNodes)}}function uge(i,e){if(i&1&&ee(0,"expandable-info-text",51),i&2){let t=I().$implicit;R("text",t.value)}}function hge(i,e){if(i&1&&(v(0,"tr")(1,"td",21)(2,"div",44)(3,"mat-icon",45),S(4,"circle"),b(),ee(5,"hoverable-label",22),b()(),v(6,"td",23),$(7,dge,2,0)(8,uge,1,1,"expandable-info-text",51),b()()),i&2){let t=e.$implicit,n=I(4);re("search-match",n.isSearchMatchedOutputValue(t.value)),w(5),R("label",t.key),w(2),oe(t.key===n.outputMetadataConnectedTo?7:8)}}function pge(i,e){if(i&1&&(v(0,"table",37),rn(1,hge,9,4,"tr",20,Pj),b()),i&2){let t=I().$implicit;w(),on(t.metadataList)}}function fge(i,e){if(i&1&&(v(0,"div",31)(1,"div",33)(2,"div",34),S(3),b(),v(4,"div",35),S(5),b(),ee(6,"div",41),$(7,sge,3,4,"div",49),b(),$(8,pge,3,0,"table",37),b()),i&2){let t=e.$implicit,n=I(2);w(),re("search-match",n.isSearchMatchedOutputValue(t.tensorTag)),w(2),st(t.index),w(2),st(n.getOutputName(t)),w(2),oe(n.getHasConnectedToNodes(t)?7:-1),w(),oe(t.metadataList.length>0?8:-1)}}function mge(i,e){if(i&1){let t=ne();v(0,"div",47,5)(2,"div",48)(3,"div",28)(4,"button",17),H("click",function(){B(t);let r=ve(1),o=I();return V(o.handleToggleSection(o.SectionLabel.OUTPUTS,r))}),v(5,"mat-icon"),S(6),b()(),S(7),b(),$(8,oge,1,2,"paginator",29),b(),v(9,"div",30),rn(10,fge,9,6,"div",31,Wme),b()()}if(i&2){let t=I();re("collapsed",t.isSectionCollapsed(t.SectionLabel.OUTPUTS)),w(6),st(t.getSectionToggleIcon(t.SectionLabel.OUTPUTS)),w(),Se(" outputs (",t.curOutputsCount,") "),w(),oe(t.showOutputPaginator?8:-1),w(2),on(t.outputItemsForCurPage)}}function gge(i,e){if(i&1){let t=ne();v(0,"paginator",32),H("change",function(r){B(t);let o=I(2);return V(o.handleIdenticalGroupsPaginatorChanged(r))}),b()}if(i&2){let t=I(2);R("pageSize",t.ioPageSize)("itemsCount",t.identicalGroupNodes.length)}}function _ge(i,e){if(i&1){let t=ne();v(0,"div",15,7)(2,"div",55)(3,"div",28)(4,"button",17),H("click",function(){B(t);let r=ve(1),o=I();return V(o.handleToggleSection(o.SectionLabel.IDENTICAL_GROUPS,r))}),v(5,"mat-icon"),S(6),b()(),S(7),b(),$(8,gge,1,2,"paginator",29),b(),ee(9,"io-tree",56),b()}if(i&2){let t=I();re("collapsed",t.isSectionCollapsed(t.SectionLabel.IDENTICAL_GROUPS)),w(6),st(t.getSectionToggleIcon(t.SectionLabel.IDENTICAL_GROUPS)),w(),Se(" Identical layers (",t.identicalGroupNodes.length,") "),w(),oe(t.showIdenticalGroupsPaginator?8:-1),w(),R("data",t.identicalGroupsData)("rendererId",t.curRendererId)}}function vge(i,e){if(i&1&&(v(0,"div",59),S(1),b()),i&2){let t=e.$implicit;w(),Se(" ",t," ")}}function bge(i,e){if(i&1&&(v(0,"div",57),S(1," Namespace hierarchy "),b(),v(2,"div",58),rn(3,vge,2,1,"div",59,tb),b()),i&2){let t=e.value;w(3),on(t.split("/"))}}var Ts=function(i){return i.GRAPH_INFO="Graph info",i.NODE_INFO="Node info",i.LAYER_INFO="Layer info",i.LAYER_ATTRS="Layer attributes",i.ATTRIBUTES="Attributes",i.NODE_DATA_PROVIDERS="Node data providers",i.IDENTICAL_GROUPS="Identical groups",i.INPUTS="inputs",i.OUTPUTS="outputs",i}(Ts||{}),yge=64,xge=150,Dj=370,Oj=(()=>{class i{appService;nodeDataProviderExtensionService;changeDetectorRef;infoPanelService;splitPaneService;paneId;inputValueContents=new Zi;curModelGraph;curSelectedNode;curShowOnOpNodeInfoIds=new Set;curShowOnOpNodeAttrIds=new Set;curShowOnGroupNodeInfoIds=new Set;curShowOnNodeDataProviderRuns={};curSearchResults=void 0;width=Dj;minWidth=Dj;sections=[];flatInputItems=[];outputItems=[];outputItemsForCurPage=[];identicalGroupNodes=[];identicalGroupsData;curRendererId="";curInputsCount=0;curOutputsCount=0;resizing=!1;hide=!1;ioPageSize;SectionLabel=Ts;outputMetadataConnectedTo="connects to";inputMetadataValuesKey="values";inputMetadataNamespaceKey="namespace";locatorTooltip=`Click: locate +Alt+click: select`;getNamespaceLabel=hd;constValuesPopupSize={minWidth:100,minHeight:0,maxWidth:600};constValuesPopupPosition=[{originX:"start",originY:"top",overlayX:"end",overlayY:"top",offsetX:-32}];outputConnectsToNamespacePopupPosition=[{originX:"start",originY:"top",overlayX:"end",overlayY:"top",offsetX:-4}];curSearchAttrMatches=[];curSearchInputMatches=[];curSearchOutputMatches=[];inputSourceNodes=[];inputMetadataList=[];savedWidth=0;constructor(t,n,r,o,s){this.appService=t,this.nodeDataProviderExtensionService=n,this.changeDetectorRef=r,this.infoPanelService=o,this.splitPaneService=s,this.ioPageSize=this.appService.testMode?5:25,lt(()=>{let a=this.appService.getPaneById(this.paneId);if(!a||!a.modelGraph)return;this.curModelGraph=a.modelGraph,this.curRendererId=a.selectedNodeInfo?.rendererId||"";let c=a.selectedNodeInfo?.nodeId||"";this.curSelectedNodeId!==c&&(this.handleNodeSelected(c),setTimeout(()=>{this.splitPaneService.resetInputOutputHiddenIds(),this.handleSearchResultsChanged()}))}),lt(()=>{let a=this.appService.getPaneById(this.paneId);!a||!a.modelGraph||this.curSearchResults!==a.searchResults&&(this.curSearchResults=a.searchResults,this.handleSearchResultsChanged())}),lt(()=>{this.nodeDataProviderExtensionService.runs(),this.genInfoData(),this.changeDetectorRef.markForCheck(),setTimeout(()=>{this.updateInputValueContentsExpandable()})})}isSearchMatchedAttrId(t){return this.curSearchAttrMatches.find(n=>n.matchedAttrId===t)!=null}isSearchMatchedInputValue(t){return this.curSearchInputMatches?this.curSearchInputMatches.find(n=>n.matchedText===t)!=null:!1}isSearchMatchedOutputValue(t){return this.curSearchOutputMatches?this.curSearchOutputMatches.find(n=>n.matchedText===t)!=null:!1}handleMouseDownResizer(t){t.preventDefault(),document.body.style.cursor="ew-resize";let n=yn(document,"mousemove"),r=yn(window,"mouseup"),o=this.width,s=t.clientX;this.resizing=!0,this.changeDetectorRef.markForCheck(),eo([n]).pipe(Ze(r)).subscribe({next:([a])=>{let c=a.clientX-s;this.width=Math.max(yge,o-c),this.minWidth=this.width,this.changeDetectorRef.markForCheck()},complete:()=>{document.body.style.cursor="default",this.resizing=!1,this.changeDetectorRef.markForCheck()}})}handleInputPaginatorChanged(t){let n=this.inputSourceNodes.slice(t*this.ioPageSize,(t+1)*this.ioPageSize),r=this.inputMetadataList.slice(t*this.ioPageSize,(t+1)*this.ioPageSize);this.flatInputItems=this.genInputFlatItems(t*this.ioPageSize,n,r),this.changeDetectorRef.markForCheck(),setTimeout(()=>{this.updateInputValueContentsExpandable()})}handleOutputPaginatorChanged(t){this.outputItemsForCurPage=this.outputItems.slice(t*this.ioPageSize,(t+1)*this.ioPageSize),this.changeDetectorRef.markForCheck()}handleIdenticalGroupsPaginatorChanged(t){this.identicalGroupsData=uc(this.identicalGroupNodes.slice(t*this.ioPageSize,(t+1)*this.ioPageSize),[],"incoming",this.curSelectedNode?.id||"")}toggleHideInfoPanel(){this.hide=!this.hide;let t=0;this.hide?this.savedWidth=this.width:t=this.savedWidth,this.animateSidePanelWidth(t)}handleToggleSection(t,n){if(!n)return;this.isSectionCollapsed(t)?n.style.maxHeight=`${n.scrollHeight}px`:(n.style.maxHeight=`${n.offsetHeight}px`,n.style.overflow="hidden"),this.changeDetectorRef.markForCheck(),setTimeout(()=>{this.infoPanelService.collapsedSectionNames.has(t)?this.infoPanelService.collapsedSectionNames.delete(t):this.infoPanelService.collapsedSectionNames.add(t),this.changeDetectorRef.markForCheck(),setTimeout(()=>{this.isSectionCollapsed(t)?n.style.overflow="hidden":(n.style.overflow="visible",n.style.maxHeight="fit-content")},150)})}isSectionCollapsed(t){return this.infoPanelService.collapsedSectionNames.has(t)}getSectionToggleIcon(t){return this.isSectionCollapsed(t)?"chevron_right":"expand_more"}handleLocateNode(t,n){this.appService.curToLocateNodeInfo.set({nodeId:t,rendererId:this.curRendererId,isGroupNode:!1,select:n.altKey})}handleToggleInputOpNodeVisibility(t,n,r){r.stopPropagation(),r.altKey?this.splitPaneService.setInputOpNodeVisible(t,n.map(o=>o.opNode.id)):this.splitPaneService.toggleInputOpNodeVisibility(t)}getInputOpNodeToggleVisible(t){return this.splitPaneService.getInputOpNodeVisible(t)}getInputOpNodeToggleVisibilityIcon(t){return this.getInputOpNodeToggleVisible(t)?"visibility":"visibility_off"}getInputOpNodeToggleVisibilityTooltip(t){return this.getInputOpNodeToggleVisible(t)?"Click to hide highlight":"Click to show highlight"}handleToggleOutputVisibility(t,n,r){r.stopPropagation(),r.altKey?this.splitPaneService.setOutputVisible(t,n.map(o=>o.outputId)):this.splitPaneService.toggleOutputVisibility(t)}getOutputToggleVisible(t){return this.splitPaneService.getOutputVisible(t)}getOutputToggleVisibilityIcon(t){return this.getOutputToggleVisible(t)?"visibility":"visibility_off"}getOutputToggleVisibilityTooltip(t){return this.getOutputToggleVisible(t)?"Click to hide highlight":"Click to show highlight"}getInputName(t){let n=t.metadataList.find(r=>r.key===Uo);return n?`${n.value} (${t.opNode.label})`:t.opNode.label}getInputTensorTag(t){return t.metadataList.find(r=>r.key===Uo)?.value??""}getOutputName(t){return t.tensorTag===""?"output":t.tensorTag}getShowMetadata(t){return!t.key.startsWith("__")}getHasConnectedToNodes(t){return(t.metadataList.find(r=>r.key===this.outputMetadataConnectedTo)?.connectedNodes||[]).length>0}trackBySectionLabel(t,n){return n.label}trackByItemIdOrLabel(t,n){return n.id||n.label}get canShowGraphInfo(){return this.curModelGraph!=null&&this.curSelectedNode==null}get showNodeDataProviderSummary(){return this.curModelGraph?(this.curSelectedNode==null||wt(this.curSelectedNode))&&this.nodeDataProviderExtensionService.getRunsForModelGraph(this.curModelGraph).length>0:!1}get curSelectedNodeId(){return this.curSelectedNode?this.curSelectedNode.id:void 0}get showInputPaginator(){return this.inputSourceNodes.length>this.ioPageSize&&!this.isSectionCollapsed(Ts.INPUTS)}get showOutputPaginator(){return this.outputItems.length>this.ioPageSize&&!this.isSectionCollapsed(Ts.OUTPUTS)}get showIdenticalGroupsPaginator(){return this.identicalGroupNodes.length>this.ioPageSize&&!this.isSectionCollapsed(Ts.IDENTICAL_GROUPS)}get hideToggleTooltip(){return this.hide?"Show info panel":"Hide info panel"}get hideToggleIconName(){return this.hide?"chevron_left":"chevron_right"}handleNodeSelected(t){!this.curModelGraph||!t?this.curSelectedNode=void 0:this.curSelectedNode=this.curModelGraph.nodesById[t],this.genInfoData(),this.changeDetectorRef.markForCheck(),setTimeout(()=>{this.updateInputValueContentsExpandable()})}genInfoData(){this.sections=[],this.flatInputItems=[],this.inputSourceNodes=[],this.inputMetadataList=[],this.outputItems=[],this.identicalGroupNodes=[],this.identicalGroupsData=void 0,this.canShowGraphInfo?this.genInfoDataForGraph():this.curSelectedNode&&(St(this.curSelectedNode)?(this.genInfoDataForSelectedOpNode(),this.genInputsOutputsData()):wt(this.curSelectedNode)&&this.genInfoDataForSelectedGroupNode())}genInfoDataForGraph(){if(!this.curModelGraph)return;let t={label:Ts.GRAPH_INFO,sectionType:"graph",items:[]};this.sections.push(t);let n=this.curModelGraph.groupNodeAttributes?.[""];if(n)for(let s of Object.keys(n))t.items.push({section:t,label:s,value:n[s]});let r=0,o=0;for(let s of this.curModelGraph.nodes)St(s)&&!s.hideInLayout?r++:wt(s)&&o++;t.items.push({section:t,label:"op node count",value:String(r)},{section:t,label:"layer count",value:String(o)})}genInfoDataForSelectedOpNode(){if(!this.curModelGraph||!this.curSelectedNode)return;let t=this.curSelectedNode,n={label:Ts.NODE_INFO,sectionType:"op",items:[]};this.sections.push(n),n.items.push({section:n,label:"op name",value:`${t.label}`});let r="id";if(n.items.push({section:n,label:r,value:t.id,canShowOnNode:!0,showOnNode:this.curShowOnOpNodeInfoIds.has(r)}),r="namespace",n.items.push({section:n,label:r,value:hd(t),canShowOnNode:!0,showOnNode:this.curShowOnOpNodeInfoIds.has(r)}),Object.keys(t.attrs||{}).length>0){let s={label:Ts.ATTRIBUTES,sectionType:"op",items:[]},a=t.attrs||{};for(let c of Object.keys(a))c.startsWith("__")||s.items.push({section:s,label:c,value:a[c],canShowOnNode:!0,showOnNode:this.curShowOnOpNodeAttrIds.has(c)});s.items.length>0&&this.sections.push(s)}let o=this.nodeDataProviderExtensionService.getRunsForModelGraph(this.curModelGraph);if(o.length>0){let s={label:Ts.NODE_DATA_PROVIDERS,sectionType:"op",items:[]};this.sections.push(s);for(let a of o){let c=((a.results||{})[this.curModelGraph.id]||{})[t.id],l=c?.strValue||"-",d=c?.bgColor||"transparent",u=c?.textColor||"black";s.items.push({id:a.runId,section:s,label:a.runName,value:l,canShowOnNode:a.done,showOnNode:this.curShowOnNodeDataProviderRuns[a.runId]!=null,bgColor:d,textColor:u,loading:!a.done})}}}genInputsOutputsData(){if(!this.curModelGraph||!this.curSelectedNode)return;let t=this.curSelectedNode,n=t.incomingEdges||[];this.inputMetadataList=[],this.inputSourceNodes=[],this.flatInputItems=[];for(let a of n){let c=this.curModelGraph?.nodesById[a.sourceNodeId];this.inputSourceNodes.push(c);let l=(t.inputsMetadata||{})[a.targetNodeInputId]||{},d=Z({},(c.outputsMetadata||{})[a.sourceNodeOutputId]||{});for(let u of Object.keys(d))l[u]==null&&u!==Uo&&(l[u]=d[u]);this.inputMetadataList.push(l)}if(this.curInputsCount=this.inputSourceNodes.length,n.length>0){let a=this.inputSourceNodes.slice(0,this.ioPageSize),c=this.inputMetadataList.slice(0,this.ioPageSize);this.flatInputItems=this.genInputFlatItems(0,a,c)}this.outputItems=[];let r=t.outputsMetadata||{},o=t.outgoingEdges||[],s=0;for(let a of Object.keys(r)){let c=[],l="";for(let u of Object.keys(r[a])){let h=r[a][u];u===Uo&&(l=h),!u.startsWith("__")&&c.push({key:u,value:h})}c.sort((u,h)=>u.key.localeCompare(h.key));let d=o.filter(u=>u.sourceNodeOutputId===a).map(u=>this.curModelGraph.nodesById[u.targetNodeId]);c.push({key:this.outputMetadataConnectedTo,value:"",connectedNodes:d}),this.outputItems.push({index:s,tensorTag:l,outputId:a,metadataList:c}),s++}this.curOutputsCount=this.outputItems.length,this.outputItemsForCurPage=this.outputItems.slice(0,this.ioPageSize)}genInfoDataForSelectedGroupNode(){if(!this.curModelGraph||!this.curSelectedNode)return;let t=this.curSelectedNode,n={label:Ts.LAYER_INFO,sectionType:"group",items:[]};this.sections.push(n),n.items.push({section:n,label:"name",value:t.label});let r="namespace";n.items.push({section:n,label:r,value:hd(t),canShowOnNode:!0,showOnNode:this.curShowOnGroupNodeInfoIds.has(r)}),r="#children",n.items.push({section:n,label:r,value:String((t.nsChildrenIds||[]).length),canShowOnNode:!0,showOnNode:this.curShowOnGroupNodeInfoIds.has(r)}),r="#descendants",n.items.push({section:n,label:r,value:String((t.descendantsNodeIds||[]).length),canShowOnNode:!0,showOnNode:this.curShowOnGroupNodeInfoIds.has(r)});let o=this.curModelGraph.groupNodeAttributes?.[t.id.replace("___group___","")];if(o){let s={label:Ts.LAYER_ATTRS,sectionType:"group",items:[]};this.sections.push(s);for(let a of Object.keys(o))s.items.push({section:n,label:a,value:o[a]})}t.identicalGroupIndex!=null&&(this.identicalGroupNodes=this.curModelGraph.nodes.filter(s=>wt(s)&&s.identicalGroupIndex===t.identicalGroupIndex),this.identicalGroupsData=uc(this.identicalGroupNodes.slice(0,this.ioPageSize),[],"incoming",t.id))}handleSearchResultsChanged(){if(!this.curSelectedNode||!this.curSearchResults)return;let t=this.curSelectedNode.id,n=this.curSearchResults.results[t]||[],r=[],o=[],s=[];for(let a of n)switch(a.type){case xt.INPUT_METADATA:r.push(a);break;case xt.OUTPUT_METADATA:o.push(a);break;case xt.ATTRIBUTE:s.push(a);break;default:break}this.curSearchAttrMatches=s,this.curSearchOutputMatches=o,this.curSearchInputMatches=r,this.changeDetectorRef.markForCheck()}animateSidePanelWidth(t){let n=Date.now(),r=this.width,o=()=>{let s=Date.now()-n,a=this.appService.testMode?1:Math.min(1,s/xge);a=Math.sin(a*Math.PI/2);let c=r+(t-r)*a;if(this.width=c,this.minWidth=c,this.changeDetectorRef.markForCheck(),a>=1){this.width=t,this.minWidth=t,this.changeDetectorRef.markForCheck();return}requestAnimationFrame(o)};o()}genInputFlatItems(t,n,r){let o=[];for(let s=0;s{c.push({key:d,value:u})}),c.sort((d,u)=>d.key.localeCompare(u.key)),c.push({key:this.inputMetadataNamespaceKey,value:hd(n[s])});let l=a.attrs||{};l[Fa]&&c.push({key:this.inputMetadataValuesKey,value:l[Fa]}),o.push({index:s+t,opNode:a,metadataList:c})}return o}updateInputValueContentsExpandable(){for(let t=0;tn.offsetHeight&&n.classList.add("expandable")}}static \u0275fac=function(n){return new(n||i)(M(at),M(Mr),M(Ne),M(uf),M(yl))};static \u0275cmp=ce({type:i,selectors:[["info-panel"]],viewQuery:function(n,r){if(n&1&&Ee(Hme,5),n&2){let o;be(o=ye())&&(r.inputValueContents=o)}},hostVars:4,hostBindings:function(n,r){n&2&&Jt("width",r.width,"px")("min-width",r.minWidth,"px")},inputs:{paneId:"paneId"},standalone:!0,features:[Ft([uf]),le],decls:12,vars:12,consts:[["namespaceHierarchy",""],["sectionEle",""],["ndpSectionEle",""],["inputsSectionEle",""],["rowEle",""],["outputsSectionEle",""],["namespacePopup",""],["identicalGroupsSectionEle",""],[1,"container"],["class","section",3,"collapsed",4,"ngFor","ngForOf","ngForTrackBy"],["class","section",3,"collapsed",4,"ngIf"],["class","section inputs",3,"collapsed",4,"ngIf"],["class","section outputs",3,"collapsed",4,"ngIf"],[1,"resizer",3,"mousedown"],[1,"hide-toggle",3,"click","matTooltip"],[1,"section"],[1,"header"],["mat-icon-button","",1,"toggle",3,"click"],[1,"items-container"],[1,"metadata-table","info-attrs"],[3,"search-match"],[1,"key"],[3,"label"],[1,"value"],[3,"text","type","bgColor","textColor"],[3,"paneId","rootGroupNodeId"],[1,"section","inputs"],[1,"header","input"],[1,"header-label-container"],[3,"pageSize","itemsCount"],[1,"flat-items-container"],[1,"flat-item"],[3,"change","pageSize","itemsCount"],[1,"name-row"],[1,"index"],[1,"name"],[1,"name","locator"],[1,"metadata-table"],[1,"name","locator",3,"click"],["matTooltipClass","multiline-tooltip-left","matTooltipPosition","right",1,"locator-icon-container",3,"matTooltip"],[1,"locator-icon"],[1,"filler"],["matTooltipPosition","left",1,"visibility-icon-container","input",3,"matTooltip","visible"],["matTooltipPosition","left",1,"visibility-icon-container","input",3,"click","matTooltip"],[1,"key-container"],[1,"bullet"],[3,"text","type"],[1,"section","outputs"],[1,"header","output"],["matTooltipPosition","left",1,"visibility-icon-container","output",3,"visible","matTooltip"],["matTooltipPosition","left",1,"visibility-icon-container","output",3,"click","matTooltip"],[3,"text"],[1,"target-node-container",3,"click","bubble","overlaySize","overlayPositions","hoverDelayMs"],[1,"model-explorer-const-values-popup"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"header","identical-groups"],[3,"data","rendererId"],[1,"values-count-msg"],[1,"namespace-content"],[1,"namespace-row"]],template:function(n,r){if(n&1){let o=ne();v(0,"div",8),$(1,Xme,11,4,"div",9)(2,Zme,8,5,"div",10)(3,rge,12,5,"div",11)(4,mge,12,5,"div",12)(5,_ge,10,7,"div",10),b(),v(6,"div",13),H("mousedown",function(a){return B(o),V(r.handleMouseDownResizer(a))}),b(),v(7,"div",14),H("click",function(){return B(o),V(r.toggleHideInfoPanel())}),v(8,"mat-icon"),S(9),b()(),$(10,bge,5,0,"ng-template",null,0,Tt)}n&2&&(re("graph-info",r.showNodeDataProviderSummary),w(),R("ngForOf",r.sections)("ngForTrackBy",r.trackBySectionLabel),w(),R("ngIf",r.showNodeDataProviderSummary),w(),R("ngIf",r.flatInputItems.length>0),w(),R("ngIf",r.outputItems.length>0),w(),R("ngIf",r.identicalGroupsData),w(),re("resizing",r.resizing),w(),R("matTooltip",r.hideToggleTooltip),w(2),st(r.hideToggleIconName))},dependencies:[Hn,Ae,Mi,Tn,Gs,Sj,Mj,xn,Wo,tt,pt,ao,jC,Xt,Yn,df,Sl,Tj],styles:[`[_nghost-%COMP%]{position:relative;width:370px;min-width:370px}.container[_ngcontent-%COMP%]{width:100%;height:100%;box-sizing:border-box;border-left:1px solid #e1e3e1;background-color:#fff;font-size:12px;overflow-y:auto;position:relative}.container[_ngcontent-%COMP%] .section[_ngcontent-%COMP%]{transition:max-height .15s ease-out;padding-bottom:8px;box-sizing:border-box}.container[_ngcontent-%COMP%] .section.collapsed[_ngcontent-%COMP%]{max-height:32px!important;overflow:hidden}.container[_ngcontent-%COMP%] .section.inputs[_ngcontent-%COMP%]{padding-bottom:16px}.container[_ngcontent-%COMP%] .section[_ngcontent-%COMP%] .flat-items-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;margin-top:10px;gap:8px}.container[_ngcontent-%COMP%] .section[_ngcontent-%COMP%] .flat-item[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:0 2px 0 12px;font-size:12px}.container[_ngcontent-%COMP%] .section[_ngcontent-%COMP%] .flat-item[_ngcontent-%COMP%] .name-row[_ngcontent-%COMP%]{display:flex;align-items:center}.container[_ngcontent-%COMP%] .section[_ngcontent-%COMP%] .flat-item[_ngcontent-%COMP%] .name-row.search-match[_ngcontent-%COMP%]{background-color:#f5e25a}.container[_ngcontent-%COMP%] .section[_ngcontent-%COMP%] .flat-item[_ngcontent-%COMP%] .name-row[_ngcontent-%COMP%] .index[_ngcontent-%COMP%]{color:#999;min-width:14px;margin-right:2px}.container[_ngcontent-%COMP%] .section[_ngcontent-%COMP%] .flat-item[_ngcontent-%COMP%] .name-row[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{color:#00639b;font-weight:500;display:flex;align-items:center}.container[_ngcontent-%COMP%] .section[_ngcontent-%COMP%] .flat-item[_ngcontent-%COMP%] .name-row[_ngcontent-%COMP%] .name.locator[_ngcontent-%COMP%]{flex-grow:1;display:flex;align-items:center;cursor:pointer}.container[_ngcontent-%COMP%] .section[_ngcontent-%COMP%] .flat-item[_ngcontent-%COMP%] .name-row[_ngcontent-%COMP%] .name.locator[_ngcontent-%COMP%]:hover{background-color:#f6f6f6}.container[_ngcontent-%COMP%] .section[_ngcontent-%COMP%] .flat-item[_ngcontent-%COMP%] .name-row[_ngcontent-%COMP%] .name.locator[_ngcontent-%COMP%]:hover .locator-icon-container[_ngcontent-%COMP%]{opacity:.8}.container[_ngcontent-%COMP%] .section[_ngcontent-%COMP%] .flat-item[_ngcontent-%COMP%] .metadata-table[_ngcontent-%COMP%]{margin-top:3px;margin-left:18px;margin-right:0}.container[_ngcontent-%COMP%] .section[_ngcontent-%COMP%]:not(:first-child){border-top:1px solid #dadce0}.container[_ngcontent-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1}.container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;align-items:center;font-size:11px;font-weight:700;padding:4px 12px 0;text-transform:uppercase;letter-spacing:.0327em;position:sticky;top:0;z-index:100;flex-shrink:0;box-sizing:border-box;background-color:#fff;-webkit-user-select:none;user-select:none;color:#000000de}.container[_ngcontent-%COMP%] .header.input[_ngcontent-%COMP%], .container[_ngcontent-%COMP%] .header.output[_ngcontent-%COMP%], .container[_ngcontent-%COMP%] .header.identical-groups[_ngcontent-%COMP%]{justify-content:space-between}.container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .header-label-container[_ngcontent-%COMP%]{display:flex;align-items:center}.container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] button.toggle[_ngcontent-%COMP%]{padding:0;width:24px;height:24px;margin-left:-8px;margin-right:2px;display:flex;align-items:center;justify-content:center}.container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] button.toggle[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:inherit;font-size:20px;width:20px;height:20px}.container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] button.toggle[_ngcontent-%COMP%] .mat-mdc-button-touch-target{display:none}.container[_ngcontent-%COMP%] .output-item-container[_ngcontent-%COMP%]{font-family:Roboto,sans-serif}.container[_ngcontent-%COMP%] .output-item-container[_ngcontent-%COMP%]:not(.last){margin-top:8px}.container[_ngcontent-%COMP%] .output-item-label[_ngcontent-%COMP%]{font-size:13px;padding:4px 12px;color:#00639b;font-weight:500}.container[_ngcontent-%COMP%] .metadata-table[_ngcontent-%COMP%]{border-spacing:0;border-collapse:collapse;font-size:12px;margin:0 12px;word-break:break-all;max-width:calc(100% - 28px)}.container[_ngcontent-%COMP%] .metadata-table.info-attrs[_ngcontent-%COMP%]{margin-left:30px}.container[_ngcontent-%COMP%] .metadata-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]{vertical-align:text-top}.container[_ngcontent-%COMP%] .metadata-table[_ngcontent-%COMP%] tr.search-match[_ngcontent-%COMP%]{background-color:#f5e25a}.container[_ngcontent-%COMP%] .metadata-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover.has-hover-values{cursor:pointer;background-color:#f6f6f6}.container[_ngcontent-%COMP%] .metadata-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] mat-icon.bullet[_ngcontent-%COMP%]{flex-shrink:0;font-size:4px;width:5px;height:5px;color:#bbb;margin-right:4px;margin-top:6px}.container[_ngcontent-%COMP%] .metadata-table[_ngcontent-%COMP%] td.key[_ngcontent-%COMP%]{color:#999;padding-right:6px;white-space:nowrap;min-width:100px;width:100px;max-width:100px;overflow:hidden;text-overflow:ellipsis;position:relative}.container[_ngcontent-%COMP%] .metadata-table[_ngcontent-%COMP%] td.key[_ngcontent-%COMP%] .key-container[_ngcontent-%COMP%]{display:flex;align-items:flex-start;overflow:hidden;position:absolute;inset:0}.container[_ngcontent-%COMP%] .metadata-table[_ngcontent-%COMP%] td.value[_ngcontent-%COMP%]{max-width:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.container[_ngcontent-%COMP%] .metadata-table[_ngcontent-%COMP%] td.value[_ngcontent-%COMP%]:has(expandable-info-text.expanded){white-space:normal;max-width:inherit}.container[_ngcontent-%COMP%] .metadata-table[_ngcontent-%COMP%] .target-node-container[_ngcontent-%COMP%]{display:flex;align-items:center;cursor:pointer}.container[_ngcontent-%COMP%] .metadata-table[_ngcontent-%COMP%] .target-node-container[_ngcontent-%COMP%]:hover .locator-icon-container[_ngcontent-%COMP%]{opacity:.8}.container[_ngcontent-%COMP%] .metadata-table[_ngcontent-%COMP%] .target-node-container.search-match[_ngcontent-%COMP%]{background-color:#f5e25a}.container[_ngcontent-%COMP%] .metadata-table[_ngcontent-%COMP%] .values-hover-trigger[_ngcontent-%COMP%]{box-sizing:border-box;border-radius:99px;display:flex;align-items:center;background-color:#d7f1ff;color:#00639b;width:fit-content;height:16px;padding:0 6px;font-size:10px}.container[_ngcontent-%COMP%] .items-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:4px;margin-top:10px;margin-bottom:6px}.container[_ngcontent-%COMP%] .item-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:0 12px}.container[_ngcontent-%COMP%] .item-container.search-match[_ngcontent-%COMP%]{background-color:#f5e25a}.container[_ngcontent-%COMP%] .item-container[_ngcontent-%COMP%] .label-row[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between}.container[_ngcontent-%COMP%] .item-container[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{font-weight:500;color:#aaa;font-size:12px;margin-bottom:1px}.container[_ngcontent-%COMP%] .item-container[_ngcontent-%COMP%] .show-on-node-toggle[_ngcontent-%COMP%]{height:16px;display:flex;font-size:11px;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer;-webkit-user-select:none;user-select:none;transform:scale(.7);margin-right:-6px;margin-top:-1px}.container[_ngcontent-%COMP%] .item-container[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{font-size:13px;word-break:break-word}.container[_ngcontent-%COMP%] .item-container[_ngcontent-%COMP%] .value.big-text[_ngcontent-%COMP%]{font-size:14px;font-weight:500}.container[_ngcontent-%COMP%] .item-container[_ngcontent-%COMP%] .value.has-bg-color[_ngcontent-%COMP%]{padding:2px 4px;border-radius:4px;margin-top:2px}.container[_ngcontent-%COMP%] .locator-icon-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;opacity:.5;margin-left:4px}.container[_ngcontent-%COMP%] .locator-icon-container.left[_ngcontent-%COMP%]{margin-right:4px;margin-left:0;display:inline-block}.container[_ngcontent-%COMP%] .locator-icon-container.left[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-bottom:-2px}.container[_ngcontent-%COMP%] .locator-icon-container[_ngcontent-%COMP%]:hover{opacity:.8}.container[_ngcontent-%COMP%] .locator-icon-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#333;font-size:12px;width:12px;height:12px}.container[_ngcontent-%COMP%] .visibility-icon-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;opacity:.5;padding:0 11px 0 20px;cursor:pointer}.container[_ngcontent-%COMP%] .visibility-icon-container[_ngcontent-%COMP%]:hover{opacity:.8}.container[_ngcontent-%COMP%] .visibility-icon-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#333;font-size:14px;width:14px;height:14px}.container[_ngcontent-%COMP%] .visibility-icon-container.input.visible[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#009e73}.container[_ngcontent-%COMP%] .visibility-icon-container.output.visible[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#d55e00}.resizer[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;left:0;width:6px;cursor:ew-resize;background-color:transparent;z-index:200}.resizer[_ngcontent-%COMP%]:hover, .resizer.resizing[_ngcontent-%COMP%]{background-color:#0000000a}.hide-toggle[_ngcontent-%COMP%]{position:absolute;right:100%;bottom:2px;width:16px;height:20px;border:1px solid #ccc;border-right:none;box-sizing:border-box;border-radius:99px 0 0 99px;cursor:pointer;background-color:#fff}.hide-toggle[_ngcontent-%COMP%]:hover{background-color:#eee}.hide-toggle[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{width:18px;height:18px;font-size:18px;color:#999} bubble-container:has(.model-explorer-const-values-popup){width:100%} .model-explorer-const-values-popup{padding:8px;line-height:12px;background-color:#fff} .model-explorer-const-values-popup .values-count-msg{margin-bottom:8px;color:#999;font-size:12px} .model-explorer-const-values-popup .content{font-size:11px;white-space:pre-wrap;font-family:monospace} .model-explorer-const-values-popup .namespace-row{font-size:12px;padding:3px 0} @@ -3928,7 +3929,7 @@ Alt+click: select`;getNamespaceLabel=cd;constValuesPopupSize={minWidth:100,minHe -`],changeDetection:0})}return i})();function hge(i,e){if(i&1&&ee(0,"graph-panel",3),i&2){let t=I();N("@showModelGraph",void 0)("@.disabled",t.disableAnimation)("modelGraph",t.pane.modelGraph)("paneId",t.pane.id)("rendererId",t.pane.id)}}function pge(i,e){if(i&1&&ee(0,"info-panel",2),i&2){let t=I();N("paneId",t.pane.id)}}var Ej=(()=>{class i{appService;changeDetectorRef;pane;constructor(t,n){this.appService=t,this.changeDetectorRef=n}refresh(){this.changeDetectorRef.markForCheck()}get disableAnimation(){return this.appService.testMode}get showInfoPanel(){return!this.appService.config()?.hideInfoPanel}static \u0275fac=function(n){return new(n||i)(M(st),M(Fe))};static \u0275cmp=le({type:i,selectors:[["split-pane"]],inputs:{pane:"pane"},standalone:!0,features:[Bt([Xo,_c]),ce],decls:3,vars:2,consts:[[1,"container"],[3,"modelGraph","paneId","rendererId",4,"ngIf"],[3,"paneId"],[3,"modelGraph","paneId","rendererId"]],template:function(n,r){n&1&&(v(0,"div",0),W(1,hge,1,5,"graph-panel",1)(2,pge,1,1,"info-panel",2),b()),n&2&&(w(),N("ngIf",r.pane.modelGraph),w(),ae(r.showInfoPanel?2:-1))},dependencies:[Ae,Mn,_j,Mj],styles:[`.container[_ngcontent-%COMP%]{width:100%;height:100%;display:flex;overflow:hidden}.container[_ngcontent-%COMP%] graph-panel[_ngcontent-%COMP%]{flex-grow:1} +`],changeDetection:0})}return i})();function wge(i,e){if(i&1&&ee(0,"graph-panel",3),i&2){let t=I();R("@showModelGraph",void 0)("@.disabled",t.disableAnimation)("modelGraph",t.pane.modelGraph)("paneId",t.pane.id)("rendererId",t.pane.id)}}function Cge(i,e){if(i&1&&ee(0,"info-panel",2),i&2){let t=I();R("paneId",t.pane.id)}}var Rj=(()=>{class i{appService;changeDetectorRef;pane;constructor(t,n){this.appService=t,this.changeDetectorRef=n}refresh(){this.changeDetectorRef.markForCheck()}get disableAnimation(){return this.appService.testMode}get showInfoPanel(){return!this.appService.config()?.hideInfoPanel}static \u0275fac=function(n){return new(n||i)(M(at),M(Ne))};static \u0275cmp=ce({type:i,selectors:[["split-pane"]],inputs:{pane:"pane"},standalone:!0,features:[Ft([Ko,yl]),le],decls:3,vars:2,consts:[[1,"container"],[3,"modelGraph","paneId","rendererId",4,"ngIf"],[3,"paneId"],[3,"modelGraph","paneId","rendererId"]],template:function(n,r){n&1&&(v(0,"div",0),$(1,wge,1,5,"graph-panel",1)(2,Cge,1,1,"info-panel",2),b()),n&2&&(w(),R("ngIf",r.pane.modelGraph),w(),oe(r.showInfoPanel?2:-1))},dependencies:[Ae,Tn,Cj,Oj],styles:[`.container[_ngcontent-%COMP%]{width:100%;height:100%;display:flex;overflow:hidden}.container[_ngcontent-%COMP%] graph-panel[_ngcontent-%COMP%]{flex-grow:1} @@ -3946,7 +3947,7 @@ Alt+click: select`;getNamespaceLabel=cd;constValuesPopupSize={minWidth:100,minHe -`],data:{animation:[ai("showModelGraph",[mi("void",Qt({opacity:0,transform:"scale(1.03, 1.03)"})),On("void => *",Pn("150ms 100ms ease-out",Qt({opacity:1,transform:"scale(1, 1)"})))])]},changeDetection:0})}return i})();var fge=["panesContainer"],mge=["splitPane"],gge=(i,e)=>e.label;function _ge(i,e){i&1&&(v(0,"div",10),S(1),b()),i&2&&(w(),Me(" ",e," "))}function vge(i,e){i&1&&(v(0,"mat-icon"),S(1,"error"),b())}function bge(i,e){i&1&&ee(0,"mat-spinner",12)}function yge(i,e){i&1&&ee(0,"mat-spinner",20)}function xge(i,e){i&1&&(v(0,"mat-icon"),S(1,"check_circle"),b())}function wge(i,e){if(i&1&&(v(0,"div",19),W(1,yge,1,0,"mat-spinner",20)(2,xge,2,0,"mat-icon"),v(3,"div",21),S(4),b()()),i&2){let t=e.$implicit;w(),ae(t.processing?1:2),w(3),Me(" ",t.label," ")}}function Cge(i,e){if(i&1&&(v(0,"div",18),ln(1,wge,5,2,"div",19,gge),b()),i&2){let t=I(3).$implicit,n=I();w(),cn(n.getProcessingTasksForPane(t.id))}}function Sge(i,e){if(i&1&&(v(0,"div",11),W(1,vge,2,0,"mat-icon")(2,bge,1,0,"mat-spinner",12),S(3," Processing graph... "),b(),v(4,"div",13),S(5," Please remain on this page while the model is being processed "),b(),v(6,"div",14)(7,"div",15),ee(8,"div",16),b(),v(9,"div",17)(10,"mat-icon"),S(11,"info"),b()(),W(12,Cge,3,0,"ng-template",null,2,kt),b()),i&2){let t=ve(13),n=I(2).$implicit,r=I();w(),ae(r.getProcessingError(n)?1:2),w(7),tn("width",r.getProgressPct(n.id),"%"),w(),N("bubble",t)("hoverDelayMs",100)}}function Mge(i,e){if(i&1&&(v(0,"div",7),W(1,_ge,2,1,"div",10)(2,Sge,14,5),b()),i&2){let t,n=I().$implicit,r=I();N("@hideProcessingPanel",void 0)("@.disabled",r.disableAnimation),w(),ae((t=r.getProcessingError(n))?1:2,t)}}function Ege(i,e){if(i&1){let t=ie();v(0,"div",22)(1,"div",23),S(2),b(),v(3,"div",24)(4,"div",25),H("click",function(){V(t);let r=I(2);return z(r.handleClickSwapPane())})("mousedown",function(r){return V(t),z(r.stopPropagation())}),v(5,"mat-icon"),S(6,"swap_horiz"),b()(),v(7,"div",26),H("click",function(){V(t);let r=I().$implicit,o=I();return z(o.handleClickClosePane(r))})("mousedown",function(r){return V(t),z(r.stopPropagation())}),v(8,"mat-icon"),S(9,"close"),b()()()()}if(i&2){let t=I().$implicit,n=I();w(2),Me(" ",n.getPaneTitle(t)," ")}}function Ige(i,e){if(i&1&&(v(0,"div",6),W(1,Mge,3,3,"div",7)(2,Ege,10,1,"div",8),ee(3,"split-pane",9,1),b()),i&2){let t=e.$implicit,n=e.index,r=I();tn("width",r.getPaneWidthPct(n),"%"),se("selected",r.isPaneSelected(t)),Ze("data-pane-id",t.id),w(),ae(r.getShowLoading(t)?1:-1),w(),N("ngIf",r.hasSplitPane),w(),N("pane",t)}}function Tge(i,e){if(i&1){let t=ie();v(0,"div",27),H("mousedown",function(r){V(t);let o=I(),s=ve(1);return z(o.handleMouseDownResizer(r,s))}),ee(1,"div",28),b()}if(i&2){let t=I();tn("left",t.resizerLeft)}}var Ij=(()=>{class i{changeDetectorRef;appService;workerService;panesContainer;splitPanes=new Yi;processingTasks={};resizingSplitPane=!1;curLeftWidthFraction=1;panes;curUpdateProcessingProgressReq;constructor(t,n,r){this.changeDetectorRef=t,this.appService=n,this.workerService=r,this.panes=this.appService.panes,lt(()=>{let o=this.panes();o.length>=1&&(this.curLeftWidthFraction=o[0].widthFraction);for(let s of o)s.modelGraph||(this.processingTasks[s.id]=QF.map(a=>({label:a,processing:!0})));this.changeDetectorRef.detectChanges();for(let s=0;s{switch(o.data.eventType){case Ji.UPDATE_PROCESSING_PROGRESS:this.handleUpdateProcessingProgressRequest(o.data);break;default:break}})}ngAfterViewInit(){this.panesContainer.nativeElement.addEventListener("mousedown",t=>{let n=t.target.closest(".pane-container");if(!n)return;let r=n.dataset.paneId||"";this.appService.selectPane(r)},!0)}handleClickSwapPane(){this.appService.swapPane()}handleClickClosePane(t){this.appService.closePane(t.id)}getPaneTitle(t){let n=t.modelGraph;return n?`${n.collectionLabel} | ${n.id}`:"-"}handleMouseDownResizer(t,n){t.preventDefault(),document.body.style.cursor="ew-resize";let r=yn(document,"mousemove"),o=yn(window,"mouseup"),a=this.appService.panes()[0].widthFraction,l=n.offsetWidth,c=l*a,d=t.clientX;this.resizingSplitPane=!0,this.changeDetectorRef.markForCheck(),Xr([r]).pipe(Xe(o)).subscribe({next:([u])=>{let h=u.clientX-d,p=Math.min(l-200,Math.max(200,c+h));this.curLeftWidthFraction=p/l,this.changeDetectorRef.markForCheck()},complete:()=>{document.body.style.cursor="default",this.resizingSplitPane=!1,this.appService.setPaneWidthFraction(this.curLeftWidthFraction),this.changeDetectorRef.markForCheck()}})}isPaneSelected(t){return t.id===this.appService.selectedPaneId()}getPaneWidthPct(t){return(t===0?this.curLeftWidthFraction:1-this.curLeftWidthFraction)*100}trackByPaneId(t,n){return n.id}getProcessingTasksForPane(t){return this.processingTasks[t]||[]}getProgressPct(t){let n=this.processingTasks[t];return n?n.filter(o=>!o.processing).length/n.length*100:0}getShowLoading(t){return t.modelGraph==null||this.getProcessingTasksForPane(t.id).some(n=>n.error!=null&&n.error!=="")}getProcessingError(t){return this.getProcessingTasksForPane(t.id).find(n=>n.error!=null&&n.error!=="")?.error??""}get hasSplitPane(){return this.appService.panes().length>1}get resizerLeft(){return`calc(${this.curLeftWidthFraction*100}% - 5px)`}get disableAnimation(){return this.appService.testMode}handleUpdateProcessingProgressRequest(t){let n=t.paneId;if(!this.appService.getPaneById(n))return;let s=this.processingTasks[n].find(a=>a.label===t.label);s!=null&&(s.processing=!1,s.error=t.error,this.changeDetectorRef.detectChanges())}static \u0275fac=function(n){return new(n||i)(M(Fe),M(st),M(Ul))};static \u0275cmp=le({type:i,selectors:[["split-panes-container"]],viewQuery:function(n,r){if(n&1&&(Te(fge,5),Te(mge,5)),n&2){let o;be(o=ye())&&(r.panesContainer=o.first),be(o=ye())&&(r.splitPanes=o)}},standalone:!0,features:[ce],decls:4,vars:3,consts:[["panesContainer",""],["splitPane",""],["progressPopup",""],[1,"container"],["class","pane-container",3,"selected","width",4,"ngFor","ngForOf","ngForTrackBy"],["class","resizer split-pane",3,"left","mousedown",4,"ngIf"],[1,"pane-container"],[1,"loading"],["class","pane-title-container",4,"ngIf"],[3,"pane"],[1,"error-msg"],[1,"processing-msg-container"],["color","primary","diameter","18"],[1,"stay-on-page-info"],[1,"progress-bar-wrapper"],[1,"progress-bar-container"],[1,"progress-bar-body"],[1,"icon-container",3,"bubble","hoverDelayMs"],[1,"model-explorer-processing-tasks-container"],[1,"processing-task-container"],["color","primary","diameter","16"],[1,"task-label"],[1,"pane-title-container"],[1,"pane-title"],[1,"buttons-container"],["matTooltip","Swap pane",1,"icon-container","swap",3,"click","mousedown"],["matTooltip","Close pane",1,"icon-container","close",3,"click","mousedown"],[1,"resizer","split-pane",3,"mousedown"],[1,"resizer-line"]],template:function(n,r){n&1&&(v(0,"div",3,0),W(2,Ige,5,8,"div",4)(3,Tge,2,2,"div",5),b()),n&2&&(w(2),N("ngForOf",r.panes())("ngForTrackBy",r.trackByPaneId),w(),N("ngIf",r.hasSplitPane))},dependencies:[$n,Ae,Si,Mn,it,_t,ns,ha,Jt,Wn,Ej],styles:[`.container[_ngcontent-%COMP%]{flex-grow:1;display:flex;position:relative;width:100%;height:100%}.container[_ngcontent-%COMP%] .pane-container[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:column}.container[_ngcontent-%COMP%] .pane-container[_ngcontent-%COMP%] .pane-title-container[_ngcontent-%COMP%]{height:24px;box-sizing:border-box;background-color:#eee;padding:0 12px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#999;cursor:pointer;flex-shrink:0}.container[_ngcontent-%COMP%] .pane-container[_ngcontent-%COMP%] .pane-title-container[_ngcontent-%COMP%] .buttons-container[_ngcontent-%COMP%]{display:flex;align-items:center}.container[_ngcontent-%COMP%] .pane-container[_ngcontent-%COMP%] .pane-title-container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;cursor:pointer;color:#999;opacity:.8;margin-left:6px}.container[_ngcontent-%COMP%] .pane-container[_ngcontent-%COMP%] .pane-title-container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]:hover{opacity:1}.container[_ngcontent-%COMP%] .pane-container[_ngcontent-%COMP%] .pane-title-container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:18px;height:18px;width:18px}.container[_ngcontent-%COMP%] .pane-container[_ngcontent-%COMP%] split-pane[_ngcontent-%COMP%]{width:100%;flex-grow:1;display:flex;overflow:hidden}.container[_ngcontent-%COMP%] .pane-container.selected[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#fff}.container[_ngcontent-%COMP%] .pane-container.selected[_ngcontent-%COMP%] .pane-title-container[_ngcontent-%COMP%]{background-color:#ea8600;color:#fff}.container[_ngcontent-%COMP%] .pane-container[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%]{position:absolute;top:0;left:0;width:100%;height:100%;z-index:150;color:#999;background-color:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column}.container[_ngcontent-%COMP%] .pane-container[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%] .processing-msg-container[_ngcontent-%COMP%]{display:flex;align-items:center}.container[_ngcontent-%COMP%] .pane-container[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%] .processing-msg-container[_ngcontent-%COMP%] mat-spinner[_ngcontent-%COMP%]{margin-right:8px}.container[_ngcontent-%COMP%] .pane-container[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%] .progress-bar-wrapper[_ngcontent-%COMP%]{display:flex;align-items:center;margin-top:18px;margin-right:-30px}.container[_ngcontent-%COMP%] .pane-container[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%] .progress-bar-wrapper[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]{cursor:pointer;opacity:.8;display:flex;align-items:center;justify-content:center}.container[_ngcontent-%COMP%] .pane-container[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%] .progress-bar-wrapper[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]:hover{opacity:1}.container[_ngcontent-%COMP%] .pane-container[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%] .progress-bar-wrapper[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#ccc;font-size:18px;width:18px;height:18px;margin-left:6px}.container[_ngcontent-%COMP%] .pane-container[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%] .progress-bar-container[_ngcontent-%COMP%]{height:7px;width:280px;border:1px solid #ccc;border-radius:99px;box-sizing:border-box;overflow:hidden}.container[_ngcontent-%COMP%] .pane-container[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%] .progress-bar-container[_ngcontent-%COMP%] .progress-bar-body[_ngcontent-%COMP%]{height:100%;transition:width .1s;background-color:#ccc}.container[_ngcontent-%COMP%] .pane-container[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%] .stay-on-page-info[_ngcontent-%COMP%]{font-size:12px;width:100%;display:flex;justify-content:center;margin-top:4px}.container[_ngcontent-%COMP%] .pane-container[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%] .error-msg[_ngcontent-%COMP%]{font-size:13px;padding:16px;color:#a00}.container[_ngcontent-%COMP%] .resizer[_ngcontent-%COMP%]{height:100%;width:10px;top:0;left:50%;display:flex;align-items:center;justify-content:center;position:absolute;padding-left:1px;cursor:ew-resize;z-index:200}.container[_ngcontent-%COMP%] .resizer[_ngcontent-%COMP%]:hover{background-color:#0000000a}.container[_ngcontent-%COMP%] .resizer[_ngcontent-%COMP%]:hover .resizer-line[_ngcontent-%COMP%]{border-color:#fcc986}.container[_ngcontent-%COMP%] .resizer[_ngcontent-%COMP%] .resizer-line[_ngcontent-%COMP%]{height:100%;width:1px;border-left:1px solid #999} .model-explorer-processing-tasks-container{display:flex;flex-direction:column;padding:12px} .model-explorer-processing-tasks-container .processing-task-container{display:flex;align-items:center;font-size:13px;margin:2px 0} .model-explorer-processing-tasks-container .processing-task-container mat-spinner{margin-right:8px;width:16px} .model-explorer-processing-tasks-container .processing-task-container mat-icon{color:#0a0;font-size:16px;width:16px;height:16px;margin-right:8px} +`],data:{animation:[li("showModelGraph",[vi("void",Kt({opacity:0,transform:"scale(1.03, 1.03)"})),An("void => *",Rn("150ms 100ms ease-out",Kt({opacity:1,transform:"scale(1, 1)"})))])]},changeDetection:0})}return i})();var Sge=["input"],Mge=["formField"],Ege=["*"],Ige=0,BO=class{constructor(e,t){this.source=e,this.value=t}};var Tge=new me("MatRadioGroup"),Dge=new me("mat-radio-default-options",{providedIn:"root",factory:Pge});function Pge(){return{color:"accent"}}var VO=(()=>{let e=class e{get checked(){return this._checked}set checked(n){this._checked!==n&&(this._checked=n,n&&this.radioGroup&&this.radioGroup.value!==this.value?this.radioGroup.selected=this:!n&&this.radioGroup&&this.radioGroup.value===this.value&&(this.radioGroup.selected=null),n&&this._radioDispatcher.notify(this.id,this.name),this._changeDetector.markForCheck())}get value(){return this._value}set value(n){this._value!==n&&(this._value=n,this.radioGroup!==null&&(this.checked||(this.checked=this.radioGroup.value===n),this.checked&&(this.radioGroup.selected=this)))}get labelPosition(){return this._labelPosition||this.radioGroup&&this.radioGroup.labelPosition||"after"}set labelPosition(n){this._labelPosition=n}get disabled(){return this._disabled||this.radioGroup!==null&&this.radioGroup.disabled}set disabled(n){this._setDisabled(n)}get required(){return this._required||this.radioGroup&&this.radioGroup.required}set required(n){this._required=n}get color(){return this._color||this.radioGroup&&this.radioGroup.color||this._providerOverride&&this._providerOverride.color||"accent"}set color(n){this._color=n}get inputId(){return`${this.id||this._uniqueId}-input`}constructor(n,r,o,s,a,c,l,d){this._elementRef=r,this._changeDetector=o,this._focusMonitor=s,this._radioDispatcher=a,this._providerOverride=l,this._uniqueId=`mat-radio-${++Ige}`,this.id=this._uniqueId,this.disableRipple=!1,this.tabIndex=0,this.change=new Ie,this._checked=!1,this._value=null,this._removeUniqueSelectionListener=()=>{},this._injector=te(vt),this.radioGroup=n,this._noopAnimations=c==="NoopAnimations",d&&(this.tabIndex=ni(d,0))}focus(n,r){r?this._focusMonitor.focusVia(this._inputElement,r,n):this._inputElement.nativeElement.focus(n)}_markForCheck(){this._changeDetector.markForCheck()}ngOnInit(){this.radioGroup&&(this.checked=this.radioGroup.value===this._value,this.checked&&(this.radioGroup.selected=this),this.name=this.radioGroup.name),this._removeUniqueSelectionListener=this._radioDispatcher.listen((n,r)=>{n!==this.id&&r===this.name&&(this.checked=!1)})}ngDoCheck(){this._updateTabIndex()}ngAfterViewInit(){this._updateTabIndex(),this._focusMonitor.monitor(this._elementRef,!0).subscribe(n=>{!n&&this.radioGroup&&this.radioGroup._touch()})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._removeUniqueSelectionListener()}_emitChangeEvent(){this.change.emit(new BO(this,this._value))}_isRippleDisabled(){return this.disableRipple||this.disabled}_onInputClick(n){n.stopPropagation()}_onInputInteraction(n){if(n.stopPropagation(),!this.checked&&!this.disabled){let r=this.radioGroup&&this.value!==this.radioGroup.value;this.checked=!0,this._emitChangeEvent(),this.radioGroup&&(this.radioGroup._controlValueAccessorChangeFn(this.value),r&&this.radioGroup._emitChangeEvent())}}_onTouchTargetClick(n){this._onInputInteraction(n),this.disabled||this._inputElement.nativeElement.focus()}_setDisabled(n){this._disabled!==n&&(this._disabled=n,this._changeDetector.markForCheck())}_updateTabIndex(){let n=this.radioGroup,r;if(!n||!n.selected||this.disabled?r=this.tabIndex:r=n.selected===this?this.tabIndex:-1,r!==this._previousTabIndex){let o=this._inputElement?.nativeElement;o&&(o.setAttribute("tabindex",r+""),this._previousTabIndex=r,Hi(()=>{queueMicrotask(()=>{n&&n.selected&&n.selected!==this&&document.activeElement===o&&(n.selected?._inputElement.nativeElement.focus(),document.activeElement===o&&this._inputElement.nativeElement.blur())})},{injector:this._injector}))}}};e.\u0275fac=function(r){return new(r||e)(M(Tge,8),M(Re),M(Ne),M(Gr),M($H),M(jn,8),M(Dge,8),Lr("tabindex"))},e.\u0275cmp=ce({type:e,selectors:[["mat-radio-button"]],viewQuery:function(r,o){if(r&1&&(Ee(Sge,5),Ee(Mge,7,Re)),r&2){let s;be(s=ye())&&(o._inputElement=s.first),be(s=ye())&&(o._rippleTrigger=s.first)}},hostAttrs:[1,"mat-mdc-radio-button"],hostVars:15,hostBindings:function(r,o){r&1&&H("focus",function(){return o._inputElement.nativeElement.focus()}),r&2&&(Ye("id",o.id)("tabindex",null)("aria-label",null)("aria-labelledby",null)("aria-describedby",null),re("mat-primary",o.color==="primary")("mat-accent",o.color==="accent")("mat-warn",o.color==="warn")("mat-mdc-radio-checked",o.checked)("_mat-animation-noopable",o._noopAnimations))},inputs:{id:"id",name:"name",ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],ariaDescribedby:[0,"aria-describedby","ariaDescribedby"],disableRipple:[2,"disableRipple","disableRipple",et],tabIndex:[2,"tabIndex","tabIndex",n=>n==null?0:ni(n)],checked:[2,"checked","checked",et],value:"value",labelPosition:"labelPosition",disabled:[2,"disabled","disabled",et],required:[2,"required","required",et],color:"color"},outputs:{change:"change"},exportAs:["matRadioButton"],standalone:!0,features:[nn,le],ngContentSelectors:Ege,decls:13,vars:16,consts:[["formField",""],["input",""],["mat-internal-form-field","",3,"labelPosition"],[1,"mdc-radio"],[1,"mat-mdc-radio-touch-target",3,"click"],["type","radio",1,"mdc-radio__native-control",3,"change","id","checked","disabled","required"],[1,"mdc-radio__background"],[1,"mdc-radio__outer-circle"],[1,"mdc-radio__inner-circle"],["mat-ripple","",1,"mat-radio-ripple","mat-mdc-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered"],[1,"mat-ripple-element","mat-radio-persistent-ripple"],[1,"mdc-label",3,"for"]],template:function(r,o){if(r&1){let s=ne();In(),v(0,"div",2,0)(2,"div",3)(3,"div",4),H("click",function(c){return B(s),V(o._onTouchTargetClick(c))}),b(),v(4,"input",5,1),H("change",function(c){return B(s),V(o._onInputInteraction(c))}),b(),v(6,"div",6),ee(7,"div",7)(8,"div",8),b(),v(9,"div",9),ee(10,"div",10),b()(),v(11,"label",11),Wt(12),b()()}r&2&&(R("labelPosition",o.labelPosition),w(2),re("mdc-radio--disabled",o.disabled),w(2),R("id",o.inputId)("checked",o.checked)("disabled",o.disabled)("required",o.required),Ye("name",o.name)("value",o.value)("aria-label",o.ariaLabel)("aria-labelledby",o.ariaLabelledby)("aria-describedby",o.ariaDescribedby),w(5),R("matRippleTrigger",o._rippleTrigger.nativeElement)("matRippleDisabled",o._isRippleDisabled())("matRippleCentered",!0),w(2),R("for",o.inputId))},dependencies:[gs,Hh],styles:['.mat-mdc-radio-button{-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-radio-button .mdc-radio{display:inline-block;position:relative;flex:0 0 auto;box-sizing:content-box;width:20px;height:20px;cursor:pointer;will-change:opacity,transform,border-color,color;padding:calc((var(--mdc-radio-state-layer-size) - 20px)/2)}.mat-mdc-radio-button .mdc-radio:hover .mdc-radio__native-control:not([disabled]):not(:focus)~.mdc-radio__background::before{opacity:.04;transform:scale(1)}.mat-mdc-radio-button .mdc-radio:hover .mdc-radio__native-control:not([disabled])~.mdc-radio__background .mdc-radio__outer-circle{border-color:var(--mdc-radio-unselected-hover-icon-color)}.mat-mdc-radio-button .mdc-radio:hover .mdc-radio__native-control:enabled:checked+.mdc-radio__background .mdc-radio__outer-circle,.mat-mdc-radio-button .mdc-radio:hover .mdc-radio__native-control:enabled:checked+.mdc-radio__background .mdc-radio__inner-circle{border-color:var(--mdc-radio-selected-hover-icon-color)}.mat-mdc-radio-button .mdc-radio:active .mdc-radio__native-control:enabled:not(:checked)+.mdc-radio__background .mdc-radio__outer-circle{border-color:var(--mdc-radio-unselected-pressed-icon-color)}.mat-mdc-radio-button .mdc-radio:active .mdc-radio__native-control:enabled:checked+.mdc-radio__background .mdc-radio__outer-circle,.mat-mdc-radio-button .mdc-radio:active .mdc-radio__native-control:enabled:checked+.mdc-radio__background .mdc-radio__inner-circle{border-color:var(--mdc-radio-selected-pressed-icon-color)}.mat-mdc-radio-button .mdc-radio__background{display:inline-block;position:relative;box-sizing:border-box;width:20px;height:20px}.mat-mdc-radio-button .mdc-radio__background::before{position:absolute;transform:scale(0, 0);border-radius:50%;opacity:0;pointer-events:none;content:"";transition:opacity 90ms cubic-bezier(0.4, 0, 0.6, 1),transform 90ms cubic-bezier(0.4, 0, 0.6, 1);width:var(--mdc-radio-state-layer-size);height:var(--mdc-radio-state-layer-size);top:calc(-1*(var(--mdc-radio-state-layer-size) - 20px)/2);left:calc(-1*(var(--mdc-radio-state-layer-size) - 20px)/2)}.mat-mdc-radio-button .mdc-radio__outer-circle{position:absolute;top:0;left:0;box-sizing:border-box;width:100%;height:100%;border-width:2px;border-style:solid;border-radius:50%;transition:border-color 90ms cubic-bezier(0.4, 0, 0.6, 1)}.mat-mdc-radio-button .mdc-radio__inner-circle{position:absolute;top:0;left:0;box-sizing:border-box;width:100%;height:100%;transform:scale(0, 0);border-width:10px;border-style:solid;border-radius:50%;transition:transform 90ms cubic-bezier(0.4, 0, 0.6, 1),border-color 90ms cubic-bezier(0.4, 0, 0.6, 1)}.mat-mdc-radio-button .mdc-radio__native-control{position:absolute;margin:0;padding:0;opacity:0;top:0;right:0;left:0;cursor:inherit;z-index:1;width:var(--mdc-radio-state-layer-size);height:var(--mdc-radio-state-layer-size)}.mat-mdc-radio-button .mdc-radio__native-control:checked+.mdc-radio__background,.mat-mdc-radio-button .mdc-radio__native-control:disabled+.mdc-radio__background{transition:opacity 90ms cubic-bezier(0, 0, 0.2, 1),transform 90ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-radio-button .mdc-radio__native-control:checked+.mdc-radio__background .mdc-radio__outer-circle,.mat-mdc-radio-button .mdc-radio__native-control:disabled+.mdc-radio__background .mdc-radio__outer-circle{transition:border-color 90ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-radio-button .mdc-radio__native-control:checked+.mdc-radio__background .mdc-radio__inner-circle,.mat-mdc-radio-button .mdc-radio__native-control:disabled+.mdc-radio__background .mdc-radio__inner-circle{transition:transform 90ms cubic-bezier(0, 0, 0.2, 1),border-color 90ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-radio-button .mdc-radio__native-control:focus+.mdc-radio__background::before{transform:scale(1);opacity:.12;transition:opacity 90ms cubic-bezier(0, 0, 0.2, 1),transform 90ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-radio-button .mdc-radio__native-control:disabled:not(:checked)+.mdc-radio__background .mdc-radio__outer-circle{border-color:var(--mdc-radio-disabled-unselected-icon-color);opacity:var(--mdc-radio-disabled-unselected-icon-opacity)}.mat-mdc-radio-button .mdc-radio__native-control:disabled+.mdc-radio__background{cursor:default}.mat-mdc-radio-button .mdc-radio__native-control:disabled+.mdc-radio__background .mdc-radio__inner-circle,.mat-mdc-radio-button .mdc-radio__native-control:disabled+.mdc-radio__background .mdc-radio__outer-circle{border-color:var(--mdc-radio-disabled-selected-icon-color);opacity:var(--mdc-radio-disabled-selected-icon-opacity)}.mat-mdc-radio-button .mdc-radio__native-control:enabled:not(:checked)+.mdc-radio__background .mdc-radio__outer-circle{border-color:var(--mdc-radio-unselected-icon-color)}.mat-mdc-radio-button .mdc-radio__native-control:enabled:checked+.mdc-radio__background .mdc-radio__outer-circle,.mat-mdc-radio-button .mdc-radio__native-control:enabled:checked+.mdc-radio__background .mdc-radio__inner-circle{border-color:var(--mdc-radio-selected-icon-color)}.mat-mdc-radio-button .mdc-radio__native-control:enabled:focus:checked+.mdc-radio__background .mdc-radio__inner-circle,.mat-mdc-radio-button .mdc-radio__native-control:enabled:focus:checked+.mdc-radio__background .mdc-radio__outer-circle{border-color:var(--mdc-radio-selected-focus-icon-color)}.mat-mdc-radio-button .mdc-radio__native-control:checked+.mdc-radio__background .mdc-radio__inner-circle{transform:scale(0.5);transition:transform 90ms cubic-bezier(0, 0, 0.2, 1),border-color 90ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-radio-button .mdc-radio--disabled{cursor:default;pointer-events:none}.mat-mdc-radio-button._mat-animation-noopable .mdc-radio__background::before,.mat-mdc-radio-button._mat-animation-noopable .mdc-radio__outer-circle,.mat-mdc-radio-button._mat-animation-noopable .mdc-radio__inner-circle{transition:none !important}.mat-mdc-radio-button .mdc-radio__background::before{background-color:var(--mat-radio-ripple-color)}.mat-mdc-radio-button.mat-mdc-radio-checked .mdc-radio__background::before{background-color:var(--mat-radio-checked-ripple-color)}.mat-mdc-radio-button.mat-mdc-radio-checked .mat-ripple-element{background-color:var(--mat-radio-checked-ripple-color)}.mat-mdc-radio-button .mat-internal-form-field{color:var(--mat-radio-label-text-color);font-family:var(--mat-radio-label-text-font);line-height:var(--mat-radio-label-text-line-height);font-size:var(--mat-radio-label-text-size);letter-spacing:var(--mat-radio-label-text-tracking);font-weight:var(--mat-radio-label-text-weight)}.mat-mdc-radio-button .mdc-radio--disabled+label{color:var(--mat-radio-disabled-label-color)}.mat-mdc-radio-button .mat-radio-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:50%}.mat-mdc-radio-button .mat-radio-ripple .mat-ripple-element{opacity:.14}.mat-mdc-radio-button .mat-radio-ripple::before{border-radius:50%}.mat-mdc-radio-button .mdc-radio .mdc-radio__native-control:focus:enabled:not(:checked)~.mdc-radio__background .mdc-radio__outer-circle{border-color:var(--mdc-radio-unselected-focus-icon-color, black)}.mat-mdc-radio-button.cdk-focused .mat-mdc-focus-indicator::before{content:""}.mat-mdc-radio-touch-target{position:absolute;top:50%;left:50%;height:48px;width:48px;transform:translate(-50%, -50%);display:var(--mat-radio-touch-target-display)}[dir=rtl] .mat-mdc-radio-touch-target{left:auto;right:50%;transform:translate(50%, -50%)}'],encapsulation:2,changeDetection:0});let i=e;return i})(),Aj=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=rt({type:e}),e.\u0275inj=it({imports:[Ut,Ae,Id,VO,Ut]});let i=e;return i})();function Rge(i,e){i&1&&(v(0,"div",5),S(1," Synchronize the node selection across two panes by the given node id mapping. "),b())}function Age(i,e){if(i&1){let t=ne();v(0,"button",15),H("click",function(){B(t);let r=ve(3),o=I(3);return V(o.handleClickUpload(r))}),S(1," Upload "),b(),v(2,"input",16,2),H("change",function(){B(t);let r=ve(3),o=I(3);return V(o.handleUploadedFileChanged(r))}),b(),v(4,"div",17),S(5),b()}if(i&2){let t=I(3);w(5),Se(" ",t.uploadedFileName," ")}}function Nge(i,e){if(i&1){let t=ne();v(0,"div",12)(1,"div",13)(2,"mat-radio-button",14),H("change",function(){let r=B(t).$implicit,o=I(2);return V(o.setSyncMode(r))}),S(3),b(),$(4,Age,6,1),b()()}if(i&2){let t,n=e.$implicit,r=I(2);w(2),re("cns",n===r.SyncNavigationMode.LOAD_MAPPING_FROM_CNS),R("disableRipple",!0)("checked",r.syncMode()===n),w(),Se(" ",r.getModeLabel(n)," "),w(),oe((t=n)===r.SyncNavigationMode.UPLOAD_MAPPING_FROM_COMPUTER?4:-1)}}function kge(i,e){if(i&1&&(v(0,"div",6)(1,"div",7)(2,"div"),S(3,"Select a sync mode"),b(),v(4,"div",8)(5,"a",9),S(6," Guide "),b(),v(7,"div",10)(8,"mat-icon",11),S(9,"close"),b()()()(),rn(10,Nge,5,6,"div",12,gr),b()),i&2){let t=I();w(10),on(t.allSyncModes)}}var Nj=(()=>{class i{dropdown;appService=te(at);changeDetectorRef=te(Ne);localStorageService=te(no);syncNavigationService=te(Ml);snackBar=te(hc);SyncNavigationMode=Mn;allSyncModes;syncMode=this.syncNavigationService.mode;syncEnabled=Bt(()=>this.syncMode()!==Mn.DISABLED);syncIcon=Bt(()=>this.syncMode()===Mn.DISABLED&&!this.syncNavigationService.loadingFromCns()?"sync_disabled":"sync");loadingFromCns=this.syncNavigationService.loadingFromCns;helpPopupSize={minWidth:0,minHeight:0};dropdownSize={minWidth:0,minHeight:0,maxHeight:500};uploadedFileName="";constructor(){let t=this.appService.config()?.syncNavigationData;this.allSyncModes=t?[Mn.DISABLED,Mn.MATCH_NODE_ID,Mn.VISUALIZER_CONFIG,Mn.UPLOAD_MAPPING_FROM_COMPUTER]:[Mn.DISABLED,Mn.MATCH_NODE_ID,Mn.UPLOAD_MAPPING_FROM_COMPUTER],t&&(this.syncNavigationService.mode.set(Mn.VISUALIZER_CONFIG),this.syncNavigationService.updateSyncNavigationData(Mn.VISUALIZER_CONFIG,t))}setSyncMode(t){switch(this.syncNavigationService.mode.set(t),t){case Mn.DISABLED:case Mn.MATCH_NODE_ID:this.syncNavigationService.syncNavigationModeChanged$.next({mode:t});break;default:break}}getModeLabel(t){return jG[t]}handleClickUpload(t){this.syncNavigationService.mode.set(Mn.UPLOAD_MAPPING_FROM_COMPUTER),t.click()}handleUploadedFileChanged(t){let n=t.files;if(!n||n.length===0)return;let r=n[0];this.uploadedFileName="";let o=new FileReader;o.onload=s=>{this.syncNavigationService.processJsonData(s.target?.result,Mn.UPLOAD_MAPPING_FROM_COMPUTER)||(this.uploadedFileName=r.name,this.changeDetectorRef.markForCheck())},o.readAsText(r)}showError(t){console.error(t),this.snackBar.open(t,"Dismiss",{duration:5e3})}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=ce({type:i,selectors:[["sync-navigation-button"]],viewQuery:function(n,r){if(n&1&&Ee(Is,5),n&2){let o;be(o=ye())&&(r.dropdown=o.first)}},standalone:!0,features:[le],decls:10,vars:10,consts:[["help",""],["dropdown",""],["input",""],[1,"container",3,"bubble","overlaySize","hoverDelayMs"],[1,"content",3,"bubbleClick","overlaySize"],[1,"model-explorer-help-popup"],[1,"model-explorer-sync-navigation-dropdown"],[1,"section-label"],[1,"right"],["href","https://github.com/google-ai-edge/model-explorer/wiki/2.-User-Guide#synchronize-navigation","target","_blank"],["bubbleClose","",1,"icon-container"],[1,"close"],[1,"section"],[1,"select-container"],["color","primary",3,"change","disableRipple","checked"],["mat-flat-button","","color","primary",1,"upload-mapping-button",3,"click"],["type","file","accept",".json",1,"upload-mapping-input",3,"change"],[1,"uploaded-file-name"]],template:function(n,r){if(n&1&&(v(0,"div",3)(1,"div",4)(2,"mat-icon"),S(3),b(),v(4,"div"),S(5,"Sync"),b()()(),$(6,Rge,2,0,"ng-template",null,0,Tt)(8,kge,12,0,"ng-template",null,1,Tt)),n&2){let o=ve(7),s=ve(9);re("enabled",r.syncEnabled()),R("bubble",o)("overlaySize",r.helpPopupSize)("hoverDelayMs",10),w(),R("bubbleClick",s)("overlaySize",r.dropdownSize),w(),re("loading",r.loadingFromCns()),w(),Se(" ",r.syncIcon()," ")}},dependencies:[Hn,Is,Ae,xn,Ti,tt,pt,ao,Aj,VO,Xt],styles:[`@keyframes _ngcontent-%COMP%_rotating{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.container[_ngcontent-%COMP%]{height:100%;display:flex;align-items:center;font-size:11px;cursor:pointer;color:#777;padding:0 5px;background-color:#fff;border-radius:99px;border:1px solid #ccc;box-sizing:border-box}.container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;opacity:.8}.container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]:hover{opacity:1}.container.enabled[_ngcontent-%COMP%]{background-color:#004fb8;color:#fff}.container.enabled[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#fff}.container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:18px;height:18px;width:18px}.container[_ngcontent-%COMP%] mat-icon.loading[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_rotating 2s linear infinite} .model-explorer-sync-navigation-dropdown{font-size:12px;background-color:#fff;display:flex;flex-direction:column;padding-bottom:12px} .model-explorer-sync-navigation-dropdown .section-label{padding:8px 12px;margin-bottom:8px;font-size:11px;background:#f1f1f1;font-weight:500;text-transform:uppercase;display:flex;align-items:center;justify-content:space-between} .model-explorer-sync-navigation-dropdown .section-label .right{display:flex;align-items:center;gap:4px} .model-explorer-sync-navigation-dropdown .section-label .right .icon-container{display:flex;cursor:pointer;opacity:.8} .model-explorer-sync-navigation-dropdown .section-label .right .icon-container:hover{opacity:1} .model-explorer-sync-navigation-dropdown .section-label .right mat-icon{font-size:18px;height:18px;width:18px;color:#999} .model-explorer-sync-navigation-dropdown .section{padding-right:16px} .model-explorer-sync-navigation-dropdown mat-radio-button{cursor:pointer} .model-explorer-sync-navigation-dropdown mat-radio-button.cns{margin-top:8px} .model-explorer-sync-navigation-dropdown mat-radio-button>div[mat-internal-form-field]{height:24px} .model-explorer-sync-navigation-dropdown mat-radio-button div:has(>input[type=radio]){transform:scale(.7);margin-right:-8px} .model-explorer-sync-navigation-dropdown mat-radio-button label{letter-spacing:normal;cursor:pointer;font-size:12px;font-family:Google Sans Text,Google Sans,Arial,Helvetica,sans-serif} .model-explorer-sync-navigation-dropdown .select-container{display:flex;flex-direction:column} .model-explorer-sync-navigation-dropdown .upload-mapping-button{margin:2px 0 0 36px;width:90px;height:30px;font-size:12px!important;letter-spacing:normal!important} .model-explorer-sync-navigation-dropdown .upload-mapping-button.cns{margin-top:4px} .model-explorer-sync-navigation-dropdown .upload-mapping-button .mat-mdc-button-touch-target{display:none} .model-explorer-sync-navigation-dropdown .upload-mapping-input{display:none} .model-explorer-sync-navigation-dropdown .uploaded-file-name{margin-left:36px;color:#999;line-break:anywhere;line-height:14px} .model-explorer-sync-navigation-dropdown textarea{height:48px;box-sizing:border-box;margin:4px 0 0 36px;resize:none;border-radius:3px;font-family:Google Sans Text,Google Sans,Arial,Helvetica,sans-serif;font-size:11px;padding:2px;line-break:anywhere} @@ -3964,7 +3965,7 @@ Alt+click: select`;getNamespaceLabel=cd;constValuesPopupSize={minWidth:100,minHe -`],data:{animation:[ai("hideProcessingPanel",[On("* => void",Pn("150ms 100ms ease-out",Qt({opacity:0,transform:"scale(0.95, 0.95)"})))])]},changeDetection:0})}return i})();function Dge(i,e){if(i&1){let t=ie();v(0,"button",1),H("click",function(){V(t);let r=I();return z(r.handleClickOpenInNewTab())}),v(1,"mat-icon"),S(2,"open_in_new"),b(),S(3," Open in new tab "),b()}}var jC=(()=>{class i{showOpenInNewTab;isChrome=/Chrome/.test(navigator.userAgent);constructor(){let t=new URLSearchParams(window.location.search);this.showOpenInNewTab=t.get("show_open_in_new_tab")==="1"&&this.isChrome}handleClickOpenInNewTab(){let t=new URL(window.location.href),n=new URLSearchParams(t.search);n.delete("show_open_in_new_tab"),t.search=n.toString(),window.open(t.toString(),"_blank")}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=le({type:i,selectors:[["open-in-new-tab-button"]],standalone:!0,features:[ce],decls:1,vars:1,consts:[["mat-flat-button","","color","primary",1,"btn-open-in-tab"],["mat-flat-button","","color","primary",1,"btn-open-in-tab",3,"click"]],template:function(n,r){n&1&&W(0,Dge,4,0,"button",0),n&2&&ae(r.showOpenInNewTab?0:-1)},dependencies:[Ae,In,zi,it,_t]})}return i})();function Pge(i,e){i&1&&(v(0,"mat-icon",15),S(1," turn_left "),b())}function Oge(i,e){if(i&1){let t=ie();v(0,"div",16),H("click",function(r){V(t);let o=I().$implicit,s=I(2);return z(s.handleClickOpenInSplitPane(r,o))}),v(1,"div",17),ee(2,"div",18),b()()}}function Rge(i,e){if(i&1){let t=ie();v(0,"div",7)(1,"div",8)(2,"div",9),H("click",function(){let r=V(t).$implicit,o=I(2);return z(o.handleSelectGraph(r))}),v(3,"div",10),W(4,Pge,2,0,"mat-icon",11),v(5,"div",12),S(6),b()(),v(7,"div",13),S(8),b()(),W(9,Oge,3,0,"div",14),b()()}if(i&2){let t=e.$implicit,n=I(2);Ze("data-id",t.id),w(),tn("padding-left",n.getGraphItemPaddingLeft(t),"px"),se("selected",t.id===n.selectedGraphId()),w(3),N("ngIf",n.showIndentSymbol(t)),w(2),Me(" ",t.id," "),w(2),Me(" ",n.getGraphNonHiddenNodeCountLabel(t.nonHiddenNodeCount)," "),w(),N("ngIf",n.showOpenInSplitPane)}}function Age(i,e){if(i&1&&(v(0,"div",4)(1,"div",5),S(2),b(),W(3,Rge,10,9,"div",6),b()),i&2){let t=e.$implicit,n=I();w(2),Me(" ",t.label," "),w(),N("ngForOf",t.graphs)("ngForTrackBy",n.trackByGraph)}}var Tj=24,Dj=(()=>{class i{appService;graphCollectionItems=[];onClose=new Ie;hasFilteredOutGraphs=!1;selectedGraphId=Xt(()=>{let t=this.appService.getSelectedPane();return!t||!t.modelGraph?"":t.modelGraph.id});curFilterText="";constructor(t){this.appService=t}getGraphNonHiddenNodeCountLabel(t){return`${t} node${t===1?"":"s"}`}handleSelectGraph(t){this.onClose.next({}),this.resetFilter(),this.appService.selectGraphInCurrentPane(t.graph),this.appService.curInitialUiState.set(void 0),this.appService.selectNode(this.appService.selectedPaneId(),void 0),this.appService.curToLocateNodeInfo.set(void 0),this.appService.setFlattenLayersInCurrentPane(!1)}handleFilterTextChanged(t){this.curFilterText=t.toLowerCase()}handleClickOpenInSplitPane(t,n){t.stopPropagation(),this.onClose.next({}),this.resetFilter(),this.appService.openGraphInSplitPane(n.graph)}showIndentSymbol(t){return!this.hasFilteredOutGraphs&&(t.graph.level??0)>0}getGraphItemPaddingLeft(t){return this.hasFilteredOutGraphs?Tj:Tj+(t.graph.level??0)*12}trackByCollection(t,n){return`${t}`}trackByGraph(t,n){return`${n.graph.collectionLabel}___${n.graph.id}`}get curGraphCollectionItems(){let t=[];this.hasFilteredOutGraphs=!1;for(let{label:n,collection:r,graphs:o}of this.graphCollectionItems){let s={label:n,collection:r,graphs:[]};for(let a of o){if(this.curFilterText!==""&&!a.id.toLowerCase().includes(this.curFilterText)){this.hasFilteredOutGraphs=!0;continue}s.graphs.push(a)}s.graphs.length>0&&t.push(s)}return t}get showOpenInSplitPane(){return this.appService.panes().length===1}resetFilter(){this.curFilterText="",this.hasFilteredOutGraphs=!1}static \u0275fac=function(n){return new(n||i)(M(st))};static \u0275cmp=le({type:i,selectors:[["graph-selector-panel"]],inputs:{graphCollectionItems:"graphCollectionItems"},outputs:{onClose:"onClose"},standalone:!0,features:[ce],decls:4,vars:3,consts:[["input",""],[1,"container"],["placeholder","Filter graphs",3,"input"],["class","collection-container",4,"ngFor","ngForOf","ngForTrackBy"],[1,"collection-container"],[1,"collection-label"],["class","graph-item-container",4,"ngFor","ngForOf","ngForTrackBy"],[1,"graph-item-container"],[1,"graph-item"],[1,"graph-info-wrapper",3,"click"],[1,"graph-label-wrapper"],["class","indent-symbol",4,"ngIf"],[1,"graph-label"],[1,"node-count-label"],["class","action-button","matTooltip","Open in split pane","matTooltipPosition","right",3,"click",4,"ngIf"],[1,"indent-symbol"],["matTooltip","Open in split pane","matTooltipPosition","right",1,"action-button",3,"click"],[1,"block-container"],[1,"right-block"]],template:function(n,r){if(n&1){let o=ie();v(0,"div",1)(1,"input",2,0),H("input",function(){V(o);let a=ve(2);return z(r.handleFilterTextChanged(a.value))}),b(),W(3,Age,4,3,"div",3),b()}n&2&&(N("@transformPanel","showing"),w(3),N("ngForOf",r.curGraphCollectionItems)("ngForTrackBy",r.trackByCollection))},dependencies:[Ae,Si,Mn,pa,it,_t,fa,Jt,Wn,_r],styles:[`.container[_ngcontent-%COMP%]{box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f;transform-origin:top center;font-size:12px;padding:8px 0;border-radius:0 0 4px 4px;max-height:100%;overflow-y:auto}.container[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{font-size:12px;margin:4px 10px;width:calc(100% - 20px);box-sizing:border-box;pointer-events:all;border:1px solid #ccc;height:20px;border-radius:4px;padding:0 2px}.container[_ngcontent-%COMP%] .collection-container[_ngcontent-%COMP%] .collection-label[_ngcontent-%COMP%]{font-weight:700;padding:4px 12px}.container[_ngcontent-%COMP%] .graph-item-container[_ngcontent-%COMP%] .graph-item[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:4px 12px 4px 24px;cursor:pointer}.container[_ngcontent-%COMP%] .graph-item-container[_ngcontent-%COMP%] .graph-item[_ngcontent-%COMP%]:hover{background-color:#0000000a}.container[_ngcontent-%COMP%] .graph-item-container[_ngcontent-%COMP%] .graph-item.selected[_ngcontent-%COMP%]{background-color:#c2e7ff}.container[_ngcontent-%COMP%] .graph-item-container[_ngcontent-%COMP%] .graph-item[_ngcontent-%COMP%] .graph-info-wrapper[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;flex-grow:1}.container[_ngcontent-%COMP%] .graph-item-container[_ngcontent-%COMP%] .graph-item[_ngcontent-%COMP%] .graph-label-wrapper[_ngcontent-%COMP%]{display:flex;align-items:center}.container[_ngcontent-%COMP%] .graph-item-container[_ngcontent-%COMP%] .graph-item[_ngcontent-%COMP%] .indent-symbol[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px;color:#999;margin-right:4px;transform:rotate(-180deg)}.container[_ngcontent-%COMP%] .graph-item-container[_ngcontent-%COMP%] .graph-item[_ngcontent-%COMP%] .graph-label[_ngcontent-%COMP%]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.container[_ngcontent-%COMP%] .graph-item-container[_ngcontent-%COMP%] .graph-item[_ngcontent-%COMP%] .node-count-label[_ngcontent-%COMP%]{color:#999;margin-left:12px}.container[_ngcontent-%COMP%] .graph-item-container[_ngcontent-%COMP%] .graph-item[_ngcontent-%COMP%] .action-button[_ngcontent-%COMP%]{flex-shrink:0;width:16px;height:16px;display:flex;align-items:center;margin-left:6px;opacity:.8;cursor:pointer}.container[_ngcontent-%COMP%] .graph-item-container[_ngcontent-%COMP%] .graph-item[_ngcontent-%COMP%] .action-button[_ngcontent-%COMP%]:hover{opacity:1}.container[_ngcontent-%COMP%] .graph-item-container[_ngcontent-%COMP%] .graph-item[_ngcontent-%COMP%] .action-button[_ngcontent-%COMP%] .block-container[_ngcontent-%COMP%]{border-radius:3px;border:1px solid #999;height:100%;width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:flex-end;padding:1px}.container[_ngcontent-%COMP%] .graph-item-container[_ngcontent-%COMP%] .graph-item[_ngcontent-%COMP%] .action-button[_ngcontent-%COMP%] .block-container[_ngcontent-%COMP%] .right-block[_ngcontent-%COMP%]{height:100%;width:50%;background-color:#999;border-top-right-radius:2px;border-bottom-right-radius:2px} +`],changeDetection:0})}return i})();var Lge=["panesContainer"],Fge=["splitPane"],Bge=(i,e)=>e.label;function Vge(i,e){i&1&&(v(0,"div",11),S(1),b()),i&2&&(w(),Se(" ",e," "))}function zge(i,e){i&1&&(v(0,"mat-icon"),S(1,"error"),b())}function Uge(i,e){i&1&&ee(0,"mat-spinner",13)}function Hge(i,e){i&1&&ee(0,"mat-spinner",21)}function Gge(i,e){i&1&&(v(0,"mat-icon"),S(1,"check_circle"),b())}function jge(i,e){if(i&1&&(v(0,"div",20),$(1,Hge,1,0,"mat-spinner",21)(2,Gge,2,0,"mat-icon"),v(3,"div",22),S(4),b()()),i&2){let t=e.$implicit;w(),oe(t.processing?1:2),w(3),Se(" ",t.label," ")}}function Wge(i,e){if(i&1&&(v(0,"div",19),rn(1,jge,5,2,"div",20,Bge),b()),i&2){let t=I(3).$implicit,n=I();w(),on(n.getProcessingTasksForPane(t.id))}}function $ge(i,e){if(i&1&&(v(0,"div",12),$(1,zge,2,0,"mat-icon")(2,Uge,1,0,"mat-spinner",13),S(3," Processing graph... "),b(),v(4,"div",14),S(5," Please remain on this page while the model is being processed "),b(),v(6,"div",15)(7,"div",16),ee(8,"div",17),b(),v(9,"div",18)(10,"mat-icon"),S(11,"info"),b()(),$(12,Wge,3,0,"ng-template",null,2,Tt),b()),i&2){let t=ve(13),n=I(2).$implicit,r=I();w(),oe(r.getProcessingError(n)?1:2),w(7),Jt("width",r.getProgressPct(n.id),"%"),w(),R("bubble",t)("hoverDelayMs",100)}}function qge(i,e){if(i&1&&(v(0,"div",8),$(1,Vge,2,1,"div",11)(2,$ge,14,5),b()),i&2){let t,n=I().$implicit,r=I();R("@hideProcessingPanel",void 0)("@.disabled",r.disableAnimation),w(),oe((t=r.getProcessingError(n))?1:2,t)}}function Yge(i,e){if(i&1){let t=ne();v(0,"div",23)(1,"div",24),S(2),b(),v(3,"div",25)(4,"div",26),H("click",function(){B(t);let r=I(2);return V(r.handleClickSwapPane())})("mousedown",function(r){return B(t),V(r.stopPropagation())}),v(5,"mat-icon"),S(6,"swap_horiz"),b()(),v(7,"div",27),H("click",function(){B(t);let r=I().$implicit,o=I();return V(o.handleClickClosePane(r))})("mousedown",function(r){return B(t),V(r.stopPropagation())}),v(8,"mat-icon"),S(9,"close"),b()()()()}if(i&2){let t=I(),n=t.$implicit,r=t.index,o=I();re("extra-left-padding",r===1)("extra-right-padding",r===0),w(2),Se(" ",o.getPaneTitle(n)," ")}}function Xge(i,e){if(i&1&&(v(0,"div",7),$(1,qge,3,3,"div",8)(2,Yge,10,5,"div",9),ee(3,"split-pane",10,1),b()),i&2){let t=e.$implicit,n=e.index,r=I();Jt("width",r.getPaneWidthPct(n),"%"),re("selected",r.isPaneSelected(t)),Ye("data-pane-id",t.id),w(),oe(r.getShowLoading(t)?1:-1),w(),R("ngIf",r.hasSplitPane),w(),R("pane",t)}}function Zge(i,e){if(i&1){let t=ne();v(0,"div",28),H("mousedown",function(r){B(t);let o=I(),s=ve(1);return V(o.handleMouseDownResizer(r,s))}),ee(1,"div",29),b()}if(i&2){let t=I();Jt("left",t.resizerLeft)}}function Qge(i,e){if(i&1&&(v(0,"div",30),ee(1,"sync-navigation-button"),b()),i&2){let t=I();Jt("left",t.resizerLeft)}}var kj=(()=>{class i{changeDetectorRef;appService;workerService;panesContainer;splitPanes=new Zi;processingTasks={};allPanesLoaded;resizingSplitPane=!1;curLeftWidthFraction=1;panes;curUpdateProcessingProgressReq;constructor(t,n,r){this.changeDetectorRef=t,this.appService=n,this.workerService=r,this.panes=this.appService.panes,this.allPanesLoaded=Bt(()=>this.panes().every(o=>o.modelGraph!=null)),lt(()=>{let o=this.panes();o.length>=1&&(this.curLeftWidthFraction=o[0].widthFraction);for(let s of o)s.modelGraph||(this.processingTasks[s.id]=e3.map(a=>({label:a,processing:!0})));this.changeDetectorRef.detectChanges();for(let s=0;s{switch(o.data.eventType){case tr.UPDATE_PROCESSING_PROGRESS:this.handleUpdateProcessingProgressRequest(o.data);break;default:break}})}ngAfterViewInit(){this.panesContainer.nativeElement.addEventListener("mousedown",t=>{let n=t.target.closest(".pane-container");if(!n)return;let r=n.dataset.paneId||"";this.appService.selectPane(r)},!0)}handleClickSwapPane(){this.appService.swapPane()}handleClickClosePane(t){this.appService.closePane(t.id)}getPaneTitle(t){let n=t.modelGraph;return n?`${n.collectionLabel} | ${n.id}`:"-"}handleMouseDownResizer(t,n){t.preventDefault(),document.body.style.cursor="ew-resize";let r=yn(document,"mousemove"),o=yn(window,"mouseup"),a=this.appService.panes()[0].widthFraction,c=n.offsetWidth,l=c*a,d=t.clientX;this.resizingSplitPane=!0,this.changeDetectorRef.markForCheck(),eo([r]).pipe(Ze(o)).subscribe({next:([u])=>{let h=u.clientX-d,p=Math.min(c-200,Math.max(200,l+h));this.curLeftWidthFraction=p/c,this.changeDetectorRef.markForCheck()},complete:()=>{document.body.style.cursor="default",this.resizingSplitPane=!1,this.appService.setPaneWidthFraction(this.curLeftWidthFraction),this.changeDetectorRef.markForCheck()}})}isPaneSelected(t){return t.id===this.appService.selectedPaneId()}getPaneWidthPct(t){return(t===0?this.curLeftWidthFraction:1-this.curLeftWidthFraction)*100}trackByPaneId(t,n){return n.id}getProcessingTasksForPane(t){return this.processingTasks[t]||[]}getProgressPct(t){let n=this.processingTasks[t];return n?n.filter(o=>!o.processing).length/n.length*100:0}getShowLoading(t){return t.modelGraph==null||this.getProcessingTasksForPane(t.id).some(n=>n.error!=null&&n.error!=="")}getProcessingError(t){return this.getProcessingTasksForPane(t.id).find(n=>n.error!=null&&n.error!=="")?.error??""}get hasSplitPane(){return this.appService.panes().length>1}get resizerLeft(){return`calc(${this.curLeftWidthFraction*100}% - 5px)`}get disableAnimation(){return this.appService.testMode}handleUpdateProcessingProgressRequest(t){let n=t.paneId;if(!this.appService.getPaneById(n))return;let s=this.processingTasks[n].find(a=>a.label===t.label);s!=null&&(s.processing=!1,s.error=t.error,this.changeDetectorRef.detectChanges())}static \u0275fac=function(n){return new(n||i)(M(Ne),M(at),M(jc))};static \u0275cmp=ce({type:i,selectors:[["split-panes-container"]],viewQuery:function(n,r){if(n&1&&(Ee(Lge,5),Ee(Fge,5)),n&2){let o;be(o=ye())&&(r.panesContainer=o.first),be(o=ye())&&(r.splitPanes=o)}},standalone:!0,features:[le],decls:5,vars:4,consts:[["panesContainer",""],["splitPane",""],["progressPopup",""],[1,"container"],["class","pane-container",3,"selected","width",4,"ngFor","ngForOf","ngForTrackBy"],["class","resizer split-pane",3,"left","mousedown",4,"ngIf"],[1,"sync-navigation-container",3,"left"],[1,"pane-container"],[1,"loading"],["class","pane-title-container",3,"extra-left-padding","extra-right-padding",4,"ngIf"],[3,"pane"],[1,"error-msg"],[1,"processing-msg-container"],["color","primary","diameter","18"],[1,"stay-on-page-info"],[1,"progress-bar-wrapper"],[1,"progress-bar-container"],[1,"progress-bar-body"],[1,"icon-container",3,"bubble","hoverDelayMs"],[1,"model-explorer-processing-tasks-container"],[1,"processing-task-container"],["color","primary","diameter","16"],[1,"task-label"],[1,"pane-title-container"],[1,"pane-title"],[1,"buttons-container"],["matTooltip","Swap pane",1,"icon-container","swap",3,"click","mousedown"],["matTooltip","Close pane",1,"icon-container","close",3,"click","mousedown"],[1,"resizer","split-pane",3,"mousedown"],[1,"resizer-line"],[1,"sync-navigation-container"]],template:function(n,r){n&1&&(v(0,"div",3,0),$(2,Xge,5,8,"div",4)(3,Zge,2,2,"div",5)(4,Qge,2,2,"div",6),b()),n&2&&(w(2),R("ngForOf",r.panes())("ngForTrackBy",r.trackByPaneId),w(),R("ngIf",r.hasSplitPane),w(),oe(r.hasSplitPane&&r.allPanesLoaded()?4:-1))},dependencies:[Hn,Ae,Mi,Tn,tt,pt,ao,fa,Xt,Yn,Rj,Nj],styles:[`.container[_ngcontent-%COMP%]{flex-grow:1;display:flex;position:relative;width:100%;height:100%}.container[_ngcontent-%COMP%] .pane-container[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:column}.container[_ngcontent-%COMP%] .pane-container[_ngcontent-%COMP%] .pane-title-container[_ngcontent-%COMP%]{height:24px;box-sizing:border-box;background-color:#eee;padding:0 12px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#999;cursor:pointer;flex-shrink:0}.container[_ngcontent-%COMP%] .pane-container[_ngcontent-%COMP%] .pane-title-container.extra-left-padding[_ngcontent-%COMP%]{padding-left:36px}.container[_ngcontent-%COMP%] .pane-container[_ngcontent-%COMP%] .pane-title-container.extra-right-padding[_ngcontent-%COMP%]{padding-right:36px}.container[_ngcontent-%COMP%] .pane-container[_ngcontent-%COMP%] .pane-title-container[_ngcontent-%COMP%] .buttons-container[_ngcontent-%COMP%]{display:flex;align-items:center}.container[_ngcontent-%COMP%] .pane-container[_ngcontent-%COMP%] .pane-title-container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;cursor:pointer;color:#999;opacity:.8;margin-left:6px}.container[_ngcontent-%COMP%] .pane-container[_ngcontent-%COMP%] .pane-title-container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]:hover{opacity:1}.container[_ngcontent-%COMP%] .pane-container[_ngcontent-%COMP%] .pane-title-container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:18px;height:18px;width:18px}.container[_ngcontent-%COMP%] .pane-container[_ngcontent-%COMP%] .pane-title-container[_ngcontent-%COMP%] .divider[_ngcontent-%COMP%]{width:1px;height:12px;background-color:#999;margin:0 4px 0 12px}.container[_ngcontent-%COMP%] .pane-container[_ngcontent-%COMP%] split-pane[_ngcontent-%COMP%]{width:100%;flex-grow:1;display:flex;overflow:hidden}.container[_ngcontent-%COMP%] .pane-container.selected[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#fff}.container[_ngcontent-%COMP%] .pane-container.selected[_ngcontent-%COMP%] .pane-title-container[_ngcontent-%COMP%]{background-color:#ea8600;color:#fff}.container[_ngcontent-%COMP%] .pane-container.selected[_ngcontent-%COMP%] .pane-title-container[_ngcontent-%COMP%] .divider[_ngcontent-%COMP%]{background-color:#fff}.container[_ngcontent-%COMP%] .pane-container[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%]{position:absolute;top:0;left:0;width:100%;height:100%;z-index:150;color:#999;background-color:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column}.container[_ngcontent-%COMP%] .pane-container[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%] .processing-msg-container[_ngcontent-%COMP%]{display:flex;align-items:center}.container[_ngcontent-%COMP%] .pane-container[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%] .processing-msg-container[_ngcontent-%COMP%] mat-spinner[_ngcontent-%COMP%]{margin-right:8px}.container[_ngcontent-%COMP%] .pane-container[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%] .progress-bar-wrapper[_ngcontent-%COMP%]{display:flex;align-items:center;margin-top:18px;margin-right:-30px}.container[_ngcontent-%COMP%] .pane-container[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%] .progress-bar-wrapper[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]{cursor:pointer;opacity:.8;display:flex;align-items:center;justify-content:center}.container[_ngcontent-%COMP%] .pane-container[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%] .progress-bar-wrapper[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]:hover{opacity:1}.container[_ngcontent-%COMP%] .pane-container[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%] .progress-bar-wrapper[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#ccc;font-size:18px;width:18px;height:18px;margin-left:6px}.container[_ngcontent-%COMP%] .pane-container[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%] .progress-bar-container[_ngcontent-%COMP%]{height:7px;width:280px;border:1px solid #ccc;border-radius:99px;box-sizing:border-box;overflow:hidden}.container[_ngcontent-%COMP%] .pane-container[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%] .progress-bar-container[_ngcontent-%COMP%] .progress-bar-body[_ngcontent-%COMP%]{height:100%;transition:width .1s;background-color:#ccc}.container[_ngcontent-%COMP%] .pane-container[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%] .stay-on-page-info[_ngcontent-%COMP%]{font-size:12px;width:100%;display:flex;justify-content:center;margin-top:4px}.container[_ngcontent-%COMP%] .pane-container[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%] .error-msg[_ngcontent-%COMP%]{font-size:13px;padding:16px;color:#a00}.container[_ngcontent-%COMP%] .resizer[_ngcontent-%COMP%]{height:100%;width:10px;top:0;left:50%;display:flex;align-items:center;justify-content:center;position:absolute;padding-left:1px;cursor:ew-resize;z-index:200}.container[_ngcontent-%COMP%] .resizer[_ngcontent-%COMP%]:hover{background-color:#0000000a}.container[_ngcontent-%COMP%] .resizer[_ngcontent-%COMP%]:hover .resizer-line[_ngcontent-%COMP%]{border-color:#fcc986}.container[_ngcontent-%COMP%] .resizer[_ngcontent-%COMP%] .resizer-line[_ngcontent-%COMP%]{height:100%;width:1px;border-left:1px solid #999}.container[_ngcontent-%COMP%] .sync-navigation-container[_ngcontent-%COMP%]{position:absolute;transform:translate(-22px);top:0;height:24px;z-index:250} .model-explorer-processing-tasks-container{display:flex;flex-direction:column;padding:12px} .model-explorer-processing-tasks-container .processing-task-container{display:flex;align-items:center;font-size:13px;margin:2px 0} .model-explorer-processing-tasks-container .processing-task-container mat-spinner{margin-right:8px;width:16px} .model-explorer-processing-tasks-container .processing-task-container mat-icon{color:#0a0;font-size:16px;width:16px;height:16px;margin-right:8px} @@ -3982,7 +3983,7 @@ Alt+click: select`;getNamespaceLabel=cd;constValuesPopupSize={minWidth:100,minHe -`],data:{animation:vC},changeDetection:0})}return i})();var Nge=["input"];function kge(i,e){if(i&1&&(v(0,"div",16),S(1),b()),i&2){let t=I();w(),Me(" ",t.selectedGraphNodeCount," nodes ")}}function Lge(i,e){if(i&1){let t=ie();v(0,"div",17),H("click",function(){V(t);let r=I();return z(r.handleClickExportGraphJsonToResource())}),v(1,"mat-icon"),S(2,"drive_folder_upload"),b()()}}function Fge(i,e){if(i&1){let t=ie();v(0,"mat-optgroup",18)(1,"mat-option")(2,"input",19,1),H("click",function(r){return V(t),z(r.stopPropagation())})("keydown.space",function(r){return V(t),z(r.stopPropagation())})("input",function(){V(t);let r=ve(3),o=I();return z(o.handleFilterTextChanged(r.value))}),b()()()}}function Bge(i,e){if(i&1){let t=ie();v(0,"div",26),H("click",function(r){V(t);let o=I().$implicit,s=I(2);return z(s.handleClickOpenInSplitPane(r,o))}),v(1,"div",27),ee(2,"div",28),b()()}}function Vge(i,e){if(i&1&&(v(0,"mat-option",22)(1,"div",23)(2,"div",24)(3,"div",7),S(4),b(),v(5,"div",16),S(6),b()(),W(7,Bge,3,0,"div",25),b()()),i&2){let t=e.$implicit,n=I(2);se("selected",t.graph===n.selectedGraph.value),N("value",t.graph),Ze("data-id",t.id),w(4),nt(t.id),w(2),Me(" ",t.nonHiddenNodeCount," nodes "),w(),N("ngIf",n.showOpenInSplitPane)}}function zge(i,e){if(i&1&&(v(0,"mat-optgroup",20),W(1,Vge,8,7,"mat-option",21),b()),i&2){let t=e.$implicit;N("label",t.label),w(),N("ngForOf",t.graphs)}}var Uge=new OffscreenCanvas(500,300),Pj={},Oj=(()=>{class i{appService;overlay;viewContainerRef;mySelector;filterInput;selectedGraph=new gr(void 0);selectedGraphNodeCount=0;selectedGraphCollectionLabel="";selectedCollection;maxGraphItemIdWidth=0;graphCollectionItems=Xt(()=>{let t=this.appService.config();if(!t)return[];let n=this.appService.curGraphCollections();this.nodeLabelsToHide=new Set((t.nodeLabelsToHide||[]).map(s=>s.toLowerCase()));let r=[],o=this.curFilterText().toLowerCase();for(let s of n){let a={label:s.label,collection:s,graphs:[]};for(let l of s.graphs){if(o!==""&&!l.id.toLowerCase().includes(o))continue;let c=l.nodes.filter(u=>!this.nodeLabelsToHide.has(u.label.toLowerCase())).length,d=this.getLabelWidth(` ${l.id} ${c} nodes`)+30;a.graphs.push({id:l.id,graph:l,nonHiddenNodeCount:c,width:d}),this.maxGraphItemIdWidth=Math.max(d+30,this.maxGraphItemIdWidth)}if(a.graphs.length>0){r.push(a);let l=this.getLabelWidth(s.label,12,!0)+30;this.maxGraphItemIdWidth=Math.max(l,this.maxGraphItemIdWidth)}}return r});graphsCount=Xt(()=>{let t=0,n=this.appService.curGraphCollections();for(let r of n)t+=r.graphs.length;return t});nodeLabelsToHide=new Set;curFilterText=ut("");portal=null;selectedGraphId=Xt(()=>{let t=this.appService.getSelectedPane();return!t||!t.modelGraph?"":t.modelGraph.id});constructor(t,n,r){this.appService=t,this.overlay=n,this.viewContainerRef=r,lt(()=>{let o=this.selectedGraphId();o&&this.updateSelectedGraphInfo(o)})}handleFilterTextChanged(t){this.curFilterText.set(t)}handleClickOpenGraphDropdown(t){let n=this.createOverlay(t),r=n.attach(this.portal);r.instance.graphCollectionItems=this.graphCollectionItems(),r.instance.onClose.subscribe(()=>{n.dispose()})}handleGraphSelectorOpenedChanged(t){t||(this.filterInput.nativeElement.value="",this.curFilterText.set(""))}handleGraphSelected(){this.selectedGraph.value&&(this.updateSelectedGraphInfo(this.selectedGraph.value.id),this.appService.selectGraphInCurrentPane(this.selectedGraph.value),this.appService.curInitialUiState.set(void 0),this.appService.selectNode(this.appService.selectedPaneId(),void 0),this.appService.curToLocateNodeInfo.set(void 0),this.appService.setFlattenLayersInCurrentPane(!1))}handleClickOpenInSplitPane(t,n){t.stopPropagation(),this.mySelector.close(),this.appService.openGraphInSplitPane(n.graph)}handleClickDownloadGraphJson(){if(this.selectedCollection==null)return;let t=document.createElement("a");t.download=`${this.selectedGraphCollectionLabel}.json`;let n=`data:text/json;charset=utf-8, ${encodeURIComponent(JSON.stringify(this.selectedCollection,null,2))}`;da.setHref(t,n),t.click()}handleClickExportGraphJsonToResource(){!this.selectedCollection!=null&&ey(`${this.selectedGraphCollectionLabel}.json`,this.selectedCollection)}getGraphLabel(t){return`${t.id} (${t.nodes.length} nodes)`}get graphSelectorDropdownWidth(){return this.maxGraphItemIdWidth}get showOpenInSplitPane(){return this.appService.panes().length===1}get enableExportToResource(){return this.appService.config()?.enableExportToResource===!0}getLabelWidth(t,n=12,r=!1){let o=t,s=Pj[o];if(s==null){let a=Uge.getContext("2d");a.font=`${n}px "Google Sans Text", Arial, Helvetica, sans-serif`,r&&(a.font=`bold ${a.font}`);let c=a.measureText(t).width;Pj[o]=c,s=c}return s}updateSelectedGraphInfo(t){let n=!1;for(let r of this.graphCollectionItems()){for(let o of r.graphs)if(o.graph.id===t){this.selectedGraphNodeCount=o.nonHiddenNodeCount,this.selectedGraphCollectionLabel=r.label,this.selectedCollection=r.collection,this.selectedGraph.setValue(o.graph),n=!0;break}if(n)break}}createOverlay(t){let n=new hi({positionStrategy:this.overlay.position().flexibleConnectedTo(t).withPositions([{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}]),maxHeight:"calc(100% - 70px)",hasBackdrop:!0,backdropClass:"cdk-overlay-transparent-backdrop",scrollStrategy:this.overlay.scrollStrategies.reposition(),panelClass:"graph-selector-panel"}),r=this.overlay.create(n);return this.portal=new Pi(Dj,this.viewContainerRef),r.backdropClick().subscribe(()=>{r.dispose()}),r}static \u0275fac=function(n){return new(n||i)(M(st),M(Gt),M(Yt))};static \u0275cmp=le({type:i,selectors:[["graph-selector"]],viewQuery:function(n,r){if(n&1&&(Te(VC,5),Te(Nge,5)),n&2){let o;be(o=ye())&&(r.mySelector=o.first),be(o=ye())&&(r.filterInput=o.first)}},standalone:!0,features:[ce],decls:22,vars:7,consts:[["selector",""],["input",""],[1,"container"],[1,"collection-label"],[1,"graph-selector-label",3,"click"],[1,"selector-label-container"],[1,"selector-label-content"],[1,"option-label"],["class","node-count-label",4,"ngIf"],[1,"triangle"],["matTooltip","Download processed graphs json",1,"mat-icon-container",3,"click"],["matTooltip","Export to resource",1,"mat-icon-container"],[1,"select-form"],["color","primary","panelClass","graph-selector-panel",3,"selectionChange","openedChange","formControl"],["class","graph-search-optgroup",4,"ngIf"],[3,"label",4,"ngFor","ngForOf"],[1,"node-count-label"],["matTooltip","Export to resource",1,"mat-icon-container",3,"click"],[1,"graph-search-optgroup"],["placeholder","Filter graphs",3,"click","keydown.space","input"],[3,"label"],[3,"selected","value",4,"ngFor","ngForOf"],[3,"value"],[1,"option-wrapper"],[1,"option-container"],["class","action-button","matTooltip","Open in split pane","matTooltipPosition","right",3,"click",4,"ngIf"],["matTooltip","Open in split pane","matTooltipPosition","right",1,"action-button",3,"click"],[1,"block-container"],[1,"right-block"]],template:function(n,r){if(n&1){let o=ie();v(0,"div",2)(1,"div",3),S(2),b(),v(3,"div",4,0),H("click",function(){V(o);let a=ve(4);return z(r.handleClickOpenGraphDropdown(a))}),v(5,"div",5)(6,"div",6)(7,"div",7),S(8),b(),W(9,kge,2,1,"div",8),b(),v(10,"div",9),S(11,"\u25BC"),b()()(),v(12,"div",10),H("click",function(){return V(o),z(r.handleClickDownloadGraphJson())}),v(13,"mat-icon"),S(14,"download"),b()(),W(15,Lge,3,0,"div",11),v(16,"mat-form-field",12)(17,"mat-label"),S(18,"Select an option"),b(),v(19,"mat-select",13),H("selectionChange",function(){return V(o),z(r.handleGraphSelected())})("openedChange",function(a){return V(o),z(r.handleGraphSelectorOpenedChanged(a))}),W(20,Fge,4,0,"mat-optgroup",14)(21,zge,2,2,"mat-optgroup",15),b()()()}n&2&&(w(2),Me(" ",r.selectedGraphCollectionLabel," "),w(6),nt((r.selectedGraph.value==null?null:r.selectedGraph.value.id)||"-"),w(),N("ngIf",r.selectedGraph.value),w(6),ae(r.enableExportToResource?15:-1),w(4),N("formControl",r.selectedGraph),w(),N("ngIf",r.graphsCount()>1),w(),N("ngForOf",r.graphCollectionItems()))},dependencies:[Ae,Si,Mn,pa,aj,BC,it,_t,fa,VC,ql,G3,Jt,Wn,_r,zo,po],styles:[`.container[_ngcontent-%COMP%]{font-size:12px;display:flex;align-items:center;line-height:14px;position:relative}.container[_ngcontent-%COMP%] .collection-label[_ngcontent-%COMP%]{font-weight:700;margin-right:6px}.container[_ngcontent-%COMP%] .select-form[_ngcontent-%COMP%]{height:0;max-height:0;position:absolute;top:26px;right:28px}.container[_ngcontent-%COMP%] .select-form[_ngcontent-%COMP%] >*{height:0}.container[_ngcontent-%COMP%] .selector-label-content[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;flex-grow:1}.container[_ngcontent-%COMP%] .option-label[_ngcontent-%COMP%]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-right:2px}.container[_ngcontent-%COMP%] .node-count-label[_ngcontent-%COMP%]{color:#999;margin-left:12px}.container[_ngcontent-%COMP%] .triangle[_ngcontent-%COMP%]{font-size:10px;margin-left:8px}.container[_ngcontent-%COMP%] .graph-selector-label[_ngcontent-%COMP%]{font-size:12px;border:1px solid #aaa;border-radius:3px;padding:2px 4px;cursor:pointer;flex-grow:1;height:24px;display:flex;box-sizing:border-box}.container[_ngcontent-%COMP%] .graph-selector-label[_ngcontent-%COMP%] .selector-label-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;flex-grow:1}.container[_ngcontent-%COMP%] .graph-selector-label[_ngcontent-%COMP%]:hover{border-color:#ea8600}.container[_ngcontent-%COMP%] .mat-icon-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;margin-left:4px;cursor:pointer;opacity:.6}.container[_ngcontent-%COMP%] .mat-icon-container[_ngcontent-%COMP%]:hover{opacity:1} .graph-selector-panel{background-color:#fff} .graph-selector-panel mat-option{height:24px;font-size:12px;min-height:unset;padding:1px 0;padding-left:20px!important;background-color:none!important} .graph-selector-panel mat-option .option-wrapper{display:flex;align-items:center} .graph-selector-panel mat-option .option-container{display:flex;align-items:center;justify-content:space-between;letter-spacing:normal;font-family:Google Sans Text,Arial,Helvetica,sans-serif;flex-grow:1} .graph-selector-panel mat-option .option-container .option-label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#000!important} .graph-selector-panel mat-option .option-container .node-count-label{color:#999} .graph-selector-panel mat-option .action-button{flex-shrink:0;width:16px;height:16px;display:flex;align-items:center;margin-left:4px;opacity:.8;cursor:pointer} .graph-selector-panel mat-option .action-button:hover{opacity:1} .graph-selector-panel mat-option .action-button .block-container{border-radius:3px;border:1px solid #999;height:100%;width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:flex-end;padding:1px} .graph-selector-panel mat-option .action-button .block-container .right-block{height:100%;width:50%;background-color:#999;border-top-right-radius:2px;border-bottom-right-radius:2px} .graph-selector-panel mat-option span{white-space:break-spaces!important;word-break:break-all;line-height:14px!important;width:100%;box-sizing:border-box;padding-right:10px} .graph-selector-panel mat-option mat-pseudo-checkbox{display:none} .graph-selector-panel mat-option.selected{background-color:#fff1de!important} .graph-selector-panel mat-optgroup span{min-height:unset;font-size:12px;font-weight:700;padding-left:8px} .graph-selector-panel mat-optgroup.graph-search-optgroup{pointer-events:none} .graph-selector-panel mat-optgroup.graph-search-optgroup span{padding:0} .graph-selector-panel mat-optgroup.graph-search-optgroup mat-option{padding-left:16px!important;padding-right:12px!important;height:28px} .graph-selector-panel mat-optgroup.graph-search-optgroup input{font-size:12px;width:100%;box-sizing:border-box;pointer-events:all;border:1px solid #ccc;height:20px;border-radius:4px;padding:0 2px} +`],data:{animation:[li("hideProcessingPanel",[An("* => void",Rn("150ms 100ms ease-out",Kt({opacity:0,transform:"scale(0.95, 0.95)"})))])]},changeDetection:0})}return i})();function Kge(i,e){if(i&1){let t=ne();v(0,"button",1),H("click",function(){B(t);let r=I();return V(r.handleClickOpenInNewTab())}),v(1,"mat-icon"),S(2,"open_in_new"),b(),S(3," Open in new tab "),b()}}var WC=(()=>{class i{showOpenInNewTab;isChrome=/Chrome/.test(navigator.userAgent);constructor(){let t=new URLSearchParams(window.location.search);this.showOpenInNewTab=t.get("show_open_in_new_tab")==="1"&&this.isChrome}handleClickOpenInNewTab(){let t=new URL(window.location.href),n=new URLSearchParams(t.search);n.delete("show_open_in_new_tab"),t.search=n.toString(),window.open(t.toString(),"_blank")}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=ce({type:i,selectors:[["open-in-new-tab-button"]],standalone:!0,features:[le],decls:1,vars:1,consts:[["mat-flat-button","","color","primary",1,"btn-open-in-tab"],["mat-flat-button","","color","primary",1,"btn-open-in-tab",3,"click"]],template:function(n,r){n&1&&$(0,Kge,4,0,"button",0),n&2&&oe(r.showOpenInNewTab?0:-1)},dependencies:[Ae,xn,Ti,tt,pt]})}return i})();function Jge(i,e){i&1&&(v(0,"mat-icon",15),S(1," turn_left "),b())}function e_e(i,e){if(i&1){let t=ne();v(0,"div",16),H("click",function(r){B(t);let o=I().$implicit,s=I(2);return V(s.handleClickOpenInSplitPane(r,o))}),v(1,"div",17),ee(2,"div",18),b()()}}function t_e(i,e){if(i&1){let t=ne();v(0,"div",7)(1,"div",8)(2,"div",9),H("click",function(){let r=B(t).$implicit,o=I(2);return V(o.handleSelectGraph(r))}),v(3,"div",10),$(4,Jge,2,0,"mat-icon",11),v(5,"div",12),S(6),b()(),v(7,"div",13),S(8),b()(),$(9,e_e,3,0,"div",14),b()()}if(i&2){let t=e.$implicit,n=I(2);Ye("data-id",t.id),w(),Jt("padding-left",n.getGraphItemPaddingLeft(t),"px"),re("selected",t.id===n.selectedGraphId()),w(3),R("ngIf",n.showIndentSymbol(t)),w(2),Se(" ",t.id," "),w(2),Se(" ",n.getGraphNonHiddenNodeCountLabel(t.nonHiddenNodeCount)," "),w(),R("ngIf",n.showOpenInSplitPane)}}function n_e(i,e){if(i&1&&(v(0,"div",4)(1,"div",5),S(2),b(),$(3,t_e,10,9,"div",6),b()),i&2){let t=e.$implicit,n=I();w(2),Se(" ",t.label," "),w(),R("ngForOf",t.graphs)("ngForTrackBy",n.trackByGraph)}}var Lj=24,Fj=(()=>{class i{appService;graphCollectionItems=[];onClose=new Ie;hasFilteredOutGraphs=!1;selectedGraphId=Bt(()=>{let t=this.appService.getSelectedPane();return!t||!t.modelGraph?"":t.modelGraph.id});curFilterText="";constructor(t){this.appService=t}getGraphNonHiddenNodeCountLabel(t){return`${t} node${t===1?"":"s"}`}handleSelectGraph(t){this.onClose.next({}),this.resetFilter(),this.appService.selectGraphInCurrentPane(t.graph),this.appService.curInitialUiState.set(void 0),this.appService.selectNode(this.appService.selectedPaneId(),void 0),this.appService.curToLocateNodeInfo.set(void 0),this.appService.setFlattenLayersInCurrentPane(!1)}handleFilterTextChanged(t){this.curFilterText=t.toLowerCase()}handleClickOpenInSplitPane(t,n){t.stopPropagation(),this.onClose.next({}),this.resetFilter(),this.appService.openGraphInSplitPane(n.graph)}showIndentSymbol(t){return!this.hasFilteredOutGraphs&&(t.graph.level??0)>0}getGraphItemPaddingLeft(t){return this.hasFilteredOutGraphs?Lj:Lj+(t.graph.level??0)*12}trackByCollection(t,n){return`${t}`}trackByGraph(t,n){return`${n.graph.collectionLabel}___${n.graph.id}`}get curGraphCollectionItems(){let t=[];this.hasFilteredOutGraphs=!1;for(let{label:n,collection:r,graphs:o}of this.graphCollectionItems){let s={label:n,collection:r,graphs:[]};for(let a of o){if(this.curFilterText!==""&&!a.id.toLowerCase().includes(this.curFilterText)){this.hasFilteredOutGraphs=!0;continue}s.graphs.push(a)}s.graphs.length>0&&t.push(s)}return t}get showOpenInSplitPane(){return this.appService.panes().length===1}resetFilter(){this.curFilterText="",this.hasFilteredOutGraphs=!1}static \u0275fac=function(n){return new(n||i)(M(at))};static \u0275cmp=ce({type:i,selectors:[["graph-selector-panel"]],inputs:{graphCollectionItems:"graphCollectionItems"},outputs:{onClose:"onClose"},standalone:!0,features:[le],decls:4,vars:3,consts:[["input",""],[1,"container"],["placeholder","Filter graphs",3,"input"],["class","collection-container",4,"ngFor","ngForOf","ngForTrackBy"],[1,"collection-container"],[1,"collection-label"],["class","graph-item-container",4,"ngFor","ngForOf","ngForTrackBy"],[1,"graph-item-container"],[1,"graph-item"],[1,"graph-info-wrapper",3,"click"],[1,"graph-label-wrapper"],["class","indent-symbol",4,"ngIf"],[1,"graph-label"],[1,"node-count-label"],["class","action-button","matTooltip","Open in split pane","matTooltipPosition","right",3,"click",4,"ngIf"],[1,"indent-symbol"],["matTooltip","Open in split pane","matTooltipPosition","right",1,"action-button",3,"click"],[1,"block-container"],[1,"right-block"]],template:function(n,r){if(n&1){let o=ne();v(0,"div",1)(1,"input",2,0),H("input",function(){B(o);let a=ve(2);return V(r.handleFilterTextChanged(a.value))}),b(),$(3,n_e,4,3,"div",3),b()}n&2&&(R("@transformPanel","showing"),w(3),R("ngForOf",r.curGraphCollectionItems)("ngForTrackBy",r.trackByCollection))},dependencies:[Ae,Mi,Tn,ma,tt,pt,ga,Xt,Yn,br],styles:[`.container[_ngcontent-%COMP%]{box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f;transform-origin:top center;font-size:12px;padding:8px 0;border-radius:0 0 4px 4px;max-height:100%;overflow-y:auto}.container[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{font-size:12px;margin:4px 10px;width:calc(100% - 20px);box-sizing:border-box;pointer-events:all;border:1px solid #ccc;height:20px;border-radius:4px;padding:0 2px}.container[_ngcontent-%COMP%] .collection-container[_ngcontent-%COMP%] .collection-label[_ngcontent-%COMP%]{font-weight:700;padding:4px 12px}.container[_ngcontent-%COMP%] .graph-item-container[_ngcontent-%COMP%] .graph-item[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:4px 12px 4px 24px;cursor:pointer}.container[_ngcontent-%COMP%] .graph-item-container[_ngcontent-%COMP%] .graph-item[_ngcontent-%COMP%]:hover{background-color:#0000000a}.container[_ngcontent-%COMP%] .graph-item-container[_ngcontent-%COMP%] .graph-item.selected[_ngcontent-%COMP%]{background-color:#c2e7ff}.container[_ngcontent-%COMP%] .graph-item-container[_ngcontent-%COMP%] .graph-item[_ngcontent-%COMP%] .graph-info-wrapper[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;flex-grow:1}.container[_ngcontent-%COMP%] .graph-item-container[_ngcontent-%COMP%] .graph-item[_ngcontent-%COMP%] .graph-label-wrapper[_ngcontent-%COMP%]{display:flex;align-items:center}.container[_ngcontent-%COMP%] .graph-item-container[_ngcontent-%COMP%] .graph-item[_ngcontent-%COMP%] .indent-symbol[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px;color:#999;margin-right:4px;transform:rotate(-180deg)}.container[_ngcontent-%COMP%] .graph-item-container[_ngcontent-%COMP%] .graph-item[_ngcontent-%COMP%] .graph-label[_ngcontent-%COMP%]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.container[_ngcontent-%COMP%] .graph-item-container[_ngcontent-%COMP%] .graph-item[_ngcontent-%COMP%] .node-count-label[_ngcontent-%COMP%]{color:#999;margin-left:12px}.container[_ngcontent-%COMP%] .graph-item-container[_ngcontent-%COMP%] .graph-item[_ngcontent-%COMP%] .action-button[_ngcontent-%COMP%]{flex-shrink:0;width:16px;height:16px;display:flex;align-items:center;margin-left:6px;opacity:.8;cursor:pointer}.container[_ngcontent-%COMP%] .graph-item-container[_ngcontent-%COMP%] .graph-item[_ngcontent-%COMP%] .action-button[_ngcontent-%COMP%]:hover{opacity:1}.container[_ngcontent-%COMP%] .graph-item-container[_ngcontent-%COMP%] .graph-item[_ngcontent-%COMP%] .action-button[_ngcontent-%COMP%] .block-container[_ngcontent-%COMP%]{border-radius:3px;border:1px solid #999;height:100%;width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:flex-end;padding:1px}.container[_ngcontent-%COMP%] .graph-item-container[_ngcontent-%COMP%] .graph-item[_ngcontent-%COMP%] .action-button[_ngcontent-%COMP%] .block-container[_ngcontent-%COMP%] .right-block[_ngcontent-%COMP%]{height:100%;width:50%;background-color:#999;border-top-right-radius:2px;border-bottom-right-radius:2px} @@ -4000,7 +4001,7 @@ Alt+click: select`;getNamespaceLabel=cd;constValuesPopupSize={minWidth:100,minHe -`],changeDetection:0})}return i})();var Jn=function(i){return i[i.DT_INVALID=0]="DT_INVALID",i[i.DT_FLOAT=1]="DT_FLOAT",i[i.DT_DOUBLE=2]="DT_DOUBLE",i[i.DT_INT32=3]="DT_INT32",i[i.DT_UINT8=4]="DT_UINT8",i[i.DT_INT16=5]="DT_INT16",i[i.DT_INT8=6]="DT_INT8",i[i.DT_STRING=7]="DT_STRING",i[i.DT_COMPLEX64=8]="DT_COMPLEX64",i[i.DT_INT64=9]="DT_INT64",i[i.DT_BOOL=10]="DT_BOOL",i[i.DT_QINT8=11]="DT_QINT8",i[i.DT_QUINT8=12]="DT_QUINT8",i[i.DT_QINT32=13]="DT_QINT32",i[i.DT_BFLOAT16=14]="DT_BFLOAT16",i[i.DT_QINT16=15]="DT_QINT16",i[i.DT_QUINT16=16]="DT_QUINT16",i[i.DT_UINT16=17]="DT_UINT16",i[i.DT_COMPLEX128=18]="DT_COMPLEX128",i[i.DT_HALF=19]="DT_HALF",i[i.DT_RESOURCE=20]="DT_RESOURCE",i[i.DT_VARIANT=21]="DT_VARIANT",i[i.DT_UINT32=22]="DT_UINT32",i[i.DT_UINT64=23]="DT_UINT64",i}(Jn||{}),Hge=new Map([[Jn.DT_FLOAT,"float"],[Jn.DT_DOUBLE,"double"],[Jn.DT_INT32,"int32"],[Jn.DT_UINT8,"uint8"],[Jn.DT_INT16,"int16"],[Jn.DT_INT8,"int8"],[Jn.DT_STRING,"string"],[Jn.DT_COMPLEX64,"complex64"],[Jn.DT_INT64,"int64"],[Jn.DT_BOOL,"bool"],[Jn.DT_QINT8,"qint8"],[Jn.DT_QUINT8,"qint8"],[Jn.DT_QINT32,"qint32"],[Jn.DT_BFLOAT16,"bfloat16"],[Jn.DT_QINT16,"qint16"],[Jn.DT_QUINT16,"qint16"],[Jn.DT_UINT16,"uint16"],[Jn.DT_COMPLEX128,"complex128"],[Jn.DT_HALF,"half"],[Jn.DT_RESOURCE,"resource"],[Jn.DT_VARIANT,"variant"],[Jn.DT_UINT32,"uint32"],[Jn.DT_UINT64,"uint64"]]);function Rj(i,e){let t={};if(e.weightsManifest!=null)for(let s of e.weightsManifest)for(let a of s.weights)t[a.name]=a;let n={},r=e.modelTopology.node.map(s=>{let a={id:s.name,label:s.op,namespace:s.name,incomingEdges:Gge(s),attrs:jge(s)};return n[a.id]=a,a});for(let s of e.modelTopology.node){if(!n[s.name])continue;let l=s.input||[];for(let c=0;c{let n=e.split(":");return{sourceNodeId:n.length===2?n[0]:e,sourceNodeOutputId:n.length===2?n[1]:"0",targetNodeInputId:`${t}`}})}function jge(i){let e=i.attr||{},t=[];for(let n of Object.keys(e)){let r=e[n],o="";r.list!=null?(r.list.s||[]).length>0?o=(r.list.s||[]).map(s=>Q_({s})).join(", "):(r.list.b||[]).length>0?o=(r.list.b||[]).map(s=>Q_({b:s})).join(", "):(r.list.f||[]).length>0?o=(r.list.f||[]).map(s=>Q_({f:s})).join(", "):(r.list.i||[]).length>0?o=(r.list.i||[]).map(s=>Q_({i:s})).join(", "):o="[]":o=Q_(r),t.push({key:n,value:o})}return t}function Q_(i){let e="";return i.s!=null?Array.isArray(i.s)?e=`${i.s.map(t=>typeof t=="number"?String.fromCharCode(t):`${t}`).join("")}`:e=atob(i.s):i.i!=null?e=`${i.i}`:i.f!=null?e=`${i.f}`:i.b!=null?e=i?"true":"false":i.type!=null&&(e=Hge.get(i.type)||"unknown"),e}var lf=new URLSearchParams(window.location.search).get("internal_colab")==="1";function WC(i){return!1}function Aj(i){return At(this,null,function*(){return new Promise((e,t)=>{let n=new FileReader;n.onload=r=>{let o=JSON.parse(n.result),{graphCollections:s,error:a}=FO(i.name,o);a?t(a):s&&e(s)},n.readAsText(i)})})}function FO(i,e){return e.modelTopology==null?Wge(e,i):{graphCollections:[Rj(i,e)]}}function Wge(i,e){return i.label!=null&&i.graphs!=null?{graphCollections:[i]}:Array.isArray(i)&&i[0].subgraphs!=null?{graphCollections:$ge(i,e)}:Array.isArray(i)&&(i.length===0||i.length>0&&i[0].id!=null&&i[0].nodes!=null)?{graphCollections:[{label:e,graphs:i}]}:{error:"Unsupported JSON format"}}function $ge(i,e){return i.map(t=>({label:t.label===""?e:`${e} (${t.label})`,graphs:t.subgraphs}))}function $C(){return window.meElectronApi}function qge(i,e){i&1&&(v(0,"div",4),S(1," Run the following command in your console to upgrade: "),v(2,"div",10),S(3," pip install -U ai-edge-model-explorer "),b()())}function Yge(i,e){if(i&1&&(v(0,"div",9)(1,"mat-icon",7),S(2,"get_app"),b(),v(3,"a",8),S(4," Download desktop app "),b()()),i&2){let t=I(3);w(3),N("href",t.info().desktopAppUrl,ME)}}function Xge(i,e){if(i&1&&(v(0,"div",2),S(1," Model Explorer "),v(2,"span",3),S(3),b(),S(4," is available. You are running "),v(5,"span",3),S(6),b(),S(7,". "),W(8,qge,4,0,"div",4),v(9,"div",5)(10,"div",6)(11,"mat-icon",7),S(12,"description"),b(),v(13,"a",8),S(14," Release notes "),b()(),W(15,Yge,5,1,"div",9),b()()),i&2){let t=I(2);w(3),Me("v",t.info().version,""),w(3),Me("v",t.info().runningVersion,""),w(2),ae(t.isElectron?-1:8),w(5),N("href",t.info().releaseUrl,ME),w(2),ae(t.isElectron&&t.info().desktopAppUrl?15:-1)}}function Zge(i,e){if(i&1&&(v(0,"div",1)(1,"mat-icon"),S(2,"upgrade"),b(),S(3," New version available "),b(),W(4,Xge,16,5,"ng-template",null,0,kt)),i&2){let t=ve(5);N("bubble",t)("hoverDelayMs",100)}}var Qge="/api/v1/check_new_version",BO=(()=>{class i{info=ut({version:"",runningVersion:"",releaseUrl:"",desktopAppUrl:""});constructor(){this.checkNewVersion()}checkNewVersion(){return At(this,null,function*(){try{let t=yield fetch(Qge);if(t.ok){let n=yield t.json();this.info.set(n)}}catch{}})}static \u0275fac=function(n){return new(n||i)};static \u0275prov=J({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})(),qC=(()=>{class i{newVersionService;info;isElectron=$C()!=null;constructor(t){this.newVersionService=t,this.info=this.newVersionService.info}static \u0275fac=function(n){return new(n||i)(M(BO))};static \u0275cmp=le({type:i,selectors:[["new-version-chip"]],standalone:!0,features:[ce],decls:1,vars:1,consts:[["upgrade",""],[1,"container",3,"bubble","hoverDelayMs"],[1,"model-explorer-upgrade-popup"],[1,"bold"],[1,"upgrade-command"],[1,"items"],[1,"release-notes"],[1,"item-icon"],["target","_blank",3,"href"],[1,"download-desktop-app"],[1,"code"]],template:function(n,r){n&1&&W(0,Zge,6,2),n&2&&ae(r.info().version!==""?0:-1)},dependencies:[$n,Ae,it,_t],styles:[".container[_ngcontent-%COMP%]{font-size:12px;display:flex;align-items:center;color:#ab6c17;background-color:#ffefd9;line-height:18px;border-radius:99px;font-weight:500;padding:2px 10px 2px 4px;cursor:pointer}.container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px} .model-explorer-upgrade-popup{padding:8px;font-size:12px;background-color:#fff;line-height:normal} .model-explorer-upgrade-popup .bold{font-weight:500} .model-explorer-upgrade-popup .upgrade-command{margin-top:12px} .model-explorer-upgrade-popup .code{background-color:#f1f1f1;font-family:monospace;margin-top:4px;padding:4px;font-size:11px} .model-explorer-upgrade-popup .items{display:flex;flex-direction:column;gap:4px;margin-top:12px} .model-explorer-upgrade-popup .release-notes, .model-explorer-upgrade-popup .download-desktop-app{display:flex;align-items:center} .model-explorer-upgrade-popup .item-icon{font-size:16px;width:16px;height:16px;margin-right:4px;color:#777}"]})}return i})();function Jge(i,e){i&1&&ee(0,"mat-spinner",5)}function e_e(i,e){i&1&&(v(0,"mat-icon"),S(1,"add_circle_outline"),b())}function t_e(i,e){i&1&&(v(0,"div",7),S(1," Add custom data and styles to the nodes in the current model "),b())}function n_e(i,e){if(i&1){let t=ie();v(0,"div",8)(1,"div",9)(2,"div"),S(3,"Load json data file"),b(),v(4,"a",10),S(5," Guide "),b()(),v(6,"div",11)(7,"div",12),S(8,"From computer"),b(),v(9,"button",13),H("click",function(){V(t);let r=ve(12);return z(r.click())}),S(10," Upload "),b()(),v(11,"input",14,2),H("change",function(){V(t);let r=ve(12),o=I();return z(o.handleClickUpload(r))}),b()()}}var Nj=(()=>{class i{appService;changeDetectorRef;localStorageService;nodeDataProviderExtensionService;dropdown;extensions=[];loadingExtensions=!0;helpPopupSize={minWidth:0,minHeight:0};dropdownSize={minWidth:0,minHeight:0,maxHeight:500};remoteSourceLoading;constructor(t,n,r,o){this.appService=t,this.changeDetectorRef=n,this.localStorageService=r,this.nodeDataProviderExtensionService=o,this.remoteSourceLoading=this.nodeDataProviderExtensionService.remoteSourceLoading}handleClickUpload(t){let n=t.files;if(!n)return;let r=this.appService.getModelGraphFromSelectedPane();if(r){for(let o of Array.from(n)){let s=new FileReader;s.onload=a=>{let l=Fr();try{let c=this.getNodeDataProviderData(a.target?.result,r);this.nodeDataProviderExtensionService.addRun(l,o.name,"",r,c)}catch(c){this.nodeDataProviderExtensionService.addRun(l,o.name,"",r),this.nodeDataProviderExtensionService.updateRunResults(l,{[r.id]:{results:{}}},r,`Failed to process JSON file. ${c}`)}finally{this.dropdown?.closeDialog()}},s.readAsText(o)}t.value=""}}getNodeDataProviderData(t,n){let r=JSON.parse(t),o={};return r.results!=null&&r.results.results==null?n&&(o[n.id]=r):o=r,o}static \u0275fac=function(n){return new(n||i)(M(st),M(Fe),M(Vo),M(Cr))};static \u0275cmp=le({type:i,selectors:[["node-data-provider-dropdown"]],viewQuery:function(n,r){if(n&1&&Te(wc,5),n&2){let o;be(o=ye())&&(r.dropdown=o.first)}},standalone:!0,features:[ce],decls:10,vars:6,consts:[["help",""],["dropdown",""],["input",""],[1,"container",3,"bubble","overlaySize","hoverDelayMs"],[1,"icon-container",3,"bubbleClick","overlaySize"],["color","primary","diameter","18"],[1,"label"],[1,"model-explorer-help-popup"],[1,"model-explorer-node-data-provider-dropdown"],[1,"section-label","upload"],["href","https://github.com/google-ai-edge/model-explorer/wiki/2.-User-Guide#custom-node-data","target","_blank"],[1,"upload-container"],[1,"description"],["mat-flat-button","","color","primary",1,"upload-json-file-button","upload",3,"click"],["type","file","multiple","","accept",".json",1,"upload-per-node-data-input",3,"change"]],template:function(n,r){if(n&1&&(v(0,"div",3)(1,"div",4),W(2,Jge,1,0,"mat-spinner",5)(3,e_e,2,0,"mat-icon"),v(4,"span",6),S(5,"Add per-node data"),b()()(),W(6,t_e,2,0,"ng-template",null,0,kt)(8,n_e,13,0,"ng-template",null,1,kt)),n&2){let o=ve(7),s=ve(9);N("bubble",o)("overlaySize",r.helpPopupSize)("hoverDelayMs",10),w(),N("bubbleClick",s)("overlaySize",r.dropdownSize),w(),ae(r.remoteSourceLoading()?2:3)}},dependencies:[$n,wc,Ae,In,zi,it,_t,ns,ha,Jt],styles:[`.container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;cursor:pointer;color:#666;padding-bottom:12px;margin-bottom:-12px}.container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-right:4px}.container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%] mat-spinner[_ngcontent-%COMP%]{margin-right:6px}.container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{font-size:13px}.container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]:hover{color:#444} .model-explorer-node-data-provider-dropdown{font-size:12px;background-color:#fff;display:flex;flex-direction:column;padding-bottom:8px} .model-explorer-node-data-provider-dropdown .section-label{padding:8px 12px;font-size:11px;background:#f1f1f1;font-weight:500;text-transform:uppercase} .model-explorer-node-data-provider-dropdown .section-label .address-container{text-transform:none;font-weight:400;letter-spacing:normal;color:#777;line-height:12px;padding-bottom:5px;display:flex;align-items:flex-start;margin-top:-4px;margin-left:-2px} .model-explorer-node-data-provider-dropdown .section-label .address-container .address-label{overflow:hidden;line-break:anywhere;line-height:12px;flex-grow:1;padding-top:3px} .model-explorer-node-data-provider-dropdown .section-label .address-container .settings-icon-container{display:flex;align-items:center;justify-content:center;margin-right:4px;pointer-events:all;cursor:pointer;opacity:.7} .model-explorer-node-data-provider-dropdown .section-label .address-container .settings-icon-container:hover{opacity:1} .model-explorer-node-data-provider-dropdown .section-label .address-container .settings-icon-container mat-icon{font-size:16px;width:16px;height:16px} .model-explorer-node-data-provider-dropdown .section-label.upload{display:flex;align-items:center;justify-content:space-between;min-width:180px} .model-explorer-node-data-provider-dropdown .section-label.upload a{font-size:11px;letter-spacing:normal;text-transform:none;pointer-events:all} .model-explorer-node-data-provider-dropdown .description{font-size:12px;color:#777;line-height:18px;letter-spacing:normal} .model-explorer-node-data-provider-dropdown .upload-container{display:flex;flex-direction:column;align-items:flex-start;padding:0 16px;margin-top:12px} .model-explorer-node-data-provider-dropdown .upload-json-file-button{margin:4px 0;width:90px;height:30px;font-size:12px!important;letter-spacing:normal!important} .model-explorer-node-data-provider-dropdown .upload-json-file-button.upload{margin-top:2px} .model-explorer-node-data-provider-dropdown .upload-json-file-button .mat-mdc-button-touch-target{display:none} .model-explorer-node-data-provider-dropdown .or-divider{height:1px;border-top:1px solid #eee;position:relative;margin-top:12px} .model-explorer-node-data-provider-dropdown .or-divider .or-label{font-size:10px;top:-9px;color:#aaa;position:absolute;padding:2px;background-color:#fff;display:flex;align-items:center;justify-content:center;width:16px;left:calc(50% - 8px)} .model-explorer-node-data-provider-dropdown .upload-per-node-data-input{display:none} .model-explorer-node-data-provider-dropdown .no-extension, .model-explorer-node-data-provider-dropdown .loading-extension{padding:12px 0 4px 16px;color:#999;font-size:13px;letter-spacing:normal} +`],data:{animation:bC},changeDetection:0})}return i})();var i_e=["input"];function r_e(i,e){if(i&1&&(v(0,"div",16),S(1),b()),i&2){let t=I();w(),Se(" ",t.selectedGraphNodeCount," nodes ")}}function o_e(i,e){if(i&1){let t=ne();v(0,"div",17),H("click",function(){B(t);let r=I();return V(r.handleClickExportGraphJsonToResource())}),v(1,"mat-icon"),S(2,"drive_folder_upload"),b()()}}function s_e(i,e){if(i&1){let t=ne();v(0,"mat-optgroup",18)(1,"mat-option")(2,"input",19,1),H("click",function(r){return B(t),V(r.stopPropagation())})("keydown.space",function(r){return B(t),V(r.stopPropagation())})("input",function(){B(t);let r=ve(3),o=I();return V(o.handleFilterTextChanged(r.value))}),b()()()}}function a_e(i,e){if(i&1){let t=ne();v(0,"div",26),H("click",function(r){B(t);let o=I().$implicit,s=I(2);return V(s.handleClickOpenInSplitPane(r,o))}),v(1,"div",27),ee(2,"div",28),b()()}}function c_e(i,e){if(i&1&&(v(0,"mat-option",22)(1,"div",23)(2,"div",24)(3,"div",7),S(4),b(),v(5,"div",16),S(6),b()(),$(7,a_e,3,0,"div",25),b()()),i&2){let t=e.$implicit,n=I(2);re("selected",t.graph===n.selectedGraph.value),R("value",t.graph),Ye("data-id",t.id),w(4),st(t.id),w(2),Se(" ",t.nonHiddenNodeCount," nodes "),w(),R("ngIf",n.showOpenInSplitPane)}}function l_e(i,e){if(i&1&&(v(0,"mat-optgroup",20),$(1,c_e,8,7,"mat-option",21),b()),i&2){let t=e.$implicit;R("label",t.label),w(),R("ngForOf",t.graphs)}}var d_e=new OffscreenCanvas(500,300),Bj={},Vj=(()=>{class i{appService;overlay;viewContainerRef;mySelector;filterInput;selectedGraph=new vr(void 0);selectedGraphNodeCount=0;selectedGraphCollectionLabel="";selectedCollection;maxGraphItemIdWidth=0;graphCollectionItems=Bt(()=>{let t=this.appService.config();if(!t)return[];let n=this.appService.curGraphCollections();this.nodeLabelsToHide=new Set((t.nodeLabelsToHide||[]).map(s=>s.toLowerCase()));let r=[],o=this.curFilterText().toLowerCase();for(let s of n){let a={label:s.label,collection:s,graphs:[]};for(let c of s.graphs){if(o!==""&&!c.id.toLowerCase().includes(o))continue;let l=c.nodes.filter(u=>!this.nodeLabelsToHide.has(u.label.toLowerCase())).length,d=this.getLabelWidth(` ${c.id} ${l} nodes`)+30;a.graphs.push({id:c.id,graph:c,nonHiddenNodeCount:l,width:d}),this.maxGraphItemIdWidth=Math.max(d+30,this.maxGraphItemIdWidth)}if(a.graphs.length>0){r.push(a);let c=this.getLabelWidth(s.label,12,!0)+30;this.maxGraphItemIdWidth=Math.max(c,this.maxGraphItemIdWidth)}}return r});graphsCount=Bt(()=>{let t=0,n=this.appService.curGraphCollections();for(let r of n)t+=r.graphs.length;return t});nodeLabelsToHide=new Set;curFilterText=ct("");portal=null;selectedGraphId=Bt(()=>{let t=this.appService.getSelectedPane();return!t||!t.modelGraph?"":t.modelGraph.id});constructor(t,n,r){this.appService=t,this.overlay=n,this.viewContainerRef=r,lt(()=>{let o=this.selectedGraphId();o&&this.updateSelectedGraphInfo(o)})}handleFilterTextChanged(t){this.curFilterText.set(t)}handleClickOpenGraphDropdown(t){let n=this.createOverlay(t),r=n.attach(this.portal);r.instance.graphCollectionItems=this.graphCollectionItems(),r.instance.onClose.subscribe(()=>{n.dispose()})}handleGraphSelectorOpenedChanged(t){t||(this.filterInput.nativeElement.value="",this.curFilterText.set(""))}handleGraphSelected(){this.selectedGraph.value&&(this.updateSelectedGraphInfo(this.selectedGraph.value.id),this.appService.selectGraphInCurrentPane(this.selectedGraph.value),this.appService.curInitialUiState.set(void 0),this.appService.selectNode(this.appService.selectedPaneId(),void 0),this.appService.curToLocateNodeInfo.set(void 0),this.appService.setFlattenLayersInCurrentPane(!1))}handleClickOpenInSplitPane(t,n){t.stopPropagation(),this.mySelector.close(),this.appService.openGraphInSplitPane(n.graph)}handleClickDownloadGraphJson(){if(this.selectedCollection==null)return;let t=document.createElement("a");t.download=`${this.selectedGraphCollectionLabel}.json`;let n=`data:text/json;charset=utf-8, ${encodeURIComponent(JSON.stringify(this.selectedCollection,null,2))}`;dc(t,n),t.click()}handleClickExportGraphJsonToResource(){!this.selectedCollection!=null&&iy(`${this.selectedGraphCollectionLabel}.json`,this.selectedCollection)}getGraphLabel(t){return`${t.id} (${t.nodes.length} nodes)`}get graphSelectorDropdownWidth(){return this.maxGraphItemIdWidth}get showOpenInSplitPane(){return this.appService.panes().length===1}get enableExportToResource(){return this.appService.config()?.enableExportToResource===!0}getLabelWidth(t,n=12,r=!1){let o=t,s=Bj[o];if(s==null){let a=d_e.getContext("2d");a.font=`${n}px "Google Sans Text", Arial, Helvetica, sans-serif`,r&&(a.font=`bold ${a.font}`);let l=a.measureText(t).width;Bj[o]=l,s=l}return s}updateSelectedGraphInfo(t){let n=!1;for(let r of this.graphCollectionItems()){for(let o of r.graphs)if(o.graph.id===t){this.selectedGraphNodeCount=o.nonHiddenNodeCount,this.selectedGraphCollectionLabel=r.label,this.selectedCollection=r.collection,this.selectedGraph.setValue(o.graph),n=!0;break}if(n)break}}createOverlay(t){let n=new fi({positionStrategy:this.overlay.position().flexibleConnectedTo(t).withPositions([{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}]),maxHeight:"calc(100% - 70px)",hasBackdrop:!0,backdropClass:"cdk-overlay-transparent-backdrop",scrollStrategy:this.overlay.scrollStrategies.reposition(),panelClass:"graph-selector-panel"}),r=this.overlay.create(n);return this.portal=new Ai(Fj,this.viewContainerRef),r.backdropClick().subscribe(()=>{r.dispose()}),r}static \u0275fac=function(n){return new(n||i)(M(at),M($t),M(Zt))};static \u0275cmp=ce({type:i,selectors:[["graph-selector"]],viewQuery:function(n,r){if(n&1&&(Ee(zC,5),Ee(i_e,5)),n&2){let o;be(o=ye())&&(r.mySelector=o.first),be(o=ye())&&(r.filterInput=o.first)}},standalone:!0,features:[le],decls:22,vars:7,consts:[["selector",""],["input",""],[1,"container"],[1,"collection-label"],[1,"graph-selector-label",3,"click"],[1,"selector-label-container"],[1,"selector-label-content"],[1,"option-label"],["class","node-count-label",4,"ngIf"],[1,"triangle"],["matTooltip","Download processed graphs json",1,"mat-icon-container",3,"click"],["matTooltip","Export to resource",1,"mat-icon-container"],[1,"select-form"],["color","primary","panelClass","graph-selector-panel",3,"selectionChange","openedChange","formControl"],["class","graph-search-optgroup",4,"ngIf"],[3,"label",4,"ngFor","ngForOf"],[1,"node-count-label"],["matTooltip","Export to resource",1,"mat-icon-container",3,"click"],[1,"graph-search-optgroup"],["placeholder","Filter graphs",3,"click","keydown.space","input"],[3,"label"],[3,"selected","value",4,"ngFor","ngForOf"],[3,"value"],[1,"option-wrapper"],[1,"option-container"],["class","action-button","matTooltip","Open in split pane","matTooltipPosition","right",3,"click",4,"ngIf"],["matTooltip","Open in split pane","matTooltipPosition","right",1,"action-button",3,"click"],[1,"block-container"],[1,"right-block"]],template:function(n,r){if(n&1){let o=ne();v(0,"div",2)(1,"div",3),S(2),b(),v(3,"div",4,0),H("click",function(){B(o);let a=ve(4);return V(r.handleClickOpenGraphDropdown(a))}),v(5,"div",5)(6,"div",6)(7,"div",7),S(8),b(),$(9,r_e,2,1,"div",8),b(),v(10,"div",9),S(11,"\u25BC"),b()()(),v(12,"div",10),H("click",function(){return B(o),V(r.handleClickDownloadGraphJson())}),v(13,"mat-icon"),S(14,"download"),b()(),$(15,o_e,3,0,"div",11),v(16,"mat-form-field",12)(17,"mat-label"),S(18,"Select an option"),b(),v(19,"mat-select",13),H("selectionChange",function(){return B(o),V(r.handleGraphSelected())})("openedChange",function(a){return B(o),V(r.handleGraphSelectorOpenedChanged(a))}),$(20,s_e,4,0,"mat-optgroup",14)(21,l_e,2,2,"mat-optgroup",15),b()()()}n&2&&(w(2),Se(" ",r.selectedGraphCollectionLabel," "),w(6),st((r.selectedGraph.value==null?null:r.selectedGraph.value.id)||"-"),w(),R("ngIf",r.selectedGraph.value),w(6),oe(r.enableExportToResource?15:-1),w(4),R("formControl",r.selectedGraph),w(),R("ngIf",r.graphsCount()>1),w(),R("ngForOf",r.graphCollectionItems()))},dependencies:[Ae,Mi,Tn,ma,pj,VC,tt,pt,ga,zC,Zc,$3,Xt,Yn,br,Ho,vo],styles:[`.container[_ngcontent-%COMP%]{font-size:12px;display:flex;align-items:center;line-height:14px;position:relative}.container[_ngcontent-%COMP%] .collection-label[_ngcontent-%COMP%]{font-weight:700;margin-right:6px}.container[_ngcontent-%COMP%] .select-form[_ngcontent-%COMP%]{height:0;max-height:0;position:absolute;top:26px;right:28px}.container[_ngcontent-%COMP%] .select-form[_ngcontent-%COMP%] >*{height:0}.container[_ngcontent-%COMP%] .selector-label-content[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;flex-grow:1}.container[_ngcontent-%COMP%] .option-label[_ngcontent-%COMP%]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-right:2px}.container[_ngcontent-%COMP%] .node-count-label[_ngcontent-%COMP%]{color:#999;margin-left:12px}.container[_ngcontent-%COMP%] .triangle[_ngcontent-%COMP%]{font-size:10px;margin-left:8px}.container[_ngcontent-%COMP%] .graph-selector-label[_ngcontent-%COMP%]{font-size:12px;border:1px solid #aaa;border-radius:3px;padding:2px 4px;cursor:pointer;flex-grow:1;height:24px;display:flex;box-sizing:border-box}.container[_ngcontent-%COMP%] .graph-selector-label[_ngcontent-%COMP%] .selector-label-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;flex-grow:1}.container[_ngcontent-%COMP%] .graph-selector-label[_ngcontent-%COMP%]:hover{border-color:#ea8600}.container[_ngcontent-%COMP%] .mat-icon-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;margin-left:4px;cursor:pointer;opacity:.6}.container[_ngcontent-%COMP%] .mat-icon-container[_ngcontent-%COMP%]:hover{opacity:1} .graph-selector-panel{background-color:#fff} .graph-selector-panel mat-option{height:24px;font-size:12px;min-height:unset;padding:1px 0;padding-left:20px!important;background-color:none!important} .graph-selector-panel mat-option .option-wrapper{display:flex;align-items:center} .graph-selector-panel mat-option .option-container{display:flex;align-items:center;justify-content:space-between;letter-spacing:normal;font-family:Google Sans Text,Arial,Helvetica,sans-serif;flex-grow:1} .graph-selector-panel mat-option .option-container .option-label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#000!important} .graph-selector-panel mat-option .option-container .node-count-label{color:#999} .graph-selector-panel mat-option .action-button{flex-shrink:0;width:16px;height:16px;display:flex;align-items:center;margin-left:4px;opacity:.8;cursor:pointer} .graph-selector-panel mat-option .action-button:hover{opacity:1} .graph-selector-panel mat-option .action-button .block-container{border-radius:3px;border:1px solid #999;height:100%;width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:flex-end;padding:1px} .graph-selector-panel mat-option .action-button .block-container .right-block{height:100%;width:50%;background-color:#999;border-top-right-radius:2px;border-bottom-right-radius:2px} .graph-selector-panel mat-option span{white-space:break-spaces!important;word-break:break-all;line-height:14px!important;width:100%;box-sizing:border-box;padding-right:10px} .graph-selector-panel mat-option mat-pseudo-checkbox{display:none} .graph-selector-panel mat-option.selected{background-color:#fff1de!important} .graph-selector-panel mat-optgroup span{min-height:unset;font-size:12px;font-weight:700;padding-left:8px} .graph-selector-panel mat-optgroup.graph-search-optgroup{pointer-events:none} .graph-selector-panel mat-optgroup.graph-search-optgroup span{padding:0} .graph-selector-panel mat-optgroup.graph-search-optgroup mat-option{padding-left:16px!important;padding-right:12px!important;height:28px} .graph-selector-panel mat-optgroup.graph-search-optgroup input{font-size:12px;width:100%;box-sizing:border-box;pointer-events:all;border:1px solid #ccc;height:20px;border-radius:4px;padding:0 2px} @@ -4018,7 +4019,7 @@ Alt+click: select`;getNamespaceLabel=cd;constValuesPopupSize={minWidth:100,minHe -`],changeDetection:0})}return i})();function i_e(i,e){}var Cu=class{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.ariaModal=!0,this.autoFocus="first-tabbable",this.restoreFocus=!0,this.closeOnNavigation=!0,this.closeOnDestroy=!0,this.closeOnOverlayDetachments=!0}};var zO=(()=>{let e=class e extends la{constructor(n,r,o,s,a,l,c,d){super(),this._elementRef=n,this._focusTrapFactory=r,this._config=s,this._interactivityChecker=a,this._ngZone=l,this._overlayRef=c,this._focusMonitor=d,this._platform=te(gn),this._focusTrap=null,this._elementFocusedBeforeDialogWasOpened=null,this._closeInteractionType=null,this._ariaLabelledByQueue=[],this._changeDetectorRef=te(Fe),this._injector=te(xt),this._isDestroyed=!1,this.attachDomPortal=u=>{this._portalOutlet.hasAttached();let h=this._portalOutlet.attachDomPortal(u);return this._contentAttached(),h},this._document=o,this._config.ariaLabelledBy&&this._ariaLabelledByQueue.push(this._config.ariaLabelledBy)}_addAriaLabelledBy(n){this._ariaLabelledByQueue.push(n),this._changeDetectorRef.markForCheck()}_removeAriaLabelledBy(n){let r=this._ariaLabelledByQueue.indexOf(n);r>-1&&(this._ariaLabelledByQueue.splice(r,1),this._changeDetectorRef.markForCheck())}_contentAttached(){this._initializeFocusTrap(),this._handleBackdropClicks(),this._captureInitialFocus()}_captureInitialFocus(){this._trapFocus()}ngOnDestroy(){this._isDestroyed=!0,this._restoreFocus()}attachComponentPortal(n){this._portalOutlet.hasAttached();let r=this._portalOutlet.attachComponentPortal(n);return this._contentAttached(),r}attachTemplatePortal(n){this._portalOutlet.hasAttached();let r=this._portalOutlet.attachTemplatePortal(n);return this._contentAttached(),r}_recaptureFocus(){this._containsFocus()||this._trapFocus()}_forceFocus(n,r){this._interactivityChecker.isFocusable(n)||(n.tabIndex=-1,this._ngZone.runOutsideAngular(()=>{let o=()=>{n.removeEventListener("blur",o),n.removeEventListener("mousedown",o),n.removeAttribute("tabindex")};n.addEventListener("blur",o),n.addEventListener("mousedown",o)})),n.focus(r)}_focusByCssSelector(n,r){let o=this._elementRef.nativeElement.querySelector(n);o&&this._forceFocus(o,r)}_trapFocus(){this._isDestroyed||fr(()=>{let n=this._elementRef.nativeElement;switch(this._config.autoFocus){case!1:case"dialog":this._containsFocus()||n.focus();break;case!0:case"first-tabbable":this._focusTrap?.focusInitialElement()||this._focusDialogContainer();break;case"first-heading":this._focusByCssSelector('h1, h2, h3, h4, h5, h6, [role="heading"]');break;default:this._focusByCssSelector(this._config.autoFocus);break}},{injector:this._injector})}_restoreFocus(){let n=this._config.restoreFocus,r=null;if(typeof n=="string"?r=this._document.querySelector(n):typeof n=="boolean"?r=n?this._elementFocusedBeforeDialogWasOpened:null:n&&(r=n),this._config.restoreFocus&&r&&typeof r.focus=="function"){let o=Vm(),s=this._elementRef.nativeElement;(!o||o===this._document.body||o===s||s.contains(o))&&(this._focusMonitor?(this._focusMonitor.focusVia(r,this._closeInteractionType),this._closeInteractionType=null):r.focus())}this._focusTrap&&this._focusTrap.destroy()}_focusDialogContainer(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_containsFocus(){let n=this._elementRef.nativeElement,r=Vm();return n===r||n.contains(r)}_initializeFocusTrap(){this._platform.isBrowser&&(this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement),this._document&&(this._elementFocusedBeforeDialogWasOpened=Vm()))}_handleBackdropClicks(){this._overlayRef.backdropClick().subscribe(()=>{this._config.disableClose&&this._recaptureFocus()})}};e.\u0275fac=function(r){return new(r||e)(M(Re),M(My),M(Ye,8),M(Cu),M(Nh),M(Le),M(al),M(fo))},e.\u0275cmp=le({type:e,selectors:[["cdk-dialog-container"]],viewQuery:function(r,o){if(r&1&&Te(Qo,7),r&2){let s;be(s=ye())&&(o._portalOutlet=s.first)}},hostAttrs:["tabindex","-1",1,"cdk-dialog-container"],hostVars:6,hostBindings:function(r,o){r&2&&Ze("id",o._config.id||null)("role",o._config.role)("aria-modal",o._config.ariaModal)("aria-labelledby",o._config.ariaLabel?null:o._ariaLabelledByQueue[0])("aria-label",o._config.ariaLabel)("aria-describedby",o._config.ariaDescribedBy||null)},standalone:!0,features:[nn,ce],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(r,o){r&1&&W(0,i_e,0,0,"ng-template",0)},dependencies:[Qo],styles:[".cdk-dialog-container{display:block;width:100%;height:100%;min-height:inherit;max-height:inherit}"],encapsulation:2});let i=e;return i})(),K_=class{constructor(e,t){this.overlayRef=e,this.config=t,this.closed=new me,this.disableClose=t.disableClose,this.backdropClick=e.backdropClick(),this.keydownEvents=e.keydownEvents(),this.outsidePointerEvents=e.outsidePointerEvents(),this.id=t.id,this.keydownEvents.subscribe(n=>{n.keyCode===27&&!this.disableClose&&!gi(n)&&(n.preventDefault(),this.close(void 0,{focusOrigin:"keyboard"}))}),this.backdropClick.subscribe(()=>{this.disableClose||this.close(void 0,{focusOrigin:"mouse"})}),this._detachSubscription=e.detachments().subscribe(()=>{t.closeOnOverlayDetachments!==!1&&this.close()})}close(e,t){if(this.containerInstance){let n=this.closed;this.containerInstance._closeInteractionType=t?.focusOrigin||"program",this._detachSubscription.unsubscribe(),this.overlayRef.dispose(),n.next(e),n.complete(),this.componentInstance=this.containerInstance=null}}updatePosition(){return this.overlayRef.updatePosition(),this}updateSize(e="",t=""){return this.overlayRef.updateSize({width:e,height:t}),this}addPanelClass(e){return this.overlayRef.addPanelClass(e),this}removePanelClass(e){return this.overlayRef.removePanelClass(e),this}},r_e=new ge("DialogScrollStrategy",{providedIn:"root",factory:()=>{let i=te(Gt);return()=>i.scrollStrategies.block()}}),o_e=new ge("DialogData"),s_e=new ge("DefaultDialogConfig");var a_e=0,UO=(()=>{let e=class e{get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}constructor(n,r,o,s,a,l){this._overlay=n,this._injector=r,this._defaultOptions=o,this._parentDialog=s,this._overlayContainer=a,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new me,this._afterOpenedAtThisLevel=new me,this._ariaHiddenElements=new Map,this.afterAllClosed=Io(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(fi(void 0))),this._scrollStrategy=l}open(n,r){let o=this._defaultOptions||new Cu;r=Z(Z({},o),r),r.id=r.id||`cdk-dialog-${a_e++}`,r.id&&this.getDialogById(r.id);let s=this._getOverlayConfig(r),a=this._overlay.create(s),l=new K_(a,r),c=this._attachContainer(a,l,r);return l.containerInstance=c,this._attachDialogContent(n,l,c,r),this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(l),l.closed.subscribe(()=>this._removeOpenDialog(l,!0)),this.afterOpened.next(l),l}closeAll(){VO(this.openDialogs,n=>n.close())}getDialogById(n){return this.openDialogs.find(r=>r.id===n)}ngOnDestroy(){VO(this._openDialogsAtThisLevel,n=>{n.config.closeOnDestroy===!1&&this._removeOpenDialog(n,!1)}),VO(this._openDialogsAtThisLevel,n=>n.close()),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete(),this._openDialogsAtThisLevel=[]}_getOverlayConfig(n){let r=new hi({positionStrategy:n.positionStrategy||this._overlay.position().global().centerHorizontally().centerVertically(),scrollStrategy:n.scrollStrategy||this._scrollStrategy(),panelClass:n.panelClass,hasBackdrop:n.hasBackdrop,direction:n.direction,minWidth:n.minWidth,minHeight:n.minHeight,maxWidth:n.maxWidth,maxHeight:n.maxHeight,width:n.width,height:n.height,disposeOnNavigation:n.closeOnNavigation});return n.backdropClass&&(r.backdropClass=n.backdropClass),r}_attachContainer(n,r,o){let s=o.injector||o.viewContainerRef?.injector,a=[{provide:Cu,useValue:o},{provide:K_,useValue:r},{provide:al,useValue:n}],l;o.container?typeof o.container=="function"?l=o.container:(l=o.container.type,a.push(...o.container.providers(o))):l=zO;let c=new Pi(l,o.viewContainerRef,xt.create({parent:s||this._injector,providers:a}),o.componentFactoryResolver);return n.attach(c).instance}_attachDialogContent(n,r,o,s){if(n instanceof Hn){let a=this._createInjector(s,r,o,void 0),l={$implicit:s.data,dialogRef:r};s.templateContext&&(l=Z(Z({},l),typeof s.templateContext=="function"?s.templateContext():s.templateContext)),o.attachTemplatePortal(new Wr(n,null,l,a))}else{let a=this._createInjector(s,r,o,this._injector),l=o.attachComponentPortal(new Pi(n,s.viewContainerRef,a,s.componentFactoryResolver));r.componentRef=l,r.componentInstance=l.instance}}_createInjector(n,r,o,s){let a=n.injector||n.viewContainerRef?.injector,l=[{provide:o_e,useValue:n.data},{provide:K_,useValue:r}];return n.providers&&(typeof n.providers=="function"?l.push(...n.providers(r,n,o)):l.push(...n.providers)),n.direction&&(!a||!a.get(li,null,{optional:!0}))&&l.push({provide:li,useValue:{value:n.direction,change:Ke()}}),xt.create({parent:a||s,providers:l})}_removeOpenDialog(n,r){let o=this.openDialogs.indexOf(n);o>-1&&(this.openDialogs.splice(o,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((s,a)=>{s?a.setAttribute("aria-hidden",s):a.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),r&&this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){let n=this._overlayContainer.getContainerElement();if(n.parentElement){let r=n.parentElement.children;for(let o=r.length-1;o>-1;o--){let s=r[o];s!==n&&s.nodeName!=="SCRIPT"&&s.nodeName!=="STYLE"&&!s.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(s,s.getAttribute("aria-hidden")),s.setAttribute("aria-hidden","true"))}}}_getAfterAllClosed(){let n=this._parentDialog;return n?n._getAfterAllClosed():this._afterAllClosedAtThisLevel}};e.\u0275fac=function(r){return new(r||e)(X(Gt),X(xt),X(s_e,8),X(e,12),X(tf),X(r_e))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();function VO(i,e){let t=i.length;for(;t--;)e(i[t])}var kj=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=ot({type:e}),e.\u0275inj=rt({providers:[UO],imports:[eo,Ms,Iy,Ms]});let i=e;return i})();function l_e(i,e){}var J_=class{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.ariaModal=!0,this.autoFocus="first-tabbable",this.restoreFocus=!0,this.delayFocusTrap=!0,this.closeOnNavigation=!0}},HO="mdc-dialog--open",Lj="mdc-dialog--opening",Fj="mdc-dialog--closing",c_e=150,d_e=75,u_e=(()=>{let e=class e extends zO{constructor(n,r,o,s,a,l,c,d,u){super(n,r,o,s,a,l,c,u),this._animationMode=d,this._animationStateChanged=new Ie,this._animationsEnabled=this._animationMode!=="NoopAnimations",this._actionSectionCount=0,this._hostElement=this._elementRef.nativeElement,this._enterAnimationDuration=this._animationsEnabled?Vj(this._config.enterAnimationDuration)??c_e:0,this._exitAnimationDuration=this._animationsEnabled?Vj(this._config.exitAnimationDuration)??d_e:0,this._animationTimer=null,this._finishDialogOpen=()=>{this._clearAnimationClasses(),this._openAnimationDone(this._enterAnimationDuration)},this._finishDialogClose=()=>{this._clearAnimationClasses(),this._animationStateChanged.emit({state:"closed",totalTime:this._exitAnimationDuration})}}_contentAttached(){super._contentAttached(),this._startOpenAnimation()}_startOpenAnimation(){this._animationStateChanged.emit({state:"opening",totalTime:this._enterAnimationDuration}),this._animationsEnabled?(this._hostElement.style.setProperty(Bj,`${this._enterAnimationDuration}ms`),this._requestAnimationFrame(()=>this._hostElement.classList.add(Lj,HO)),this._waitForAnimationToComplete(this._enterAnimationDuration,this._finishDialogOpen)):(this._hostElement.classList.add(HO),Promise.resolve().then(()=>this._finishDialogOpen()))}_startExitAnimation(){this._animationStateChanged.emit({state:"closing",totalTime:this._exitAnimationDuration}),this._hostElement.classList.remove(HO),this._animationsEnabled?(this._hostElement.style.setProperty(Bj,`${this._exitAnimationDuration}ms`),this._requestAnimationFrame(()=>this._hostElement.classList.add(Fj)),this._waitForAnimationToComplete(this._exitAnimationDuration,this._finishDialogClose)):Promise.resolve().then(()=>this._finishDialogClose())}_updateActionSectionCount(n){this._actionSectionCount+=n,this._changeDetectorRef.markForCheck()}_clearAnimationClasses(){this._hostElement.classList.remove(Lj,Fj)}_waitForAnimationToComplete(n,r){this._animationTimer!==null&&clearTimeout(this._animationTimer),this._animationTimer=setTimeout(r,n)}_requestAnimationFrame(n){this._ngZone.runOutsideAngular(()=>{typeof requestAnimationFrame=="function"?requestAnimationFrame(n):n()})}_captureInitialFocus(){this._config.delayFocusTrap||this._trapFocus()}_openAnimationDone(n){this._config.delayFocusTrap&&this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:n})}ngOnDestroy(){super.ngOnDestroy(),this._animationTimer!==null&&clearTimeout(this._animationTimer)}attachComponentPortal(n){let r=super.attachComponentPortal(n);return r.location.nativeElement.classList.add("mat-mdc-dialog-component-host"),r}};e.\u0275fac=function(r){return new(r||e)(M(Re),M(My),M(Ye,8),M(J_),M(Nh),M(Le),M(al),M(Zn,8),M(fo))},e.\u0275cmp=le({type:e,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1",1,"mat-mdc-dialog-container","mdc-dialog"],hostVars:10,hostBindings:function(r,o){r&2&&(No("id",o._config.id),Ze("aria-modal",o._config.ariaModal)("role",o._config.role)("aria-labelledby",o._config.ariaLabel?null:o._ariaLabelledByQueue[0])("aria-label",o._config.ariaLabel)("aria-describedby",o._config.ariaDescribedBy||null),se("_mat-animation-noopable",!o._animationsEnabled)("mat-mdc-dialog-container-with-actions",o._actionSectionCount>0))},standalone:!0,features:[nn,ce],decls:3,vars:0,consts:[[1,"mat-mdc-dialog-inner-container","mdc-dialog__container"],[1,"mat-mdc-dialog-surface","mdc-dialog__surface"],["cdkPortalOutlet",""]],template:function(r,o){r&1&&(v(0,"div",0)(1,"div",1),W(2,l_e,0,0,"ng-template",2),b()())},dependencies:[Qo],styles:['.mat-mdc-dialog-container{width:100%;height:100%;display:block;box-sizing:border-box;max-height:inherit;min-height:inherit;min-width:inherit;max-width:inherit;outline:0}.cdk-overlay-pane.mat-mdc-dialog-panel{max-width:var(--mat-dialog-container-max-width, 80vw);min-width:var(--mat-dialog-container-min-width, 0)}@media(max-width: 599px){.cdk-overlay-pane.mat-mdc-dialog-panel{max-width:var(--mat-dialog-container-small-max-width, 80vw)}}.mat-mdc-dialog-inner-container{display:flex;flex-direction:row;align-items:center;justify-content:space-around;box-sizing:border-box;height:100%;opacity:0;transition:opacity linear var(--mat-dialog-transition-duration, 0ms);max-height:inherit;min-height:inherit;min-width:inherit;max-width:inherit}.mdc-dialog--closing .mat-mdc-dialog-inner-container{transition:opacity 75ms linear;transform:none}.mdc-dialog--open .mat-mdc-dialog-inner-container{opacity:1}._mat-animation-noopable .mat-mdc-dialog-inner-container{transition:none}.mat-mdc-dialog-surface{display:flex;flex-direction:column;flex-grow:0;flex-shrink:0;box-sizing:border-box;width:100%;height:100%;position:relative;overflow-y:auto;outline:0;transform:scale(0.8);transition:transform var(--mat-dialog-transition-duration, 0ms) cubic-bezier(0, 0, 0.2, 1);max-height:inherit;min-height:inherit;min-width:inherit;max-width:inherit;box-shadow:var(--mat-dialog-container-elevation-shadow, 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12));border-radius:var(--mdc-dialog-container-shape, 4px);background-color:var(--mdc-dialog-container-color, white)}[dir=rtl] .mat-mdc-dialog-surface{text-align:right}.mdc-dialog--open .mat-mdc-dialog-surface,.mdc-dialog--closing .mat-mdc-dialog-surface{transform:none}._mat-animation-noopable .mat-mdc-dialog-surface{transition:none}.mat-mdc-dialog-surface::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:2px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}.mat-mdc-dialog-title{display:block;position:relative;flex-shrink:0;box-sizing:border-box;margin:0 0 1px;padding:var(--mat-dialog-headline-padding, 0 24px 9px)}.mat-mdc-dialog-title::before{display:inline-block;width:0;height:40px;content:"";vertical-align:0}[dir=rtl] .mat-mdc-dialog-title{text-align:right}.mat-mdc-dialog-container .mat-mdc-dialog-title{color:var(--mdc-dialog-subhead-color, rgba(0, 0, 0, 0.87));font-family:var(--mdc-dialog-subhead-font, Roboto, sans-serif);line-height:var(--mdc-dialog-subhead-line-height, 1.5rem);font-size:var(--mdc-dialog-subhead-size, 1rem);font-weight:var(--mdc-dialog-subhead-weight, 400);letter-spacing:var(--mdc-dialog-subhead-tracking, 0.03125em)}.mat-mdc-dialog-content{display:block;flex-grow:1;box-sizing:border-box;margin:0;overflow:auto;max-height:65vh}.mat-mdc-dialog-content>:first-child{margin-top:0}.mat-mdc-dialog-content>:last-child{margin-bottom:0}.mat-mdc-dialog-container .mat-mdc-dialog-content{color:var(--mdc-dialog-supporting-text-color, rgba(0, 0, 0, 0.6));font-family:var(--mdc-dialog-supporting-text-font, Roboto, sans-serif);line-height:var(--mdc-dialog-supporting-text-line-height, 1.5rem);font-size:var(--mdc-dialog-supporting-text-size, 1rem);font-weight:var(--mdc-dialog-supporting-text-weight, 400);letter-spacing:var(--mdc-dialog-supporting-text-tracking, 0.03125em)}.mat-mdc-dialog-container .mat-mdc-dialog-content{padding:var(--mat-dialog-content-padding, 20px 24px)}.mat-mdc-dialog-container-with-actions .mat-mdc-dialog-content{padding:var(--mat-dialog-with-actions-content-padding, 20px 24px)}.mat-mdc-dialog-container .mat-mdc-dialog-title+.mat-mdc-dialog-content{padding-top:0}.mat-mdc-dialog-actions{display:flex;position:relative;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;box-sizing:border-box;min-height:52px;margin:0;padding:8px;border-top:1px solid rgba(0,0,0,0);padding:var(--mat-dialog-actions-padding, 8px);justify-content:var(--mat-dialog-actions-alignment, start)}.cdk-high-contrast-active .mat-mdc-dialog-actions{border-top-color:CanvasText}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-start,.mat-mdc-dialog-actions[align=start]{justify-content:start}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-center,.mat-mdc-dialog-actions[align=center]{justify-content:center}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-end,.mat-mdc-dialog-actions[align=end]{justify-content:flex-end}.mat-mdc-dialog-actions .mat-button-base+.mat-button-base,.mat-mdc-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-mdc-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-mdc-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}.mat-mdc-dialog-component-host{display:contents}'],encapsulation:2});let i=e;return i})(),Bj="--mat-dialog-transition-duration";function Vj(i){return i==null?null:typeof i=="number"?i:i.endsWith("ms")?Xs(i.substring(0,i.length-2)):i.endsWith("s")?Xs(i.substring(0,i.length-1))*1e3:i==="0"?0:null}var YC=function(i){return i[i.OPEN=0]="OPEN",i[i.CLOSING=1]="CLOSING",i[i.CLOSED=2]="CLOSED",i}(YC||{}),ev=class{constructor(e,t,n){this._ref=e,this._containerInstance=n,this._afterOpened=new me,this._beforeClosed=new me,this._state=YC.OPEN,this.disableClose=t.disableClose,this.id=e.id,e.addPanelClass("mat-mdc-dialog-panel"),n._animationStateChanged.pipe(jt(r=>r.state==="opened"),_n(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),n._animationStateChanged.pipe(jt(r=>r.state==="closed"),_n(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),e.overlayRef.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._finishDialogClose()}),Yn(this.backdropClick(),this.keydownEvents().pipe(jt(r=>r.keyCode===27&&!this.disableClose&&!gi(r)))).subscribe(r=>{this.disableClose||(r.preventDefault(),zj(this,r.type==="keydown"?"keyboard":"mouse"))})}close(e){this._result=e,this._containerInstance._animationStateChanged.pipe(jt(t=>t.state==="closing"),_n(1)).subscribe(t=>{this._beforeClosed.next(e),this._beforeClosed.complete(),this._ref.overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),t.totalTime+100)}),this._state=YC.CLOSING,this._containerInstance._startExitAnimation()}afterOpened(){return this._afterOpened}afterClosed(){return this._ref.closed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._ref.backdropClick}keydownEvents(){return this._ref.keydownEvents}updatePosition(e){let t=this._ref.config.positionStrategy;return e&&(e.left||e.right)?e.left?t.left(e.left):t.right(e.right):t.centerHorizontally(),e&&(e.top||e.bottom)?e.top?t.top(e.top):t.bottom(e.bottom):t.centerVertically(),this._ref.updatePosition(),this}updateSize(e="",t=""){return this._ref.updateSize(e,t),this}addPanelClass(e){return this._ref.addPanelClass(e),this}removePanelClass(e){return this._ref.removePanelClass(e),this}getState(){return this._state}_finishDialogClose(){this._state=YC.CLOSED,this._ref.close(this._result,{focusOrigin:this._closeInteractionType}),this.componentInstance=null}};function zj(i,e,t){return i._closeInteractionType=e,i.close(t)}var h_e=new ge("MatMdcDialogData"),p_e=new ge("mat-mdc-dialog-default-options"),f_e=new ge("mat-mdc-dialog-scroll-strategy",{providedIn:"root",factory:()=>{let i=te(Gt);return()=>i.scrollStrategies.block()}});var m_e=0,Su=(()=>{let e=class e{get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){let n=this._parentDialog;return n?n._getAfterAllClosed():this._afterAllClosedAtThisLevel}constructor(n,r,o,s,a,l,c,d){this._overlay=n,this._defaultOptions=s,this._scrollStrategy=a,this._parentDialog=l,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new me,this._afterOpenedAtThisLevel=new me,this.dialogConfigClass=J_,this.afterAllClosed=Io(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(fi(void 0))),this._dialog=r.get(UO),this._dialogRefConstructor=ev,this._dialogContainerType=u_e,this._dialogDataToken=h_e}open(n,r){let o;r=Z(Z({},this._defaultOptions||new J_),r),r.id=r.id||`mat-mdc-dialog-${m_e++}`,r.scrollStrategy=r.scrollStrategy||this._scrollStrategy();let s=this._dialog.open(n,wt(Z({},r),{positionStrategy:this._overlay.position().global().centerHorizontally().centerVertically(),disableClose:!0,closeOnDestroy:!1,closeOnOverlayDetachments:!1,container:{type:this._dialogContainerType,providers:()=>[{provide:this.dialogConfigClass,useValue:r},{provide:Cu,useValue:r}]},templateContext:()=>({dialogRef:o}),providers:(a,l,c)=>(o=new this._dialogRefConstructor(a,r,c),o.updatePosition(r?.position),[{provide:this._dialogContainerType,useValue:c},{provide:this._dialogDataToken,useValue:l.data},{provide:this._dialogRefConstructor,useValue:o}])}));return o.componentRef=s.componentRef,o.componentInstance=s.componentInstance,this.openDialogs.push(o),this.afterOpened.next(o),o.afterClosed().subscribe(()=>{let a=this.openDialogs.indexOf(o);a>-1&&(this.openDialogs.splice(a,1),this.openDialogs.length||this._getAfterAllClosed().next())}),o}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(n){return this.openDialogs.find(r=>r.id===n)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_closeDialogs(n){let r=n.length;for(;r--;)n[r].close()}};e.\u0275fac=function(r){return new(r||e)(X(Gt),X(xt),X(Pa,8),X(p_e,8),X(f_e),X(e,12),X(tf),X(Zn,8))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})(),g_e=0,cf=(()=>{let e=class e{constructor(n,r,o){this.dialogRef=n,this._elementRef=r,this._dialog=o,this.type="button"}ngOnInit(){this.dialogRef||(this.dialogRef=Hj(this._elementRef,this._dialog.openDialogs))}ngOnChanges(n){let r=n._matDialogClose||n._matDialogCloseResult;r&&(this.dialogResult=r.currentValue)}_onButtonClick(n){zj(this.dialogRef,n.screenX===0&&n.screenY===0?"keyboard":"mouse",this.dialogResult)}};e.\u0275fac=function(r){return new(r||e)(M(ev,8),M(Re),M(Su))},e.\u0275dir=ze({type:e,selectors:[["","mat-dialog-close",""],["","matDialogClose",""]],hostVars:2,hostBindings:function(r,o){r&1&&H("click",function(a){return o._onButtonClick(a)}),r&2&&Ze("aria-label",o.ariaLabel||null)("type",o.type)},inputs:{ariaLabel:[0,"aria-label","ariaLabel"],type:"type",dialogResult:[0,"mat-dialog-close","dialogResult"],_matDialogClose:[0,"matDialogClose","_matDialogClose"]},exportAs:["matDialogClose"],standalone:!0,features:[dn]});let i=e;return i})(),Uj=(()=>{let e=class e{constructor(n,r,o){this._dialogRef=n,this._elementRef=r,this._dialog=o}ngOnInit(){this._dialogRef||(this._dialogRef=Hj(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(()=>{this._onAdd()})}ngOnDestroy(){this._dialogRef?._containerInstance&&Promise.resolve().then(()=>{this._onRemove()})}};e.\u0275fac=function(r){return new(r||e)(M(ev,8),M(Re),M(Su))},e.\u0275dir=ze({type:e,standalone:!0});let i=e;return i})(),df=(()=>{let e=class e extends Uj{constructor(){super(...arguments),this.id=`mat-mdc-dialog-title-${g_e++}`}_onAdd(){this._dialogRef._containerInstance?._addAriaLabelledBy?.(this.id)}_onRemove(){this._dialogRef?._containerInstance?._removeAriaLabelledBy?.(this.id)}};e.\u0275fac=(()=>{let n;return function(o){return(n||(n=Ai(e)))(o||e)}})(),e.\u0275dir=ze({type:e,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-mdc-dialog-title","mdc-dialog__title"],hostVars:1,hostBindings:function(r,o){r&2&&No("id",o.id)},inputs:{id:"id"},exportAs:["matDialogTitle"],standalone:!0,features:[nn]});let i=e;return i})(),uf=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275dir=ze({type:e,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-mdc-dialog-content","mdc-dialog__content"],standalone:!0,features:[S2([aO])]});let i=e;return i})(),hf=(()=>{let e=class e extends Uj{_onAdd(){this._dialogRef._containerInstance?._updateActionSectionCount?.(1)}_onRemove(){this._dialogRef._containerInstance?._updateActionSectionCount?.(-1)}};e.\u0275fac=(()=>{let n;return function(o){return(n||(n=Ai(e)))(o||e)}})(),e.\u0275dir=ze({type:e,selectors:[["","mat-dialog-actions",""],["mat-dialog-actions"],["","matDialogActions",""]],hostAttrs:[1,"mat-mdc-dialog-actions","mdc-dialog__actions"],hostVars:6,hostBindings:function(r,o){r&2&&se("mat-mdc-dialog-actions-align-start",o.align==="start")("mat-mdc-dialog-actions-align-center",o.align==="center")("mat-mdc-dialog-actions-align-end",o.align==="end")},inputs:{align:"align"},standalone:!0,features:[nn]});let i=e;return i})();function Hj(i,e){let t=i.nativeElement.parentElement;for(;t&&!t.classList.contains("mat-mdc-dialog-container");)t=t.parentElement;return t?e.find(n=>n.id===t.id):null}var ma=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=ot({type:e}),e.\u0275inj=rt({providers:[Su],imports:[kj,eo,Ms,qt,qt]});let i=e;return i})();function i5(i){let e=i.cloneNode(!0),t=e.querySelectorAll("[id]"),n=i.nodeName.toLowerCase();e.removeAttribute("id");for(let r=0;r=n&&t<=r&&e>=o&&e<=s}function iv(i,e,t){i.top+=e,i.bottom=i.top+i.height,i.left+=t,i.right=i.left+i.width}function $j(i,e,t,n){let{top:r,right:o,bottom:s,left:a,width:l,height:c}=i,d=l*e,u=c*e;return n>r-u&&na-d&&t{this.positions.set(t,{scrollPosition:{top:t.scrollTop,left:t.scrollLeft},clientRect:ZO(t)})})}handleScroll(e){let t=Mi(e),n=this.positions.get(t);if(!n)return null;let r=n.scrollPosition,o,s;if(t===this._document){let c=this.getViewportScrollPosition();o=c.top,s=c.left}else o=t.scrollTop,s=t.scrollLeft;let a=r.top-o,l=r.left-s;return this.positions.forEach((c,d)=>{c.clientRect&&t!==d&&t.contains(d)&&iv(c.clientRect,a,l)}),r.top=o,r.left=s,{top:a,left:l}}getViewportScrollPosition(){return{top:window.scrollY,left:window.scrollX}}};function r5(i,e){let t=i.rootNodes;if(t.length===1&&t[0].nodeType===e.ELEMENT_NODE)return t[0];let n=e.createElement("div");return t.forEach(r=>n.appendChild(r)),n}function QO(i,e,t){for(let n in e)if(e.hasOwnProperty(n)){let r=e[n];r?i.setProperty(n,r,t?.has(n)?"important":""):i.removeProperty(n)}return i}function pf(i,e){let t=e?"":"none";QO(i.style,{"touch-action":e?"":"none","-webkit-user-drag":e?"":"none","-webkit-tap-highlight-color":e?"":"transparent","user-select":t,"-ms-user-select":t,"-webkit-user-select":t,"-moz-user-select":t})}function qj(i,e,t){QO(i.style,{position:e?"":"fixed",top:e?"":"0",opacity:e?"":"0",left:e?"":"-999em"},t)}function JC(i,e){return e&&e!="none"?i+" "+e:i}function Yj(i,e){i.style.width=`${e.width}px`,i.style.height=`${e.height}px`,i.style.transform=eS(e.left,e.top)}function eS(i,e){return`translate3d(${Math.round(i)}px, ${Math.round(e)}px, 0)`}function Xj(i){let e=i.toLowerCase().indexOf("ms")>-1?1:1e3;return parseFloat(i)*e}function v_e(i){let e=getComputedStyle(i),t=GO(e,"transition-property"),n=t.find(a=>a==="transform"||a==="all");if(!n)return 0;let r=t.indexOf(n),o=GO(e,"transition-duration"),s=GO(e,"transition-delay");return Xj(o[r])+Xj(s[r])}function GO(i,e){return i.getPropertyValue(e).split(",").map(n=>n.trim())}var b_e=new Set(["position"]),WO=class{get element(){return this._preview}constructor(e,t,n,r,o,s,a,l,c){this._document=e,this._rootElement=t,this._direction=n,this._initialDomRect=r,this._previewTemplate=o,this._previewClass=s,this._pickupPositionOnPage=a,this._initialTransform=l,this._zIndex=c}attach(e){this._preview=this._createPreview(),e.appendChild(this._preview),"showPopover"in this._preview&&this._preview.showPopover()}destroy(){this._preview.remove(),this._previewEmbeddedView?.destroy(),this._preview=this._previewEmbeddedView=null}setTransform(e){this._preview.style.transform=e}getBoundingClientRect(){return this._preview.getBoundingClientRect()}addClass(e){this._preview.classList.add(e)}getTransitionDuration(){return v_e(this._preview)}addEventListener(e,t){this._preview.addEventListener(e,t)}removeEventListener(e,t){this._preview.removeEventListener(e,t)}_createPreview(){let e=this._previewTemplate,t=this._previewClass,n=e?e.template:null,r;if(n&&e){let o=e.matchSize?this._initialDomRect:null,s=e.viewContainer.createEmbeddedView(n,e.context);s.detectChanges(),r=r5(s,this._document),this._previewEmbeddedView=s,e.matchSize?Yj(r,o):r.style.transform=eS(this._pickupPositionOnPage.x,this._pickupPositionOnPage.y)}else r=i5(this._rootElement),Yj(r,this._initialDomRect),this._initialTransform&&(r.style.transform=this._initialTransform);return QO(r.style,{"pointer-events":"none",margin:"0",position:"fixed",top:"0",left:"0","z-index":this._zIndex+""},b_e),pf(r,!1),r.classList.add("cdk-drag-preview"),r.setAttribute("popover","manual"),r.setAttribute("dir",this._direction),t&&(Array.isArray(t)?t.forEach(o=>r.classList.add(o)):r.classList.add(t)),r}},Zj=Br({passive:!0}),XC=Br({passive:!1}),Qj=Br({passive:!1,capture:!0}),y_e=800,Kj=new Set(["position"]),$O=class{get disabled(){return this._disabled||!!(this._dropContainer&&this._dropContainer.disabled)}set disabled(e){e!==this._disabled&&(this._disabled=e,this._toggleNativeDragInteractions(),this._handles.forEach(t=>pf(t,e)))}constructor(e,t,n,r,o,s){this._config=t,this._document=n,this._ngZone=r,this._viewportRuler=o,this._dragDropRegistry=s,this._passiveTransform={x:0,y:0},this._activeTransform={x:0,y:0},this._hasStartedDragging=ut(!1),this._moveEvents=new me,this._pointerMoveSubscription=Ct.EMPTY,this._pointerUpSubscription=Ct.EMPTY,this._scrollSubscription=Ct.EMPTY,this._resizeSubscription=Ct.EMPTY,this._boundaryElement=null,this._nativeInteractionsEnabled=!0,this._handles=[],this._disabledHandles=new Set,this._direction="ltr",this.dragStartDelay=0,this._disabled=!1,this.beforeStarted=new me,this.started=new me,this.released=new me,this.ended=new me,this.entered=new me,this.exited=new me,this.dropped=new me,this.moved=this._moveEvents,this._pointerDown=a=>{if(this.beforeStarted.next(),this._handles.length){let l=this._getTargetHandle(a);l&&!this._disabledHandles.has(l)&&!this.disabled&&this._initializeDragSequence(l,a)}else this.disabled||this._initializeDragSequence(this._rootElement,a)},this._pointerMove=a=>{let l=this._getPointerPositionOnPage(a);if(!this._hasStartedDragging()){let d=Math.abs(l.x-this._pickupPositionOnPage.x),u=Math.abs(l.y-this._pickupPositionOnPage.y);if(d+u>=this._config.dragStartThreshold){let p=Date.now()>=this._dragStartTime+this._getDragStartDelay(a),f=this._dropContainer;if(!p){this._endDragSequence(a);return}(!f||!f.isDragging()&&!f.isReceiving())&&(a.cancelable&&a.preventDefault(),this._hasStartedDragging.set(!0),this._ngZone.run(()=>this._startDragSequence(a)))}return}a.cancelable&&a.preventDefault();let c=this._getConstrainedPointerPosition(l);if(this._hasMoved=!0,this._lastKnownPointerPosition=l,this._updatePointerDirectionDelta(c),this._dropContainer)this._updateActiveDropContainer(c,l);else{let d=this.constrainPosition?this._initialDomRect:this._pickupPositionOnPage,u=this._activeTransform;u.x=c.x-d.x+this._passiveTransform.x,u.y=c.y-d.y+this._passiveTransform.y,this._applyRootElementTransform(u.x,u.y)}this._moveEvents.observers.length&&this._ngZone.run(()=>{this._moveEvents.next({source:this,pointerPosition:c,event:a,distance:this._getDragDistance(c),delta:this._pointerDirectionDelta})})},this._pointerUp=a=>{this._endDragSequence(a)},this._nativeDragStart=a=>{if(this._handles.length){let l=this._getTargetHandle(a);l&&!this._disabledHandles.has(l)&&!this.disabled&&a.preventDefault()}else this.disabled||a.preventDefault()},this.withRootElement(e).withParent(t.parentDragRef||null),this._parentPositions=new KC(n),s.registerDragItem(this)}getPlaceholderElement(){return this._placeholder}getRootElement(){return this._rootElement}getVisibleElement(){return this.isDragging()?this.getPlaceholderElement():this.getRootElement()}withHandles(e){this._handles=e.map(n=>er(n)),this._handles.forEach(n=>pf(n,this.disabled)),this._toggleNativeDragInteractions();let t=new Set;return this._disabledHandles.forEach(n=>{this._handles.indexOf(n)>-1&&t.add(n)}),this._disabledHandles=t,this}withPreviewTemplate(e){return this._previewTemplate=e,this}withPlaceholderTemplate(e){return this._placeholderTemplate=e,this}withRootElement(e){let t=er(e);return t!==this._rootElement&&(this._rootElement&&this._removeRootElementListeners(this._rootElement),this._ngZone.runOutsideAngular(()=>{t.addEventListener("mousedown",this._pointerDown,XC),t.addEventListener("touchstart",this._pointerDown,Zj),t.addEventListener("dragstart",this._nativeDragStart,XC)}),this._initialTransform=void 0,this._rootElement=t),typeof SVGElement<"u"&&this._rootElement instanceof SVGElement&&(this._ownerSVGElement=this._rootElement.ownerSVGElement),this}withBoundaryElement(e){return this._boundaryElement=e?er(e):null,this._resizeSubscription.unsubscribe(),e&&(this._resizeSubscription=this._viewportRuler.change(10).subscribe(()=>this._containInsideBoundaryOnResize())),this}withParent(e){return this._parentDragRef=e,this}dispose(){this._removeRootElementListeners(this._rootElement),this.isDragging()&&this._rootElement?.remove(),this._anchor?.remove(),this._destroyPreview(),this._destroyPlaceholder(),this._dragDropRegistry.removeDragItem(this),this._removeListeners(),this.beforeStarted.complete(),this.started.complete(),this.released.complete(),this.ended.complete(),this.entered.complete(),this.exited.complete(),this.dropped.complete(),this._moveEvents.complete(),this._handles=[],this._disabledHandles.clear(),this._dropContainer=void 0,this._resizeSubscription.unsubscribe(),this._parentPositions.clear(),this._boundaryElement=this._rootElement=this._ownerSVGElement=this._placeholderTemplate=this._previewTemplate=this._anchor=this._parentDragRef=null}isDragging(){return this._hasStartedDragging()&&this._dragDropRegistry.isDragging(this)}reset(){this._rootElement.style.transform=this._initialTransform||"",this._activeTransform={x:0,y:0},this._passiveTransform={x:0,y:0}}disableHandle(e){!this._disabledHandles.has(e)&&this._handles.indexOf(e)>-1&&(this._disabledHandles.add(e),pf(e,!0))}enableHandle(e){this._disabledHandles.has(e)&&(this._disabledHandles.delete(e),pf(e,this.disabled))}withDirection(e){return this._direction=e,this}_withDropContainer(e){this._dropContainer=e}getFreeDragPosition(){let e=this.isDragging()?this._activeTransform:this._passiveTransform;return{x:e.x,y:e.y}}setFreeDragPosition(e){return this._activeTransform={x:0,y:0},this._passiveTransform.x=e.x,this._passiveTransform.y=e.y,this._dropContainer||this._applyRootElementTransform(e.x,e.y),this}withPreviewContainer(e){return this._previewContainer=e,this}_sortFromLastPointerPosition(){let e=this._lastKnownPointerPosition;e&&this._dropContainer&&this._updateActiveDropContainer(this._getConstrainedPointerPosition(e),e)}_removeListeners(){this._pointerMoveSubscription.unsubscribe(),this._pointerUpSubscription.unsubscribe(),this._scrollSubscription.unsubscribe(),this._getShadowRoot()?.removeEventListener("selectstart",e5,Qj)}_destroyPreview(){this._preview?.destroy(),this._preview=null}_destroyPlaceholder(){this._placeholder?.remove(),this._placeholderRef?.destroy(),this._placeholder=this._placeholderRef=null}_endDragSequence(e){if(this._dragDropRegistry.isDragging(this)&&(this._removeListeners(),this._dragDropRegistry.stopDragging(this),this._toggleNativeDragInteractions(),this._handles&&(this._rootElement.style.webkitTapHighlightColor=this._rootElementTapHighlight),!!this._hasStartedDragging()))if(this.released.next({source:this,event:e}),this._dropContainer)this._dropContainer._stopScrolling(),this._animatePreviewToPlaceholder().then(()=>{this._cleanupDragArtifacts(e),this._cleanupCachedDimensions(),this._dragDropRegistry.stopDragging(this)});else{this._passiveTransform.x=this._activeTransform.x;let t=this._getPointerPositionOnPage(e);this._passiveTransform.y=this._activeTransform.y,this._ngZone.run(()=>{this.ended.next({source:this,distance:this._getDragDistance(t),dropPoint:t,event:e})}),this._cleanupCachedDimensions(),this._dragDropRegistry.stopDragging(this)}}_startDragSequence(e){nv(e)&&(this._lastTouchEventTime=Date.now()),this._toggleNativeDragInteractions();let t=this._getShadowRoot(),n=this._dropContainer;if(t&&this._ngZone.runOutsideAngular(()=>{t.addEventListener("selectstart",e5,Qj)}),n){let r=this._rootElement,o=r.parentNode,s=this._placeholder=this._createPlaceholderElement(),a=this._anchor=this._anchor||this._document.createComment("");o.insertBefore(a,r),this._initialTransform=r.style.transform||"",this._preview=new WO(this._document,this._rootElement,this._direction,this._initialDomRect,this._previewTemplate||null,this.previewClass||null,this._pickupPositionOnPage,this._initialTransform,this._config.zIndex||1e3),this._preview.attach(this._getPreviewInsertionPoint(o,t)),qj(r,!1,Kj),this._document.body.appendChild(o.replaceChild(s,r)),this.started.next({source:this,event:e}),n.start(),this._initialContainer=n,this._initialIndex=n.getItemIndex(this)}else this.started.next({source:this,event:e}),this._initialContainer=this._initialIndex=void 0;this._parentPositions.cache(n?n.getScrollableParents():[])}_initializeDragSequence(e,t){this._parentDragRef&&t.stopPropagation();let n=this.isDragging(),r=nv(t),o=!r&&t.button!==0,s=this._rootElement,a=Mi(t),l=!r&&this._lastTouchEventTime&&this._lastTouchEventTime+y_e>Date.now(),c=r?wd(t):xd(t);if(a&&a.draggable&&t.type==="mousedown"&&t.preventDefault(),n||o||l||c)return;if(this._handles.length){let h=s.style;this._rootElementTapHighlight=h.webkitTapHighlightColor||"",h.webkitTapHighlightColor="transparent"}this._hasMoved=!1,this._hasStartedDragging.set(this._hasMoved),this._removeListeners(),this._initialDomRect=this._rootElement.getBoundingClientRect(),this._pointerMoveSubscription=this._dragDropRegistry.pointerMove.subscribe(this._pointerMove),this._pointerUpSubscription=this._dragDropRegistry.pointerUp.subscribe(this._pointerUp),this._scrollSubscription=this._dragDropRegistry.scrolled(this._getShadowRoot()).subscribe(h=>this._updateOnScroll(h)),this._boundaryElement&&(this._boundaryRect=ZO(this._boundaryElement));let d=this._previewTemplate;this._pickupPositionInElement=d&&d.template&&!d.matchSize?{x:0,y:0}:this._getPointerPositionInElement(this._initialDomRect,e,t);let u=this._pickupPositionOnPage=this._lastKnownPointerPosition=this._getPointerPositionOnPage(t);this._pointerDirectionDelta={x:0,y:0},this._pointerPositionAtLastDirectionChange={x:u.x,y:u.y},this._dragStartTime=Date.now(),this._dragDropRegistry.startDragging(this,t)}_cleanupDragArtifacts(e){qj(this._rootElement,!0,Kj),this._anchor.parentNode.replaceChild(this._rootElement,this._anchor),this._destroyPreview(),this._destroyPlaceholder(),this._initialDomRect=this._boundaryRect=this._previewRect=this._initialTransform=void 0,this._ngZone.run(()=>{let t=this._dropContainer,n=t.getItemIndex(this),r=this._getPointerPositionOnPage(e),o=this._getDragDistance(r),s=t._isOverContainer(r.x,r.y);this.ended.next({source:this,distance:o,dropPoint:r,event:e}),this.dropped.next({item:this,currentIndex:n,previousIndex:this._initialIndex,container:t,previousContainer:this._initialContainer,isPointerOverContainer:s,distance:o,dropPoint:r,event:e}),t.drop(this,n,this._initialIndex,this._initialContainer,s,o,r,e),this._dropContainer=this._initialContainer})}_updateActiveDropContainer({x:e,y:t},{x:n,y:r}){let o=this._initialContainer._getSiblingContainerFromPosition(this,e,t);!o&&this._dropContainer!==this._initialContainer&&this._initialContainer._isOverContainer(e,t)&&(o=this._initialContainer),o&&o!==this._dropContainer&&this._ngZone.run(()=>{this.exited.next({item:this,container:this._dropContainer}),this._dropContainer.exit(this),this._dropContainer=o,this._dropContainer.enter(this,e,t,o===this._initialContainer&&o.sortingDisabled?this._initialIndex:void 0),this.entered.next({item:this,container:o,currentIndex:o.getItemIndex(this)})}),this.isDragging()&&(this._dropContainer._startScrollingIfNecessary(n,r),this._dropContainer._sortItem(this,e,t,this._pointerDirectionDelta),this.constrainPosition?this._applyPreviewTransform(e,t):this._applyPreviewTransform(e-this._pickupPositionInElement.x,t-this._pickupPositionInElement.y))}_animatePreviewToPlaceholder(){if(!this._hasMoved)return Promise.resolve();let e=this._placeholder.getBoundingClientRect();this._preview.addClass("cdk-drag-animating"),this._applyPreviewTransform(e.left,e.top);let t=this._preview.getTransitionDuration();return t===0?Promise.resolve():this._ngZone.runOutsideAngular(()=>new Promise(n=>{let r=s=>{(!s||this._preview&&Mi(s)===this._preview.element&&s.propertyName==="transform")&&(this._preview?.removeEventListener("transitionend",r),n(),clearTimeout(o))},o=setTimeout(r,t*1.5);this._preview.addEventListener("transitionend",r)}))}_createPlaceholderElement(){let e=this._placeholderTemplate,t=e?e.template:null,n;return t?(this._placeholderRef=e.viewContainer.createEmbeddedView(t,e.context),this._placeholderRef.detectChanges(),n=r5(this._placeholderRef,this._document)):n=i5(this._rootElement),n.style.pointerEvents="none",n.classList.add("cdk-drag-placeholder"),n}_getPointerPositionInElement(e,t,n){let r=t===this._rootElement?null:t,o=r?r.getBoundingClientRect():e,s=nv(n)?n.targetTouches[0]:n,a=this._getViewportScrollPosition(),l=s.pageX-o.left-a.left,c=s.pageY-o.top-a.top;return{x:o.left-e.left+l,y:o.top-e.top+c}}_getPointerPositionOnPage(e){let t=this._getViewportScrollPosition(),n=nv(e)?e.touches[0]||e.changedTouches[0]||{pageX:0,pageY:0}:e,r=n.pageX-t.left,o=n.pageY-t.top;if(this._ownerSVGElement){let s=this._ownerSVGElement.getScreenCTM();if(s){let a=this._ownerSVGElement.createSVGPoint();return a.x=r,a.y=o,a.matrixTransform(s.inverse())}}return{x:r,y:o}}_getConstrainedPointerPosition(e){let t=this._dropContainer?this._dropContainer.lockAxis:null,{x:n,y:r}=this.constrainPosition?this.constrainPosition(e,this,this._initialDomRect,this._pickupPositionInElement):e;if(this.lockAxis==="x"||t==="x"?r=this._pickupPositionOnPage.y-(this.constrainPosition?this._pickupPositionInElement.y:0):(this.lockAxis==="y"||t==="y")&&(n=this._pickupPositionOnPage.x-(this.constrainPosition?this._pickupPositionInElement.x:0)),this._boundaryRect){let{x:o,y:s}=this.constrainPosition?{x:0,y:0}:this._pickupPositionInElement,a=this._boundaryRect,{width:l,height:c}=this._getPreviewRect(),d=a.top+s,u=a.bottom-(c-s),h=a.left+o,p=a.right-(l-o);n=Jj(n,h,p),r=Jj(r,d,u)}return{x:n,y:r}}_updatePointerDirectionDelta(e){let{x:t,y:n}=e,r=this._pointerDirectionDelta,o=this._pointerPositionAtLastDirectionChange,s=Math.abs(t-o.x),a=Math.abs(n-o.y);return s>this._config.pointerDirectionChangeThreshold&&(r.x=t>o.x?1:-1,o.x=t),a>this._config.pointerDirectionChangeThreshold&&(r.y=n>o.y?1:-1,o.y=n),r}_toggleNativeDragInteractions(){if(!this._rootElement||!this._handles)return;let e=this._handles.length>0||!this.isDragging();e!==this._nativeInteractionsEnabled&&(this._nativeInteractionsEnabled=e,pf(this._rootElement,e))}_removeRootElementListeners(e){e.removeEventListener("mousedown",this._pointerDown,XC),e.removeEventListener("touchstart",this._pointerDown,Zj),e.removeEventListener("dragstart",this._nativeDragStart,XC)}_applyRootElementTransform(e,t){let n=eS(e,t),r=this._rootElement.style;this._initialTransform==null&&(this._initialTransform=r.transform&&r.transform!="none"?r.transform:""),r.transform=JC(n,this._initialTransform)}_applyPreviewTransform(e,t){let n=this._previewTemplate?.template?void 0:this._initialTransform,r=eS(e,t);this._preview.setTransform(JC(r,n))}_getDragDistance(e){let t=this._pickupPositionOnPage;return t?{x:e.x-t.x,y:e.y-t.y}:{x:0,y:0}}_cleanupCachedDimensions(){this._boundaryRect=this._previewRect=void 0,this._parentPositions.clear()}_containInsideBoundaryOnResize(){let{x:e,y:t}=this._passiveTransform;if(e===0&&t===0||this.isDragging()||!this._boundaryElement)return;let n=this._rootElement.getBoundingClientRect(),r=this._boundaryElement.getBoundingClientRect();if(r.width===0&&r.height===0||n.width===0&&n.height===0)return;let o=r.left-n.left,s=n.right-r.right,a=r.top-n.top,l=n.bottom-r.bottom;r.width>n.width?(o>0&&(e+=o),s>0&&(e-=s)):e=0,r.height>n.height?(a>0&&(t+=a),l>0&&(t-=l)):t=0,(e!==this._passiveTransform.x||t!==this._passiveTransform.y)&&this.setFreeDragPosition({y:t,x:e})}_getDragStartDelay(e){let t=this.dragStartDelay;return typeof t=="number"?t:nv(e)?t.touch:t?t.mouse:0}_updateOnScroll(e){let t=this._parentPositions.handleScroll(e);if(t){let n=Mi(e);this._boundaryRect&&n!==this._boundaryElement&&n.contains(this._boundaryElement)&&iv(this._boundaryRect,t.top,t.left),this._pickupPositionOnPage.x+=t.left,this._pickupPositionOnPage.y+=t.top,this._dropContainer||(this._activeTransform.x-=t.left,this._activeTransform.y-=t.top,this._applyRootElementTransform(this._activeTransform.x,this._activeTransform.y))}}_getViewportScrollPosition(){return this._parentPositions.positions.get(this._document)?.scrollPosition||this._parentPositions.getViewportScrollPosition()}_getShadowRoot(){return this._cachedShadowRoot===void 0&&(this._cachedShadowRoot=Eh(this._rootElement)),this._cachedShadowRoot}_getPreviewInsertionPoint(e,t){let n=this._previewContainer||"global";if(n==="parent")return e;if(n==="global"){let r=this._document;return t||r.fullscreenElement||r.webkitFullscreenElement||r.mozFullScreenElement||r.msFullscreenElement||r.body}return er(n)}_getPreviewRect(){return(!this._previewRect||!this._previewRect.width&&!this._previewRect.height)&&(this._previewRect=this._preview?this._preview.getBoundingClientRect():this._initialDomRect),this._previewRect}_getTargetHandle(e){return this._handles.find(t=>e.target&&(e.target===t||t.contains(e.target)))}};function Jj(i,e,t){return Math.max(e,Math.min(t,i))}function nv(i){return i.type[0]==="t"}function e5(i){i.preventDefault()}function o5(i,e,t){let n=t5(e,i.length-1),r=t5(t,i.length-1);if(n===r)return;let o=i[n],s=r0)return null;let a=this.orientation==="horizontal",l=o.findIndex(y=>y.drag===e),c=o[s],d=o[l].clientRect,u=c.clientRect,h=l>s?1:-1,p=this._getItemOffsetPx(d,u,h),f=this._getSiblingOffsetPx(l,o,h),m=o.slice();return o5(o,l,s),o.forEach((y,g)=>{if(m[g]===y)return;let _=y.drag===e,x=_?p:f,C=_?e.getPlaceholderElement():y.drag.getRootElement();y.offset+=x,a?(C.style.transform=JC(`translate3d(${Math.round(y.offset)}px, 0, 0)`,y.initialTransform),iv(y.clientRect,0,x)):(C.style.transform=JC(`translate3d(0, ${Math.round(y.offset)}px, 0)`,y.initialTransform),iv(y.clientRect,x,0))}),this._previousSwap.overlaps=jO(u,t,n),this._previousSwap.drag=c.drag,this._previousSwap.delta=a?r.x:r.y,{previousIndex:l,currentIndex:s}}enter(e,t,n,r){let o=r==null||r<0?this._getItemIndexFromPointerPosition(e,t,n):r,s=this._activeDraggables,a=s.indexOf(e),l=e.getPlaceholderElement(),c=s[o];if(c===e&&(c=s[o+1]),!c&&(o==null||o===-1||o-1&&s.splice(a,1),c&&!this._dragDropRegistry.isDragging(c)){let d=c.getRootElement();d.parentElement.insertBefore(l,d),s.splice(o,0,e)}else this._element.appendChild(l),s.push(e);l.style.transform="",this._cacheItemPositions()}withItems(e){this._activeDraggables=e.slice(),this._cacheItemPositions()}withSortPredicate(e){this._sortPredicate=e}reset(){this._activeDraggables?.forEach(e=>{let t=e.getRootElement();if(t){let n=this._itemPositions.find(r=>r.drag===e)?.initialTransform;t.style.transform=n||""}}),this._itemPositions=[],this._activeDraggables=[],this._previousSwap.drag=null,this._previousSwap.delta=0,this._previousSwap.overlaps=!1}getActiveItemsSnapshot(){return this._activeDraggables}getItemIndex(e){return(this.orientation==="horizontal"&&this.direction==="rtl"?this._itemPositions.slice().reverse():this._itemPositions).findIndex(n=>n.drag===e)}updateOnScroll(e,t){this._itemPositions.forEach(({clientRect:n})=>{iv(n,e,t)}),this._itemPositions.forEach(({drag:n})=>{this._dragDropRegistry.isDragging(n)&&n._sortFromLastPointerPosition()})}withElementContainer(e){this._element=e}_cacheItemPositions(){let e=this.orientation==="horizontal";this._itemPositions=this._activeDraggables.map(t=>{let n=t.getVisibleElement();return{drag:t,offset:0,initialTransform:n.style.transform||"",clientRect:ZO(n)}}).sort((t,n)=>e?t.clientRect.left-n.clientRect.left:t.clientRect.top-n.clientRect.top)}_getItemOffsetPx(e,t,n){let r=this.orientation==="horizontal",o=r?t.left-e.left:t.top-e.top;return n===-1&&(o+=r?t.width-e.width:t.height-e.height),o}_getSiblingOffsetPx(e,t,n){let r=this.orientation==="horizontal",o=t[e].clientRect,s=t[e+n*-1],a=o[r?"width":"height"]*n;if(s){let l=r?"left":"top",c=r?"right":"bottom";n===-1?a-=s.clientRect[l]-o[c]:a+=o[l]-s.clientRect[c]}return a}_shouldEnterAsFirstChild(e,t){if(!this._activeDraggables.length)return!1;let n=this._itemPositions,r=this.orientation==="horizontal";if(n[0].drag!==this._activeDraggables[0]){let s=n[n.length-1].clientRect;return r?e>=s.right:t>=s.bottom}else{let s=n[0].clientRect;return r?e<=s.left:t<=s.top}}_getItemIndexFromPointerPosition(e,t,n,r){let o=this.orientation==="horizontal",s=this._itemPositions.findIndex(({drag:a,clientRect:l})=>{if(a===e)return!1;if(r){let c=o?r.x:r.y;if(a===this._previousSwap.drag&&this._previousSwap.overlaps&&c===this._previousSwap.delta)return!1}return o?t>=Math.floor(l.left)&&t=Math.floor(l.top)&&nl?d.after(c):d.before(c),o5(this._activeItems,l,o);let u=this._getRootNode().elementFromPoint(t,n);return s.deltaX=r.x,s.deltaY=r.y,s.drag=a,s.overlaps=d===u||d.contains(u),{previousIndex:l,currentIndex:o}}enter(e,t,n,r){let o=r==null||r<0?this._getItemIndexFromPointerPosition(e,t,n):r;o===-1&&(o=this._getClosestItemIndexToPointer(e,t,n));let s=this._activeItems[o],a=this._activeItems.indexOf(e);a>-1&&this._activeItems.splice(a,1),s&&!this._dragDropRegistry.isDragging(s)?(this._activeItems.splice(o,0,e),s.getRootElement().before(e.getPlaceholderElement())):(this._activeItems.push(e),this._element.appendChild(e.getPlaceholderElement()))}withItems(e){this._activeItems=e.slice()}withSortPredicate(e){this._sortPredicate=e}reset(){let e=this._element,t=this._previousSwap;for(let n=this._relatedNodes.length-1;n>-1;n--){let[r,o]=this._relatedNodes[n];r.parentNode===e&&r.nextSibling!==o&&(o===null?e.appendChild(r):o.parentNode===e&&e.insertBefore(r,o))}this._relatedNodes=[],this._activeItems=[],t.drag=null,t.deltaX=t.deltaY=0,t.overlaps=!1}getActiveItemsSnapshot(){return this._activeItems}getItemIndex(e){return this._activeItems.indexOf(e)}updateOnScroll(){this._activeItems.forEach(e=>{this._dragDropRegistry.isDragging(e)&&e._sortFromLastPointerPosition()})}withElementContainer(e){e!==this._element&&(this._element=e,this._rootNode=void 0)}_getItemIndexFromPointerPosition(e,t,n){let r=this._getRootNode().elementFromPoint(Math.floor(t),Math.floor(n)),o=r?this._activeItems.findIndex(s=>{let a=s.getRootElement();return r===a||a.contains(r)}):-1;return o===-1||!this._sortPredicate(o,e)?-1:o}_getRootNode(){return this._rootNode||(this._rootNode=Eh(this._element)||this._document),this._rootNode}_getClosestItemIndexToPointer(e,t,n){if(this._activeItems.length===0)return-1;if(this._activeItems.length===1)return 0;let r=1/0,o=-1;for(let s=0;s!0,this.sortPredicate=()=>!0,this.beforeStarted=new me,this.entered=new me,this.exited=new me,this.dropped=new me,this.sorted=new me,this.receivingStarted=new me,this.receivingStopped=new me,this._isDragging=!1,this._draggables=[],this._siblings=[],this._activeSiblings=new Set,this._viewportScrollSubscription=Ct.EMPTY,this._verticalScrollDirection=is.NONE,this._horizontalScrollDirection=$r.NONE,this._stopScrollTimers=new me,this._cachedShadowRoot=null,this._scrollableElements=[],this._direction="ltr",this._startScrollInterval=()=>{this._stopScrolling(),DS(0,Mv).pipe(Xe(this._stopScrollTimers)).subscribe(()=>{let a=this._scrollNode,l=this.autoScrollStep;this._verticalScrollDirection===is.UP?a.scrollBy(0,-l):this._verticalScrollDirection===is.DOWN&&a.scrollBy(0,l),this._horizontalScrollDirection===$r.LEFT?a.scrollBy(-l,0):this._horizontalScrollDirection===$r.RIGHT&&a.scrollBy(l,0)})};let s=this.element=er(e);this._document=n,this.withOrientation("vertical").withElementContainer(s),t.registerDropContainer(this),this._parentPositions=new KC(n)}dispose(){this._stopScrolling(),this._stopScrollTimers.complete(),this._viewportScrollSubscription.unsubscribe(),this.beforeStarted.complete(),this.entered.complete(),this.exited.complete(),this.dropped.complete(),this.sorted.complete(),this.receivingStarted.complete(),this.receivingStopped.complete(),this._activeSiblings.clear(),this._scrollNode=null,this._parentPositions.clear(),this._dragDropRegistry.removeDropContainer(this)}isDragging(){return this._isDragging}start(){this._draggingStarted(),this._notifyReceivingSiblings()}enter(e,t,n,r){this._draggingStarted(),r==null&&this.sortingDisabled&&(r=this._draggables.indexOf(e)),this._sortStrategy.enter(e,t,n,r),this._cacheParentPositions(),this._notifyReceivingSiblings(),this.entered.next({item:e,container:this,currentIndex:this.getItemIndex(e)})}exit(e){this._reset(),this.exited.next({item:e,container:this})}drop(e,t,n,r,o,s,a,l={}){this._reset(),this.dropped.next({item:e,currentIndex:t,previousIndex:n,container:this,previousContainer:r,isPointerOverContainer:o,distance:s,dropPoint:a,event:l})}withItems(e){let t=this._draggables;return this._draggables=e,e.forEach(n=>n._withDropContainer(this)),this.isDragging()&&(t.filter(r=>r.isDragging()).every(r=>e.indexOf(r)===-1)?this._reset():this._sortStrategy.withItems(this._draggables)),this}withDirection(e){return this._direction=e,this._sortStrategy instanceof tS&&(this._sortStrategy.direction=e),this}connectedTo(e){return this._siblings=e.slice(),this}withOrientation(e){if(e==="mixed")this._sortStrategy=new qO(this._document,this._dragDropRegistry);else{let t=new tS(this._dragDropRegistry);t.direction=this._direction,t.orientation=e,this._sortStrategy=t}return this._sortStrategy.withElementContainer(this._container),this._sortStrategy.withSortPredicate((t,n)=>this.sortPredicate(t,n,this)),this}withScrollableParents(e){let t=this._container;return this._scrollableElements=e.indexOf(t)===-1?[t,...e]:e.slice(),this}withElementContainer(e){if(e===this._container)return this;let t=er(this.element),n=this._scrollableElements.indexOf(this._container),r=this._scrollableElements.indexOf(e);return n>-1&&this._scrollableElements.splice(n,1),r>-1&&this._scrollableElements.splice(r,1),this._sortStrategy&&this._sortStrategy.withElementContainer(e),this._cachedShadowRoot=null,this._scrollableElements.unshift(e),this._container=e,this}getScrollableParents(){return this._scrollableElements}getItemIndex(e){return this._isDragging?this._sortStrategy.getItemIndex(e):this._draggables.indexOf(e)}isReceiving(){return this._activeSiblings.size>0}_sortItem(e,t,n,r){if(this.sortingDisabled||!this._domRect||!$j(this._domRect,n5,t,n))return;let o=this._sortStrategy.sort(e,t,n,r);o&&this.sorted.next({previousIndex:o.previousIndex,currentIndex:o.currentIndex,container:this,item:e})}_startScrollingIfNecessary(e,t){if(this.autoScrollDisabled)return;let n,r=is.NONE,o=$r.NONE;if(this._parentPositions.positions.forEach((s,a)=>{a===this._document||!s.clientRect||n||$j(s.clientRect,n5,e,t)&&([r,o]=x_e(a,s.clientRect,this._direction,e,t),(r||o)&&(n=a))}),!r&&!o){let{width:s,height:a}=this._viewportRuler.getViewportSize(),l={width:s,height:a,top:0,right:s,bottom:a,left:0};r=a5(l,t),o=l5(l,e),n=window}n&&(r!==this._verticalScrollDirection||o!==this._horizontalScrollDirection||n!==this._scrollNode)&&(this._verticalScrollDirection=r,this._horizontalScrollDirection=o,this._scrollNode=n,(r||o)&&n?this._ngZone.runOutsideAngular(this._startScrollInterval):this._stopScrolling())}_stopScrolling(){this._stopScrollTimers.next()}_draggingStarted(){let e=this._container.style;this.beforeStarted.next(),this._isDragging=!0,this._initialScrollSnap=e.msScrollSnapType||e.scrollSnapType||"",e.scrollSnapType=e.msScrollSnapType="none",this._sortStrategy.start(this._draggables),this._cacheParentPositions(),this._viewportScrollSubscription.unsubscribe(),this._listenToScrollEvents()}_cacheParentPositions(){this._parentPositions.cache(this._scrollableElements),this._domRect=this._parentPositions.positions.get(this._container).clientRect}_reset(){this._isDragging=!1;let e=this._container.style;e.scrollSnapType=e.msScrollSnapType=this._initialScrollSnap,this._siblings.forEach(t=>t._stopReceiving(this)),this._sortStrategy.reset(),this._stopScrolling(),this._viewportScrollSubscription.unsubscribe(),this._parentPositions.clear()}_isOverContainer(e,t){return this._domRect!=null&&jO(this._domRect,e,t)}_getSiblingContainerFromPosition(e,t,n){return this._siblings.find(r=>r._canReceive(e,t,n))}_canReceive(e,t,n){if(!this._domRect||!jO(this._domRect,t,n)||!this.enterPredicate(e,this))return!1;let r=this._getShadowRoot().elementFromPoint(t,n);return r?r===this._container||this._container.contains(r):!1}_startReceiving(e,t){let n=this._activeSiblings;!n.has(e)&&t.every(r=>this.enterPredicate(r,this)||this._draggables.indexOf(r)>-1)&&(n.add(e),this._cacheParentPositions(),this._listenToScrollEvents(),this.receivingStarted.next({initiator:e,receiver:this,items:t}))}_stopReceiving(e){this._activeSiblings.delete(e),this._viewportScrollSubscription.unsubscribe(),this.receivingStopped.next({initiator:e,receiver:this})}_listenToScrollEvents(){this._viewportScrollSubscription=this._dragDropRegistry.scrolled(this._getShadowRoot()).subscribe(e=>{if(this.isDragging()){let t=this._parentPositions.handleScroll(e);t&&this._sortStrategy.updateOnScroll(t.top,t.left)}else this.isReceiving()&&this._cacheParentPositions()})}_getShadowRoot(){if(!this._cachedShadowRoot){let e=Eh(this._container);this._cachedShadowRoot=e||this._document}return this._cachedShadowRoot}_notifyReceivingSiblings(){let e=this._sortStrategy.getActiveItemsSnapshot().filter(t=>t.isDragging());this._siblings.forEach(t=>t._startReceiving(this,e))}};function a5(i,e){let{top:t,bottom:n,height:r}=i,o=r*s5;return e>=t-o&&e<=t+o?is.UP:e>=n-o&&e<=n+o?is.DOWN:is.NONE}function l5(i,e){let{left:t,right:n,width:r}=i,o=r*s5;return e>=t-o&&e<=t+o?$r.LEFT:e>=n-o&&e<=n+o?$r.RIGHT:$r.NONE}function x_e(i,e,t,n,r){let o=a5(e,r),s=l5(e,n),a=is.NONE,l=$r.NONE;if(o){let c=i.scrollTop;o===is.UP?c>0&&(a=is.UP):i.scrollHeight-c>i.clientHeight&&(a=is.DOWN)}if(s){let c=i.scrollLeft;t==="rtl"?s===$r.RIGHT?c<0&&(l=$r.RIGHT):i.scrollWidth+c>i.clientWidth&&(l=$r.LEFT):s===$r.LEFT?c>0&&(l=$r.LEFT):i.scrollWidth-c>i.clientWidth&&(l=$r.RIGHT)}return[a,l]}var ZC=Br({passive:!1,capture:!0}),QC=new Set,w_e=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275cmp=le({type:e,selectors:[["ng-component"]],hostAttrs:["cdk-drag-resets-container",""],standalone:!0,features:[ce],decls:0,vars:0,template:function(r,o){},styles:["@layer cdk-resets{.cdk-drag-preview{background:none;border:none;padding:0;color:inherit}}.cdk-drag-placeholder *,.cdk-drag-preview *{pointer-events:none !important}"],encapsulation:2,changeDetection:0});let i=e;return i})(),C_e=(()=>{let e=class e{constructor(n,r){this._ngZone=n,this._appRef=te(us),this._environmentInjector=te(qi),this._dropInstances=new Set,this._dragInstances=new Set,this._activeDragInstances=ut([]),this._globalListeners=new Map,this._draggingPredicate=o=>o.isDragging(),this.pointerMove=new me,this.pointerUp=new me,this.scroll=new me,this._preventDefaultWhileDragging=o=>{this._activeDragInstances().length>0&&o.preventDefault()},this._persistentTouchmoveListener=o=>{this._activeDragInstances().length>0&&(this._activeDragInstances().some(this._draggingPredicate)&&o.preventDefault(),this.pointerMove.next(o))},this._document=r}registerDropContainer(n){this._dropInstances.has(n)||this._dropInstances.add(n)}registerDragItem(n){this._dragInstances.add(n),this._dragInstances.size===1&&this._ngZone.runOutsideAngular(()=>{this._document.addEventListener("touchmove",this._persistentTouchmoveListener,ZC)})}removeDropContainer(n){this._dropInstances.delete(n)}removeDragItem(n){this._dragInstances.delete(n),this.stopDragging(n),this._dragInstances.size===0&&this._document.removeEventListener("touchmove",this._persistentTouchmoveListener,ZC)}startDragging(n,r){if(!(this._activeDragInstances().indexOf(n)>-1)&&(this._loadResets(),this._activeDragInstances.update(o=>[...o,n]),this._activeDragInstances().length===1)){let o=r.type.startsWith("touch");this._globalListeners.set(o?"touchend":"mouseup",{handler:s=>this.pointerUp.next(s),options:!0}).set("scroll",{handler:s=>this.scroll.next(s),options:!0}).set("selectstart",{handler:this._preventDefaultWhileDragging,options:ZC}),o||this._globalListeners.set("mousemove",{handler:s=>this.pointerMove.next(s),options:ZC}),this._ngZone.runOutsideAngular(()=>{this._globalListeners.forEach((s,a)=>{this._document.addEventListener(a,s.handler,s.options)})})}}stopDragging(n){this._activeDragInstances.update(r=>{let o=r.indexOf(n);return o>-1?(r.splice(o,1),[...r]):r}),this._activeDragInstances().length===0&&this._clearGlobalListeners()}isDragging(n){return this._activeDragInstances().indexOf(n)>-1}scrolled(n){let r=[this.scroll];return n&&n!==this._document&&r.push(new Mt(o=>this._ngZone.runOutsideAngular(()=>{let a=l=>{this._activeDragInstances().length&&o.next(l)};return n.addEventListener("scroll",a,!0),()=>{n.removeEventListener("scroll",a,!0)}}))),Yn(...r)}ngOnDestroy(){this._dragInstances.forEach(n=>this.removeDragItem(n)),this._dropInstances.forEach(n=>this.removeDropContainer(n)),this._clearGlobalListeners(),this.pointerMove.complete(),this.pointerUp.complete()}_clearGlobalListeners(){this._globalListeners.forEach((n,r)=>{this._document.removeEventListener(r,n.handler,n.options)}),this._globalListeners.clear()}_loadResets(){if(!QC.has(this._appRef)){QC.add(this._appRef);let n=eL(w_e,{environmentInjector:this._environmentInjector});this._appRef.onDestroy(()=>{QC.delete(this._appRef),QC.size===0&&n.destroy()})}}};e.\u0275fac=function(r){return new(r||e)(X(Le),X(Ye))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})(),S_e={dragStartThreshold:5,pointerDirectionChangeThreshold:5},c5=(()=>{let e=class e{constructor(n,r,o,s){this._document=n,this._ngZone=r,this._viewportRuler=o,this._dragDropRegistry=s}createDrag(n,r=S_e){return new $O(n,r,this._document,this._ngZone,this._viewportRuler,this._dragDropRegistry)}createDropList(n){return new YO(n,this._dragDropRegistry,this._document,this._ngZone,this._viewportRuler)}};e.\u0275fac=function(r){return new(r||e)(X(Ye),X(Le),X(aa),X(C_e))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})(),XO=new ge("CDK_DRAG_PARENT");var d5=new ge("CdkDragHandle"),u5=(()=>{let e=class e{get disabled(){return this._disabled}set disabled(n){this._disabled=n,this._stateChanges.next(this)}constructor(n,r){this.element=n,this._parentDrag=r,this._stateChanges=new me,this._disabled=!1,r?._addHandle(this)}ngOnDestroy(){this._parentDrag?._removeHandle(this),this._stateChanges.complete()}};e.\u0275fac=function(r){return new(r||e)(M(Re),M(XO,12))},e.\u0275dir=ze({type:e,selectors:[["","cdkDragHandle",""]],hostAttrs:[1,"cdk-drag-handle"],inputs:{disabled:[2,"cdkDragHandleDisabled","disabled",at]},standalone:!0,features:[Bt([{provide:d5,useExisting:e}]),an]});let i=e;return i})(),M_e=new ge("CDK_DRAG_CONFIG"),E_e="cdk-drag",I_e=new ge("CdkDropList"),h5=(()=>{let e=class e{get disabled(){return this._disabled||this.dropContainer&&this.dropContainer.disabled}set disabled(n){this._disabled=n,this._dragRef.disabled=this._disabled}constructor(n,r,o,s,a,l,c,d,u,h,p){this.element=n,this.dropContainer=r,this._ngZone=s,this._viewContainerRef=a,this._dir=c,this._changeDetectorRef=u,this._selfHandle=h,this._parentDrag=p,this._destroyed=new me,this._handles=new Dn([]),this.started=new Ie,this.released=new Ie,this.ended=new Ie,this.entered=new Ie,this.exited=new Ie,this.dropped=new Ie,this.moved=new Mt(f=>{let m=this._dragRef.moved.pipe(Je(y=>({source:this,pointerPosition:y.pointerPosition,event:y.event,delta:y.delta,distance:y.distance}))).subscribe(f);return()=>{m.unsubscribe()}}),this._injector=te(xt),this._dragRef=d.createDrag(n,{dragStartThreshold:l&&l.dragStartThreshold!=null?l.dragStartThreshold:5,pointerDirectionChangeThreshold:l&&l.pointerDirectionChangeThreshold!=null?l.pointerDirectionChangeThreshold:5,zIndex:l?.zIndex}),this._dragRef.data=this,e._dragInstances.push(this),l&&this._assignDefaults(l),r&&(this._dragRef._withDropContainer(r._dropListRef),r.addItem(this)),this._syncInputs(this._dragRef),this._handleEvents(this._dragRef)}getPlaceholderElement(){return this._dragRef.getPlaceholderElement()}getRootElement(){return this._dragRef.getRootElement()}reset(){this._dragRef.reset()}getFreeDragPosition(){return this._dragRef.getFreeDragPosition()}setFreeDragPosition(n){this._dragRef.setFreeDragPosition(n)}ngAfterViewInit(){fr(()=>{this._updateRootElement(),this._setupHandlesListener(),this.freeDragPosition&&this._dragRef.setFreeDragPosition(this.freeDragPosition)},{injector:this._injector})}ngOnChanges(n){let r=n.rootElementSelector,o=n.freeDragPosition;r&&!r.firstChange&&this._updateRootElement(),o&&!o.firstChange&&this.freeDragPosition&&this._dragRef.setFreeDragPosition(this.freeDragPosition)}ngOnDestroy(){this.dropContainer&&this.dropContainer.removeItem(this);let n=e._dragInstances.indexOf(this);n>-1&&e._dragInstances.splice(n,1),this._ngZone.runOutsideAngular(()=>{this._handles.complete(),this._destroyed.next(),this._destroyed.complete(),this._dragRef.dispose()})}_addHandle(n){let r=this._handles.getValue();r.push(n),this._handles.next(r)}_removeHandle(n){let r=this._handles.getValue(),o=r.indexOf(n);o>-1&&(r.splice(o,1),this._handles.next(r))}_setPreviewTemplate(n){this._previewTemplate=n}_resetPreviewTemplate(n){n===this._previewTemplate&&(this._previewTemplate=null)}_setPlaceholderTemplate(n){this._placeholderTemplate=n}_resetPlaceholderTemplate(n){n===this._placeholderTemplate&&(this._placeholderTemplate=null)}_updateRootElement(){let n=this.element.nativeElement,r=n;this.rootElementSelector&&(r=n.closest!==void 0?n.closest(this.rootElementSelector):n.parentElement?.closest(this.rootElementSelector)),this._dragRef.withRootElement(r||n)}_getBoundaryElement(){let n=this.boundaryElement;return n?typeof n=="string"?this.element.nativeElement.closest(n):er(n):null}_syncInputs(n){n.beforeStarted.subscribe(()=>{if(!n.isDragging()){let r=this._dir,o=this.dragStartDelay,s=this._placeholderTemplate?{template:this._placeholderTemplate.templateRef,context:this._placeholderTemplate.data,viewContainer:this._viewContainerRef}:null,a=this._previewTemplate?{template:this._previewTemplate.templateRef,context:this._previewTemplate.data,matchSize:this._previewTemplate.matchSize,viewContainer:this._viewContainerRef}:null;n.disabled=this.disabled,n.lockAxis=this.lockAxis,n.dragStartDelay=typeof o=="object"&&o?o:Xs(o),n.constrainPosition=this.constrainPosition,n.previewClass=this.previewClass,n.withBoundaryElement(this._getBoundaryElement()).withPlaceholderTemplate(s).withPreviewTemplate(a).withPreviewContainer(this.previewContainer||"global"),r&&n.withDirection(r.value)}}),n.beforeStarted.pipe(_n(1)).subscribe(()=>{if(this._parentDrag){n.withParent(this._parentDrag._dragRef);return}let r=this.element.nativeElement.parentElement;for(;r;){if(r.classList.contains(E_e)){n.withParent(e._dragInstances.find(o=>o.element.nativeElement===r)?._dragRef||null);break}r=r.parentElement}})}_handleEvents(n){n.started.subscribe(r=>{this.started.emit({source:this,event:r.event}),this._changeDetectorRef.markForCheck()}),n.released.subscribe(r=>{this.released.emit({source:this,event:r.event})}),n.ended.subscribe(r=>{this.ended.emit({source:this,distance:r.distance,dropPoint:r.dropPoint,event:r.event}),this._changeDetectorRef.markForCheck()}),n.entered.subscribe(r=>{this.entered.emit({container:r.container.data,item:this,currentIndex:r.currentIndex})}),n.exited.subscribe(r=>{this.exited.emit({container:r.container.data,item:this})}),n.dropped.subscribe(r=>{this.dropped.emit({previousIndex:r.previousIndex,currentIndex:r.currentIndex,previousContainer:r.previousContainer.data,container:r.container.data,isPointerOverContainer:r.isPointerOverContainer,item:this,distance:r.distance,dropPoint:r.dropPoint,event:r.event})})}_assignDefaults(n){let{lockAxis:r,dragStartDelay:o,constrainPosition:s,previewClass:a,boundaryElement:l,draggingDisabled:c,rootElementSelector:d,previewContainer:u}=n;this.disabled=c??!1,this.dragStartDelay=o||0,r&&(this.lockAxis=r),s&&(this.constrainPosition=s),a&&(this.previewClass=a),l&&(this.boundaryElement=l),d&&(this.rootElementSelector=d),u&&(this.previewContainer=u)}_setupHandlesListener(){this._handles.pipe(Sn(n=>{let r=n.map(o=>o.element);this._selfHandle&&this.rootElementSelector&&r.push(this.element),this._dragRef.withHandles(r)}),Xn(n=>Yn(...n.map(r=>r._stateChanges.pipe(fi(r))))),Xe(this._destroyed)).subscribe(n=>{let r=this._dragRef,o=n.element.nativeElement;n.disabled?r.disableHandle(o):r.enableHandle(o)})}};e._dragInstances=[],e.\u0275fac=function(r){return new(r||e)(M(Re),M(I_e,12),M(Ye),M(Le),M(Yt),M(M_e,8),M(li,8),M(c5),M(Fe),M(d5,10),M(XO,12))},e.\u0275dir=ze({type:e,selectors:[["","cdkDrag",""]],hostAttrs:[1,"cdk-drag"],hostVars:4,hostBindings:function(r,o){r&2&&se("cdk-drag-disabled",o.disabled)("cdk-drag-dragging",o._dragRef.isDragging())},inputs:{data:[0,"cdkDragData","data"],lockAxis:[0,"cdkDragLockAxis","lockAxis"],rootElementSelector:[0,"cdkDragRootElement","rootElementSelector"],boundaryElement:[0,"cdkDragBoundary","boundaryElement"],dragStartDelay:[0,"cdkDragStartDelay","dragStartDelay"],freeDragPosition:[0,"cdkDragFreeDragPosition","freeDragPosition"],disabled:[2,"cdkDragDisabled","disabled",at],constrainPosition:[0,"cdkDragConstrainPosition","constrainPosition"],previewClass:[0,"cdkDragPreviewClass","previewClass"],previewContainer:[0,"cdkDragPreviewContainer","previewContainer"]},outputs:{started:"cdkDragStarted",released:"cdkDragReleased",ended:"cdkDragEnded",entered:"cdkDragEntered",exited:"cdkDragExited",dropped:"cdkDragDropped",moved:"cdkDragMoved"},exportAs:["cdkDrag"],standalone:!0,features:[Bt([{provide:XO,useExisting:e}]),an,dn]});let i=e;return i})();var p5=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=ot({type:e}),e.\u0275inj=rt({providers:[c5],imports:[Zo]});let i=e;return i})();var KO=(i,e)=>e.type;function D_e(i,e){if(i&1){let t=ie();v(0,"div",18),H("click",function(){let r=V(t).$implicit,o=I(2).$index,s=I();return z(s.handleToggleMatchType(o,r.type))}),v(1,"mat-icon"),S(2),b()()}if(i&2){let t=e.$implicit,n=I(2).$implicit,r=I();se("selected",r.getIsMatchTypeSelected(n,t.type))("disabled",r.getDisableMatchType(n,t.type)),N("matTooltip",t.tooltip),w(2),nt(t.type)}}function P_e(i,e){if(i&1){let t=ie();v(0,"div",12)(1,"div",13),S(2,"R"),b(),v(3,"div",14),S(4,"E"),b()(),v(5,"input",15,1),H("change",function(){V(t);let r=ve(6),o=I().$index,s=I();return z(s.handleRegexQueryChanged(o,r.value))}),b(),v(7,"div",16),ln(8,D_e,3,6,"div",17,KO),b()}if(i&2){let t=I().$implicit,n=I();w(5),N("value",t.queryRegex),w(3),cn(n.allSearchMatchTypeOptions)}}function O_e(i,e){if(i&1){let t=ie();v(0,"div",19),S(1," [\xB7\xB7] "),b(),v(2,"div",20)(3,"input",21,2),H("change",function(){V(t);let r=ve(4),o=ve(8),s=ve(12),a=I().$index,l=I();return z(l.handleAttrValueRangeQueryChanged(a,r.value.trim(),o.value.trim(),s.value.trim()))}),b(),v(5,"div",22),S(6,":"),b(),v(7,"input",23,3),H("change",function(){V(t);let r=ve(4),o=ve(8),s=ve(12),a=I().$index,l=I();return z(l.handleAttrValueRangeQueryChanged(a,r.value.trim(),o.value.trim(),s.value.trim()))}),b(),v(9,"div",24),S(10,","),b(),v(11,"input",25,4),H("change",function(){V(t);let r=ve(4),o=ve(8),s=ve(12),a=I().$index,l=I();return z(l.handleAttrValueRangeQueryChanged(a,r.value.trim(),o.value.trim(),s.value.trim()))}),b()()}if(i&2){let t=I().$implicit,n=I();w(3),N("value",t.attrName),w(4),N("value",n.getAttrValueRangeString(t.min)),w(4),N("value",n.getAttrValueRangeString(t.max))}}function R_e(i,e){if(i&1&&(v(0,"option",28),S(1),b()),i&2){let t=e.$implicit,n=I(2).$implicit;N("value",t.type)("selected",t.type===n.nodeType),w(),Me(" ",t.label," ")}}function A_e(i,e){if(i&1){let t=ie();v(0,"div",26)(1,"mat-icon"),S(2,"device_hub"),b()(),v(3,"select",27,5),H("change",function(){V(t);let r=ve(4),o=I().$index,s=I();return z(s.handleNodeTypeChanged(o,r.value))}),ln(5,R_e,2,3,"option",28,KO),b()}if(i&2){let t=I(2);w(5),cn(t.allSearchNodeTypes)}}function N_e(i,e){if(i&1){let t=ie();v(0,"div",29),H("click",function(){V(t);let r=I().$index,o=I();return z(o.handleDeleteQuery(r))}),v(1,"mat-icon"),S(2,"delete"),b()()}}function k_e(i,e){if(i&1&&(v(0,"div",7),W(1,P_e,10,1)(2,O_e,13,3)(3,A_e,7,0)(4,N_e,3,0,"div",11),b()),i&2){let t,n=e.$implicit,r=I();w(),ae((t=n.type)===r.NodeQueryType.REGEX?1:t===r.NodeQueryType.ATTR_VALUE_RANGE?2:t===r.NodeQueryType.NODE_TYPE?3:-1),w(3),ae(r.getShowDeleteQueryButton(n)?4:-1)}}function L_e(i,e){i&1&&(v(0,"div",31)(1,"div",13),S(2,"R"),b(),v(3,"div",14),S(4,"E"),b()())}function F_e(i,e){i&1&&(v(0,"div",32),S(1," [\xB7\xB7] "),b())}function B_e(i,e){if(i&1){let t=ie();v(0,"div",30),H("click",function(){let r=V(t).$implicit,o=I();return z(o.handleAddQuery(r.type))}),W(1,L_e,5,0,"div",31)(2,F_e,2,0,"div",32),v(3,"div",33),S(4),b()()}if(i&2){let t,n=e.$implicit,r=I();w(),ae((t=n.type)===r.NodeQueryType.REGEX?1:t===r.NodeQueryType.ATTR_VALUE_RANGE?2:-1),w(3),nt(n.label)}}var f5=(()=>{class i{changeDetectorRef;queries=[];queriesUpdated=new Ie;NodeQueryType=Fn;allSearchMatchTypeOptions=[{type:bt.NODE_LABEL,tooltip:"Match label"},{type:bt.ATTRIBUTE,tooltip:"Match attributes"},{type:bt.INPUT_METADATA,tooltip:"Match inputs (op node only)"},{type:bt.OUTPUT_METADATA,tooltip:"Match outputs (op node only)"}];allSearchNodeTypes=[{type:mr.OP_NODES,label:"Op nodes only"},{type:mr.LAYER_NODES,label:"Layer nodes only"},{type:mr.OP_AND_LAYER_NODES,label:"Op and layer nodes"}];allQueryTypes=[{type:Fn.REGEX,label:"Regex"},{type:Fn.ATTR_VALUE_RANGE,label:"Attribute value range"}];curQueries=[];curMatchedNodes={};constructor(t){this.changeDetectorRef=t}ngOnInit(){this.curQueries=JSON.parse(JSON.stringify(this.queries))}setMatchedNodes(t){this.curMatchedNodes=t,this.changeDetectorRef.markForCheck()}handleRegexQueryChanged(t,n){let r=this.curQueries[t];r.queryRegex=n.trim(),this.queriesUpdated.emit([...this.curQueries])}handleAttrValueRangeQueryChanged(t,n,r,o){let s=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY;r!==""&&!isNaN(Number(r))&&(s=Number(r)),o!==""&&!isNaN(Number(o))&&(a=Number(o));let l=this.curQueries[t];l.attrName=n,l.min=s,l.max=a,this.queriesUpdated.emit([...this.curQueries])}handleNodeTypeChanged(t,n){let r=this.curQueries[t];r.nodeType=n,this.queriesUpdated.emit([...this.curQueries])}handleToggleMatchType(t,n){if(this.getDisableMatchType(this.curQueries[t],n))return;let r=this.curQueries[t],o=r.matchTypes.indexOf(n);o>=0?r.matchTypes.splice(o,1):r.matchTypes.push(n),this.queriesUpdated.emit([...this.curQueries])}handleDeleteQuery(t){this.curQueries.splice(t,1),this.queriesUpdated.emit([...this.curQueries])}handleAddQuery(t){switch(t){case Fn.REGEX:this.curQueries.push({type:t,queryRegex:"",matchTypes:[bt.NODE_LABEL]});break;case Fn.ATTR_VALUE_RANGE:this.curQueries.push({type:t,attrName:"",min:Number.NEGATIVE_INFINITY,max:Number.POSITIVE_INFINITY});break;case Fn.NODE_TYPE:this.curQueries.push({type:t,nodeType:mr.OP_NODES});break;default:break}this.queriesUpdated.emit([...this.curQueries])}getIsMatchTypeSelected(t,n){return t.matchTypes.includes(n)}getDisableMatchType(t,n){return t.matchTypes.length===1&&t.matchTypes[0]===n}getAttrValueRangeString(t){return t==null||t===Number.NEGATIVE_INFINITY||t===Number.POSITIVE_INFINITY?"":`${t}`}getShowDeleteQueryButton(t){return t.type!==Fn.NODE_TYPE}static \u0275fac=function(n){return new(n||i)(M(Fe))};static \u0275cmp=le({type:i,selectors:[["complex-queries"]],inputs:{queries:"queries"},outputs:{queriesUpdated:"queriesUpdated"},standalone:!0,features:[ce],decls:11,vars:1,consts:[["menu","matMenu"],["queryInput",""],["inputAttrName",""],["inputMin",""],["inputMax",""],["select",""],[1,"container"],[1,"query-container"],[1,"btn-add-query",3,"matMenuTriggerFor"],[1,"model-explorer-add-query-menu"],[1,"menu-item"],["matTooltip","Delete query","matTooltipPosition","right",1,"icon-container","delete"],["matTooltip","Regex","n","","matTooltipPosition","left",1,"model-explorer-regex-icon"],[1,"r"],[1,"e"],["placeholder","Regex",1,"regex","common-input",3,"change","value"],[1,"targets-container"],[1,"icon-container","match-type",3,"matTooltip","selected","disabled"],[1,"icon-container","match-type",3,"click","matTooltip"],["matTooltip","Attribute value range","matTooltipPosition","left",1,"model-explorer-attr-value-range-icon"],[1,"attrs-value-range-container"],["placeholder","Attr name",1,"common-input","attr-name",3,"change","value"],[1,"colon"],["placeholder","min",1,"common-input","min",3,"change","value"],[1,"to"],["placeholder","max",1,"common-input","max",3,"change","value"],["matTooltip","Node type","matTooltipPosition","left",1,"model-explorer-node-type-icon"],[1,"node-type-selector",3,"change"],[3,"value","selected"],["matTooltip","Delete query","matTooltipPosition","right",1,"icon-container","delete",3,"click"],[1,"menu-item",3,"click"],[1,"model-explorer-regex-icon"],[1,"model-explorer-attr-value-range-icon"],[1,"label"]],template:function(n,r){if(n&1&&(v(0,"div",6),ln(1,k_e,5,2,"div",7,Kr),v(3,"div",8)(4,"mat-icon"),S(5,"add"),b(),S(6," Add query "),b(),v(7,"mat-menu",9,0),ln(9,B_e,5,2,"div",10,KO),b()()),n&2){let o=ve(8);w(),cn(r.curQueries),w(2),N("matMenuTriggerFor",o),w(6),cn(r.allQueryTypes)}},dependencies:[Ae,it,_t,ca,Jo,vc,Jt,Wn],styles:[`.query-container[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px;margin-bottom:4px;position:relative;padding-right:36px}.query-container[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{height:22px;border:1px solid #ccc;border-radius:4px;box-sizing:border-box;padding:0 4px;outline:none}.query-container[_ngcontent-%COMP%] input.regex[_ngcontent-%COMP%]{flex-grow:1}.query-container[_ngcontent-%COMP%] .attrs-value-range-container[_ngcontent-%COMP%]{display:flex;align-items:center;width:240px}.query-container[_ngcontent-%COMP%] .attrs-value-range-container[_ngcontent-%COMP%] .colon[_ngcontent-%COMP%], .query-container[_ngcontent-%COMP%] .attrs-value-range-container[_ngcontent-%COMP%] .to[_ngcontent-%COMP%]{font-weight:700;margin:0 2px;height:22px}.query-container[_ngcontent-%COMP%] .attrs-value-range-container[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{min-width:0}.query-container[_ngcontent-%COMP%] .attrs-value-range-container[_ngcontent-%COMP%] input.attr-name[_ngcontent-%COMP%]{flex-grow:1}.query-container[_ngcontent-%COMP%] .attrs-value-range-container[_ngcontent-%COMP%] input.min[_ngcontent-%COMP%], .query-container[_ngcontent-%COMP%] .attrs-value-range-container[_ngcontent-%COMP%] input.max[_ngcontent-%COMP%]{width:50px}.query-container[_ngcontent-%COMP%] .node-type-selector[_ngcontent-%COMP%]{border:1px solid #ccc;border-radius:4px;outline:none;height:23px;cursor:pointer;box-sizing:border-box;width:160px}.query-container[_ngcontent-%COMP%] .icon-container.delete[_ngcontent-%COMP%]{display:flex;position:absolute;right:0;top:4px;cursor:pointer;opacity:.6}.query-container[_ngcontent-%COMP%] .icon-container.delete[_ngcontent-%COMP%]:hover{opacity:1}.query-container[_ngcontent-%COMP%] .icon-container.delete[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px}.targets-container[_ngcontent-%COMP%]{display:flex;align-items:center;gap:2px}.targets-container[_ngcontent-%COMP%] .icon-container.match-type[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;background-color:#ddd;border-radius:4px;cursor:pointer;padding:4px}.targets-container[_ngcontent-%COMP%] .icon-container.match-type.selected[_ngcontent-%COMP%]{background-color:#a3c9ff}.targets-container[_ngcontent-%COMP%] .icon-container.match-type.disabled[_ngcontent-%COMP%]{cursor:default}.targets-container[_ngcontent-%COMP%] .icon-container.match-type[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:14px;width:14px;height:14px;color:#333}.btn-add-query[_ngcontent-%COMP%]{display:flex;align-items:center;cursor:pointer;width:fit-content;line-height:16px;opacity:.6;white-space:nowrap;margin-top:2px;-webkit-user-select:none;user-select:none;margin-left:19px}.btn-add-query[_ngcontent-%COMP%]:hover{opacity:1}.btn-add-query[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px;margin-right:2px} .model-explorer-add-query-menu .menu-item{letter-spacing:normal!important;font-family:Google Sans Text,Arial,Helvetica,sans-serif!important;font-size:12px;padding:0 8px;cursor:pointer;display:flex;align-items:center} .model-explorer-add-query-menu .menu-item .label{margin-left:6px} .model-explorer-add-query-menu .menu-item:hover{background-color:#eee} .model-explorer-regex-icon{display:flex;width:16px;height:16px;align-items:center;justify-content:center;font-weight:700;-webkit-user-select:none;user-select:none;color:#aaa} .model-explorer-regex-icon .r{font-size:12px} .model-explorer-regex-icon .e{font-size:8px;margin-top:2px} .model-explorer-attr-value-range-icon{display:flex;width:16px;height:16px;align-items:center;justify-content:center;font-size:10px;font-weight:700;-webkit-user-select:none;user-select:none;color:#aaa} .model-explorer-node-type-icon{width:16px;height:16px} .model-explorer-node-type-icon mat-icon{font-size:16px;width:16px;height:16px;color:#aaa} +`],changeDetection:0})}return i})();var ei=function(i){return i[i.DT_INVALID=0]="DT_INVALID",i[i.DT_FLOAT=1]="DT_FLOAT",i[i.DT_DOUBLE=2]="DT_DOUBLE",i[i.DT_INT32=3]="DT_INT32",i[i.DT_UINT8=4]="DT_UINT8",i[i.DT_INT16=5]="DT_INT16",i[i.DT_INT8=6]="DT_INT8",i[i.DT_STRING=7]="DT_STRING",i[i.DT_COMPLEX64=8]="DT_COMPLEX64",i[i.DT_INT64=9]="DT_INT64",i[i.DT_BOOL=10]="DT_BOOL",i[i.DT_QINT8=11]="DT_QINT8",i[i.DT_QUINT8=12]="DT_QUINT8",i[i.DT_QINT32=13]="DT_QINT32",i[i.DT_BFLOAT16=14]="DT_BFLOAT16",i[i.DT_QINT16=15]="DT_QINT16",i[i.DT_QUINT16=16]="DT_QUINT16",i[i.DT_UINT16=17]="DT_UINT16",i[i.DT_COMPLEX128=18]="DT_COMPLEX128",i[i.DT_HALF=19]="DT_HALF",i[i.DT_RESOURCE=20]="DT_RESOURCE",i[i.DT_VARIANT=21]="DT_VARIANT",i[i.DT_UINT32=22]="DT_UINT32",i[i.DT_UINT64=23]="DT_UINT64",i}(ei||{}),u_e=new Map([[ei.DT_FLOAT,"float"],[ei.DT_DOUBLE,"double"],[ei.DT_INT32,"int32"],[ei.DT_UINT8,"uint8"],[ei.DT_INT16,"int16"],[ei.DT_INT8,"int8"],[ei.DT_STRING,"string"],[ei.DT_COMPLEX64,"complex64"],[ei.DT_INT64,"int64"],[ei.DT_BOOL,"bool"],[ei.DT_QINT8,"qint8"],[ei.DT_QUINT8,"qint8"],[ei.DT_QINT32,"qint32"],[ei.DT_BFLOAT16,"bfloat16"],[ei.DT_QINT16,"qint16"],[ei.DT_QUINT16,"qint16"],[ei.DT_UINT16,"uint16"],[ei.DT_COMPLEX128,"complex128"],[ei.DT_HALF,"half"],[ei.DT_RESOURCE,"resource"],[ei.DT_VARIANT,"variant"],[ei.DT_UINT32,"uint32"],[ei.DT_UINT64,"uint64"]]);function zj(i,e){let t={};if(e.weightsManifest!=null)for(let s of e.weightsManifest)for(let a of s.weights)t[a.name]=a;let n={},r=e.modelTopology.node.map(s=>{let a={id:s.name,label:s.op,namespace:s.name,incomingEdges:h_e(s),attrs:p_e(s)};return n[a.id]=a,a});for(let s of e.modelTopology.node){if(!n[s.name])continue;let c=s.input||[];for(let l=0;l{let n=e.split(":");return{sourceNodeId:n.length===2?n[0]:e,sourceNodeOutputId:n.length===2?n[1]:"0",targetNodeInputId:`${t}`}})}function p_e(i){let e=i.attr||{},t=[];for(let n of Object.keys(e)){let r=e[n],o="";r.list!=null?(r.list.s||[]).length>0?o=(r.list.s||[]).map(s=>ev({s})).join(", "):(r.list.b||[]).length>0?o=(r.list.b||[]).map(s=>ev({b:s})).join(", "):(r.list.f||[]).length>0?o=(r.list.f||[]).map(s=>ev({f:s})).join(", "):(r.list.i||[]).length>0?o=(r.list.i||[]).map(s=>ev({i:s})).join(", "):o="[]":o=ev(r),t.push({key:n,value:o})}return t}function ev(i){let e="";return i.s!=null?Array.isArray(i.s)?e=`${i.s.map(t=>typeof t=="number"?String.fromCharCode(t):`${t}`).join("")}`:e=atob(i.s):i.i!=null?e=`${i.i}`:i.f!=null?e=`${i.f}`:i.b!=null?e=i?"true":"false":i.type!=null&&(e=u_e.get(i.type)||"unknown"),e}var hf=new URLSearchParams(window.location.search).get("internal_colab")==="1";function $C(i){return!1}function Uj(i){return It(this,null,function*(){return new Promise((e,t)=>{let n=new FileReader;n.onload=r=>{let o=JSON.parse(n.result),{graphCollections:s,error:a}=zO(i.name,o);a?t(a):s&&e(s)},n.readAsText(i)})})}function zO(i,e){return e.modelTopology==null?f_e(e,i):{graphCollections:[zj(i,e)]}}function f_e(i,e){return i.label!=null&&i.graphs!=null?{graphCollections:[i]}:Array.isArray(i)&&i[0].subgraphs!=null?{graphCollections:m_e(i,e)}:Array.isArray(i)&&(i.length===0||i.length>0&&i[0].id!=null&&i[0].nodes!=null)?{graphCollections:[{label:e,graphs:i}]}:{error:"Unsupported JSON format"}}function m_e(i,e){return i.map(t=>({label:t.label===""?e:`${e} (${t.label})`,graphs:t.subgraphs}))}function qC(){return window.meElectronApi}function g_e(i,e){i&1&&(v(0,"div",4),S(1," Run the following command in your console to upgrade: "),v(2,"div",10),S(3," pip install -U ai-edge-model-explorer "),b()())}function __e(i,e){if(i&1&&(v(0,"div",9)(1,"mat-icon",7),S(2,"get_app"),b(),v(3,"a",8),S(4," Download desktop app "),b()()),i&2){let t=I(3);w(3),R("href",t.info().desktopAppUrl,ME)}}function v_e(i,e){if(i&1&&(v(0,"div",2),S(1," Model Explorer "),v(2,"span",3),S(3),b(),S(4," is available. You are running "),v(5,"span",3),S(6),b(),S(7,". "),$(8,g_e,4,0,"div",4),v(9,"div",5)(10,"div",6)(11,"mat-icon",7),S(12,"description"),b(),v(13,"a",8),S(14," Release notes "),b()(),$(15,__e,5,1,"div",9),b()()),i&2){let t=I(2);w(3),Se("v",t.info().version,""),w(3),Se("v",t.info().runningVersion,""),w(2),oe(t.isElectron?-1:8),w(5),R("href",t.info().releaseUrl,ME),w(2),oe(t.isElectron&&t.info().desktopAppUrl?15:-1)}}function b_e(i,e){if(i&1&&(v(0,"div",1)(1,"mat-icon"),S(2,"upgrade"),b(),S(3," New version available "),b(),$(4,v_e,16,5,"ng-template",null,0,Tt)),i&2){let t=ve(5);R("bubble",t)("hoverDelayMs",100)}}var y_e="/api/v1/check_new_version",UO=(()=>{class i{info=ct({version:"",runningVersion:"",releaseUrl:"",desktopAppUrl:""});constructor(){this.checkNewVersion()}checkNewVersion(){return It(this,null,function*(){try{let t=yield fetch(y_e);if(t.ok){let n=yield t.json();this.info.set(n)}}catch{}})}static \u0275fac=function(n){return new(n||i)};static \u0275prov=J({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})(),YC=(()=>{class i{newVersionService;info;isElectron=qC()!=null;constructor(t){this.newVersionService=t,this.info=this.newVersionService.info}static \u0275fac=function(n){return new(n||i)(M(UO))};static \u0275cmp=ce({type:i,selectors:[["new-version-chip"]],standalone:!0,features:[le],decls:1,vars:1,consts:[["upgrade",""],[1,"container",3,"bubble","hoverDelayMs"],[1,"model-explorer-upgrade-popup"],[1,"bold"],[1,"upgrade-command"],[1,"items"],[1,"release-notes"],[1,"item-icon"],["target","_blank",3,"href"],[1,"download-desktop-app"],[1,"code"]],template:function(n,r){n&1&&$(0,b_e,6,2),n&2&&oe(r.info().version!==""?0:-1)},dependencies:[Hn,Ae,tt,pt],styles:[".container[_ngcontent-%COMP%]{font-size:12px;display:flex;align-items:center;color:#ab6c17;background-color:#ffefd9;line-height:18px;border-radius:99px;font-weight:500;padding:2px 10px 2px 4px;cursor:pointer}.container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px} .model-explorer-upgrade-popup{padding:8px;font-size:12px;background-color:#fff;line-height:normal} .model-explorer-upgrade-popup .bold{font-weight:500} .model-explorer-upgrade-popup .upgrade-command{margin-top:12px} .model-explorer-upgrade-popup .code{background-color:#f1f1f1;font-family:monospace;margin-top:4px;padding:4px;font-size:11px} .model-explorer-upgrade-popup .items{display:flex;flex-direction:column;gap:4px;margin-top:12px} .model-explorer-upgrade-popup .release-notes, .model-explorer-upgrade-popup .download-desktop-app{display:flex;align-items:center} .model-explorer-upgrade-popup .item-icon{font-size:16px;width:16px;height:16px;margin-right:4px;color:#777}"]})}return i})();function w_e(i,e){i&1&&ee(0,"mat-spinner",5)}function C_e(i,e){i&1&&(v(0,"mat-icon"),S(1,"add_circle_outline"),b())}function S_e(i,e){i&1&&(v(0,"div",7),S(1," Add custom data and styles to the nodes in the current model "),b())}function M_e(i,e){if(i&1){let t=ne();v(0,"div",8)(1,"div",9)(2,"div"),S(3,"Load json data file"),b(),v(4,"a",10),S(5," Guide "),b()(),v(6,"div",11)(7,"div",12),S(8,"From computer"),b(),v(9,"button",13),H("click",function(){B(t);let r=ve(12);return V(r.click())}),S(10," Upload "),b()(),v(11,"input",14,2),H("change",function(){B(t);let r=ve(12),o=I();return V(o.handleClickUpload(r))}),b()()}}var Hj=(()=>{class i{appService;changeDetectorRef;localStorageService;nodeDataProviderExtensionService;dropdown;extensions=[];loadingExtensions=!0;helpPopupSize={minWidth:0,minHeight:0};dropdownSize={minWidth:0,minHeight:0,maxHeight:500};remoteSourceLoading;constructor(t,n,r,o){this.appService=t,this.changeDetectorRef=n,this.localStorageService=r,this.nodeDataProviderExtensionService=o,this.remoteSourceLoading=this.nodeDataProviderExtensionService.remoteSourceLoading}handleClickUpload(t){let n=t.files;if(!n)return;let r=this.appService.getModelGraphFromSelectedPane();if(r){for(let o of Array.from(n)){let s=new FileReader;s.onload=a=>{let c=Ur();try{let l=this.getNodeDataProviderData(a.target?.result,r);this.nodeDataProviderExtensionService.addRun(c,o.name,"",r,l)}catch(l){this.nodeDataProviderExtensionService.addRun(c,o.name,"",r),this.nodeDataProviderExtensionService.updateRunResults(c,{[r.id]:{results:{}}},r,`Failed to process JSON file. ${l}`)}finally{this.dropdown?.closeDialog()}},s.readAsText(o)}t.value=""}}getNodeDataProviderData(t,n){let r=JSON.parse(t),o={};return r.results!=null&&r.results.results==null?n&&(o[n.id]=r):o=r,o}static \u0275fac=function(n){return new(n||i)(M(at),M(Ne),M(no),M(Mr))};static \u0275cmp=ce({type:i,selectors:[["node-data-provider-dropdown"]],viewQuery:function(n,r){if(n&1&&Ee(Is,5),n&2){let o;be(o=ye())&&(r.dropdown=o.first)}},standalone:!0,features:[le],decls:10,vars:6,consts:[["help",""],["dropdown",""],["input",""],[1,"container",3,"bubble","overlaySize","hoverDelayMs"],[1,"icon-container",3,"bubbleClick","overlaySize"],["color","primary","diameter","18"],[1,"label"],[1,"model-explorer-help-popup"],[1,"model-explorer-node-data-provider-dropdown"],[1,"section-label","upload"],["href","https://github.com/google-ai-edge/model-explorer/wiki/2.-User-Guide#custom-node-data","target","_blank"],[1,"upload-container"],[1,"description"],["mat-flat-button","","color","primary",1,"upload-json-file-button","upload",3,"click"],["type","file","multiple","","accept",".json",1,"upload-per-node-data-input",3,"change"]],template:function(n,r){if(n&1&&(v(0,"div",3)(1,"div",4),$(2,w_e,1,0,"mat-spinner",5)(3,C_e,2,0,"mat-icon"),v(4,"span",6),S(5,"Add per-node data"),b()()(),$(6,S_e,2,0,"ng-template",null,0,Tt)(8,M_e,13,0,"ng-template",null,1,Tt)),n&2){let o=ve(7),s=ve(9);R("bubble",o)("overlaySize",r.helpPopupSize)("hoverDelayMs",10),w(),R("bubbleClick",s)("overlaySize",r.dropdownSize),w(),oe(r.remoteSourceLoading()?2:3)}},dependencies:[Hn,Is,Ae,xn,Ti,tt,pt,ao,fa,Xt],styles:[`.container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;cursor:pointer;color:#666;padding-bottom:12px;margin-bottom:-12px}.container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-right:4px}.container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%] mat-spinner[_ngcontent-%COMP%]{margin-right:6px}.container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{font-size:13px}.container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]:hover{color:#444} .model-explorer-node-data-provider-dropdown{font-size:12px;background-color:#fff;display:flex;flex-direction:column;padding-bottom:8px} .model-explorer-node-data-provider-dropdown .section-label{padding:8px 12px;font-size:11px;background:#f1f1f1;font-weight:500;text-transform:uppercase} .model-explorer-node-data-provider-dropdown .section-label .address-container{text-transform:none;font-weight:400;letter-spacing:normal;color:#777;line-height:12px;padding-bottom:5px;display:flex;align-items:flex-start;margin-top:-4px;margin-left:-2px} .model-explorer-node-data-provider-dropdown .section-label .address-container .address-label{overflow:hidden;line-break:anywhere;line-height:12px;flex-grow:1;padding-top:3px} .model-explorer-node-data-provider-dropdown .section-label .address-container .settings-icon-container{display:flex;align-items:center;justify-content:center;margin-right:4px;pointer-events:all;cursor:pointer;opacity:.7} .model-explorer-node-data-provider-dropdown .section-label .address-container .settings-icon-container:hover{opacity:1} .model-explorer-node-data-provider-dropdown .section-label .address-container .settings-icon-container mat-icon{font-size:16px;width:16px;height:16px} .model-explorer-node-data-provider-dropdown .section-label.upload{display:flex;align-items:center;justify-content:space-between;min-width:180px} .model-explorer-node-data-provider-dropdown .section-label.upload a{font-size:11px;letter-spacing:normal;text-transform:none;pointer-events:all} .model-explorer-node-data-provider-dropdown .description{font-size:12px;color:#777;line-height:18px;letter-spacing:normal} .model-explorer-node-data-provider-dropdown .upload-container{display:flex;flex-direction:column;align-items:flex-start;padding:0 16px;margin-top:12px} .model-explorer-node-data-provider-dropdown .upload-json-file-button{margin:4px 0;width:90px;height:30px;font-size:12px!important;letter-spacing:normal!important} .model-explorer-node-data-provider-dropdown .upload-json-file-button.upload{margin-top:2px} .model-explorer-node-data-provider-dropdown .upload-json-file-button .mat-mdc-button-touch-target{display:none} .model-explorer-node-data-provider-dropdown .or-divider{height:1px;border-top:1px solid #eee;position:relative;margin-top:12px} .model-explorer-node-data-provider-dropdown .or-divider .or-label{font-size:10px;top:-9px;color:#aaa;position:absolute;padding:2px;background-color:#fff;display:flex;align-items:center;justify-content:center;width:16px;left:calc(50% - 8px)} .model-explorer-node-data-provider-dropdown .upload-per-node-data-input{display:none} .model-explorer-node-data-provider-dropdown .no-extension, .model-explorer-node-data-provider-dropdown .loading-extension{padding:12px 0 4px 16px;color:#999;font-size:13px;letter-spacing:normal} @@ -4036,7 +4037,7 @@ Alt+click: select`;getNamespaceLabel=cd;constValuesPopupSize={minWidth:100,minHe -`],changeDetection:0})}return i})();function V_e(i,e){if(i&1&&(v(0,"div",3),ee(1,"io-tree",4),b()),i&2){let t=I();w(),N("data",t.curIoTreeData)("rendererId",t.rendererId)("tooltipPosition","right")}}var m5=(()=>{class i{nodes=[];rendererId="";labelSuffix="node";popupSize={minWidth:320,maxWidth:640,minHeight:0};curIoTreeData=[];ngOnChanges(t){t.nodes&&(this.curIoTreeData=cl(this.nodes,[],"incoming"))}get label(){let t=this.nodes.length;return`${t} ${this.labelSuffix}${t===1?"":"s"}`}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=le({type:i,selectors:[["node-list-viewer"]],inputs:{nodes:"nodes",rendererId:"rendererId",labelSuffix:"labelSuffix"},standalone:!0,features:[dn,ce],decls:5,vars:5,consts:[["nodeList",""],[1,"container"],["panelClass","model-explorer-node-list-panel",1,"label-container",3,"bubbleClick","overlaySize"],[1,"model-explorer-node-list"],[3,"data","rendererId","tooltipPosition"]],template:function(n,r){if(n&1&&(v(0,"div",1)(1,"div",2),S(2),b(),W(3,V_e,2,3,"ng-template",null,0,kt),b()),n&2){let o=ve(4);w(),se("disabled",r.nodes.length===0),N("bubbleClick",o)("overlaySize",r.popupSize),w(),Me(" ",r.label," ")}},dependencies:[wc,Ae,xc,it],styles:[`.container[_ngcontent-%COMP%]{display:flex;position:relative}.label-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;padding:4px 6px;border-radius:4px;background-color:#a3c9ff;line-height:14px;cursor:pointer;-webkit-user-select:none;user-select:none;opacity:.8}.label-container[_ngcontent-%COMP%]:hover{opacity:1}.label-container.disabled[_ngcontent-%COMP%]{pointer-events:none;background-color:#ddd} .model-explorer-node-list{font-size:12px;background-color:#fff;line-height:normal} .model-explorer-node-list-panel bubble-container{width:100%} +`],changeDetection:0})}return i})();function E_e(i,e){}var Eu=class{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.ariaModal=!0,this.autoFocus="first-tabbable",this.restoreFocus=!0,this.closeOnNavigation=!0,this.closeOnDestroy=!0,this.closeOnOverlayDetachments=!0}};var GO=(()=>{let e=class e extends da{constructor(n,r,o,s,a,c,l,d){super(),this._elementRef=n,this._focusTrapFactory=r,this._config=s,this._interactivityChecker=a,this._ngZone=c,this._overlayRef=l,this._focusMonitor=d,this._platform=te(gn),this._focusTrap=null,this._elementFocusedBeforeDialogWasOpened=null,this._closeInteractionType=null,this._ariaLabelledByQueue=[],this._changeDetectorRef=te(Ne),this._injector=te(vt),this._isDestroyed=!1,this.attachDomPortal=u=>{this._portalOutlet.hasAttached();let h=this._portalOutlet.attachDomPortal(u);return this._contentAttached(),h},this._document=o,this._config.ariaLabelledBy&&this._ariaLabelledByQueue.push(this._config.ariaLabelledBy)}_addAriaLabelledBy(n){this._ariaLabelledByQueue.push(n),this._changeDetectorRef.markForCheck()}_removeAriaLabelledBy(n){let r=this._ariaLabelledByQueue.indexOf(n);r>-1&&(this._ariaLabelledByQueue.splice(r,1),this._changeDetectorRef.markForCheck())}_contentAttached(){this._initializeFocusTrap(),this._handleBackdropClicks(),this._captureInitialFocus()}_captureInitialFocus(){this._trapFocus()}ngOnDestroy(){this._isDestroyed=!0,this._restoreFocus()}attachComponentPortal(n){this._portalOutlet.hasAttached();let r=this._portalOutlet.attachComponentPortal(n);return this._contentAttached(),r}attachTemplatePortal(n){this._portalOutlet.hasAttached();let r=this._portalOutlet.attachTemplatePortal(n);return this._contentAttached(),r}_recaptureFocus(){this._containsFocus()||this._trapFocus()}_forceFocus(n,r){this._interactivityChecker.isFocusable(n)||(n.tabIndex=-1,this._ngZone.runOutsideAngular(()=>{let o=()=>{n.removeEventListener("blur",o),n.removeEventListener("mousedown",o),n.removeAttribute("tabindex")};n.addEventListener("blur",o),n.addEventListener("mousedown",o)})),n.focus(r)}_focusByCssSelector(n,r){let o=this._elementRef.nativeElement.querySelector(n);o&&this._forceFocus(o,r)}_trapFocus(){this._isDestroyed||Hi(()=>{let n=this._elementRef.nativeElement;switch(this._config.autoFocus){case!1:case"dialog":this._containsFocus()||n.focus();break;case!0:case"first-tabbable":this._focusTrap?.focusInitialElement()||this._focusDialogContainer();break;case"first-heading":this._focusByCssSelector('h1, h2, h3, h4, h5, h6, [role="heading"]');break;default:this._focusByCssSelector(this._config.autoFocus);break}},{injector:this._injector})}_restoreFocus(){let n=this._config.restoreFocus,r=null;if(typeof n=="string"?r=this._document.querySelector(n):typeof n=="boolean"?r=n?this._elementFocusedBeforeDialogWasOpened:null:n&&(r=n),this._config.restoreFocus&&r&&typeof r.focus=="function"){let o=Gm(),s=this._elementRef.nativeElement;(!o||o===this._document.body||o===s||s.contains(o))&&(this._focusMonitor?(this._focusMonitor.focusVia(r,this._closeInteractionType),this._closeInteractionType=null):r.focus())}this._focusTrap&&this._focusTrap.destroy()}_focusDialogContainer(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_containsFocus(){let n=this._elementRef.nativeElement,r=Gm();return n===r||n.contains(r)}_initializeFocusTrap(){this._platform.isBrowser&&(this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement),this._document&&(this._elementFocusedBeforeDialogWasOpened=Gm()))}_handleBackdropClicks(){this._overlayRef.backdropClick().subscribe(()=>{this._config.disableClose&&this._recaptureFocus()})}};e.\u0275fac=function(r){return new(r||e)(M(Re),M(Ty),M(Xe,8),M(Eu),M(Fh),M(Fe),M(cc),M(Gr))},e.\u0275cmp=ce({type:e,selectors:[["cdk-dialog-container"]],viewQuery:function(r,o){if(r&1&&Ee(es,7),r&2){let s;be(s=ye())&&(o._portalOutlet=s.first)}},hostAttrs:["tabindex","-1",1,"cdk-dialog-container"],hostVars:6,hostBindings:function(r,o){r&2&&Ye("id",o._config.id||null)("role",o._config.role)("aria-modal",o._config.ariaModal)("aria-labelledby",o._config.ariaLabel?null:o._ariaLabelledByQueue[0])("aria-label",o._config.ariaLabel)("aria-describedby",o._config.ariaDescribedBy||null)},standalone:!0,features:[sn,le],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(r,o){r&1&&$(0,E_e,0,0,"ng-template",0)},dependencies:[es],styles:[".cdk-dialog-container{display:block;width:100%;height:100%;min-height:inherit;max-height:inherit}"],encapsulation:2});let i=e;return i})(),tv=class{constructor(e,t){this.overlayRef=e,this.config=t,this.closed=new pe,this.disableClose=t.disableClose,this.backdropClick=e.backdropClick(),this.keydownEvents=e.keydownEvents(),this.outsidePointerEvents=e.outsidePointerEvents(),this.id=t.id,this.keydownEvents.subscribe(n=>{n.keyCode===27&&!this.disableClose&&!bi(n)&&(n.preventDefault(),this.close(void 0,{focusOrigin:"keyboard"}))}),this.backdropClick.subscribe(()=>{this.disableClose||this.close(void 0,{focusOrigin:"mouse"})}),this._detachSubscription=e.detachments().subscribe(()=>{t.closeOnOverlayDetachments!==!1&&this.close()})}close(e,t){if(this.containerInstance){let n=this.closed;this.containerInstance._closeInteractionType=t?.focusOrigin||"program",this._detachSubscription.unsubscribe(),this.overlayRef.dispose(),n.next(e),n.complete(),this.componentInstance=this.containerInstance=null}}updatePosition(){return this.overlayRef.updatePosition(),this}updateSize(e="",t=""){return this.overlayRef.updateSize({width:e,height:t}),this}addPanelClass(e){return this.overlayRef.addPanelClass(e),this}removePanelClass(e){return this.overlayRef.removePanelClass(e),this}},I_e=new me("DialogScrollStrategy",{providedIn:"root",factory:()=>{let i=te($t);return()=>i.scrollStrategies.block()}}),T_e=new me("DialogData"),D_e=new me("DefaultDialogConfig");var P_e=0,jO=(()=>{let e=class e{get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}constructor(n,r,o,s,a,c){this._overlay=n,this._injector=r,this._defaultOptions=o,this._parentDialog=s,this._overlayContainer=a,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new pe,this._afterOpenedAtThisLevel=new pe,this._ariaHiddenElements=new Map,this.afterAllClosed=Po(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(gi(void 0))),this._scrollStrategy=c}open(n,r){let o=this._defaultOptions||new Eu;r=Z(Z({},o),r),r.id=r.id||`cdk-dialog-${P_e++}`,r.id&&this.getDialogById(r.id);let s=this._getOverlayConfig(r),a=this._overlay.create(s),c=new tv(a,r),l=this._attachContainer(a,c,r);return c.containerInstance=l,this._attachDialogContent(n,c,l,r),this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(c),c.closed.subscribe(()=>this._removeOpenDialog(c,!0)),this.afterOpened.next(c),c}closeAll(){HO(this.openDialogs,n=>n.close())}getDialogById(n){return this.openDialogs.find(r=>r.id===n)}ngOnDestroy(){HO(this._openDialogsAtThisLevel,n=>{n.config.closeOnDestroy===!1&&this._removeOpenDialog(n,!1)}),HO(this._openDialogsAtThisLevel,n=>n.close()),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete(),this._openDialogsAtThisLevel=[]}_getOverlayConfig(n){let r=new fi({positionStrategy:n.positionStrategy||this._overlay.position().global().centerHorizontally().centerVertically(),scrollStrategy:n.scrollStrategy||this._scrollStrategy(),panelClass:n.panelClass,hasBackdrop:n.hasBackdrop,direction:n.direction,minWidth:n.minWidth,minHeight:n.minHeight,maxWidth:n.maxWidth,maxHeight:n.maxHeight,width:n.width,height:n.height,disposeOnNavigation:n.closeOnNavigation});return n.backdropClass&&(r.backdropClass=n.backdropClass),r}_attachContainer(n,r,o){let s=o.injector||o.viewContainerRef?.injector,a=[{provide:Eu,useValue:o},{provide:tv,useValue:r},{provide:cc,useValue:n}],c;o.container?typeof o.container=="function"?c=o.container:(c=o.container.type,a.push(...o.container.providers(o))):c=GO;let l=new Ai(c,o.viewContainerRef,vt.create({parent:s||this._injector,providers:a}),o.componentFactoryResolver);return n.attach(l).instance}_attachDialogContent(n,r,o,s){if(n instanceof Wn){let a=this._createInjector(s,r,o,void 0),c={$implicit:s.data,dialogRef:r};s.templateContext&&(c=Z(Z({},c),typeof s.templateContext=="function"?s.templateContext():s.templateContext)),o.attachTemplatePortal(new Zr(n,null,c,a))}else{let a=this._createInjector(s,r,o,this._injector),c=o.attachComponentPortal(new Ai(n,s.viewContainerRef,a,s.componentFactoryResolver));r.componentRef=c,r.componentInstance=c.instance}}_createInjector(n,r,o,s){let a=n.injector||n.viewContainerRef?.injector,c=[{provide:T_e,useValue:n.data},{provide:tv,useValue:r}];return n.providers&&(typeof n.providers=="function"?c.push(...n.providers(r,n,o)):c.push(...n.providers)),n.direction&&(!a||!a.get(di,null,{optional:!0}))&&c.push({provide:di,useValue:{value:n.direction,change:Ke()}}),vt.create({parent:a||s,providers:c})}_removeOpenDialog(n,r){let o=this.openDialogs.indexOf(n);o>-1&&(this.openDialogs.splice(o,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((s,a)=>{s?a.setAttribute("aria-hidden",s):a.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),r&&this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){let n=this._overlayContainer.getContainerElement();if(n.parentElement){let r=n.parentElement.children;for(let o=r.length-1;o>-1;o--){let s=r[o];s!==n&&s.nodeName!=="SCRIPT"&&s.nodeName!=="STYLE"&&!s.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(s,s.getAttribute("aria-hidden")),s.setAttribute("aria-hidden","true"))}}}_getAfterAllClosed(){let n=this._parentDialog;return n?n._getAfterAllClosed():this._afterAllClosedAtThisLevel}};e.\u0275fac=function(r){return new(r||e)(X($t),X(vt),X(D_e,8),X(e,12),X(sf),X(I_e))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})();function HO(i,e){let t=i.length;for(;t--;)e(i[t])}var Gj=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=rt({type:e}),e.\u0275inj=it({providers:[jO],imports:[oo,Es,Py,Es]});let i=e;return i})();function O_e(i,e){}var nv=class{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.ariaModal=!0,this.autoFocus="first-tabbable",this.restoreFocus=!0,this.delayFocusTrap=!0,this.closeOnNavigation=!0}},WO="mdc-dialog--open",jj="mdc-dialog--opening",Wj="mdc-dialog--closing",R_e=150,A_e=75,N_e=(()=>{let e=class e extends GO{constructor(n,r,o,s,a,c,l,d,u){super(n,r,o,s,a,c,l,u),this._animationMode=d,this._animationStateChanged=new Ie,this._animationsEnabled=this._animationMode!=="NoopAnimations",this._actionSectionCount=0,this._hostElement=this._elementRef.nativeElement,this._enterAnimationDuration=this._animationsEnabled?qj(this._config.enterAnimationDuration)??R_e:0,this._exitAnimationDuration=this._animationsEnabled?qj(this._config.exitAnimationDuration)??A_e:0,this._animationTimer=null,this._finishDialogOpen=()=>{this._clearAnimationClasses(),this._openAnimationDone(this._enterAnimationDuration)},this._finishDialogClose=()=>{this._clearAnimationClasses(),this._animationStateChanged.emit({state:"closed",totalTime:this._exitAnimationDuration})}}_contentAttached(){super._contentAttached(),this._startOpenAnimation()}_startOpenAnimation(){this._animationStateChanged.emit({state:"opening",totalTime:this._enterAnimationDuration}),this._animationsEnabled?(this._hostElement.style.setProperty($j,`${this._enterAnimationDuration}ms`),this._requestAnimationFrame(()=>this._hostElement.classList.add(jj,WO)),this._waitForAnimationToComplete(this._enterAnimationDuration,this._finishDialogOpen)):(this._hostElement.classList.add(WO),Promise.resolve().then(()=>this._finishDialogOpen()))}_startExitAnimation(){this._animationStateChanged.emit({state:"closing",totalTime:this._exitAnimationDuration}),this._hostElement.classList.remove(WO),this._animationsEnabled?(this._hostElement.style.setProperty($j,`${this._exitAnimationDuration}ms`),this._requestAnimationFrame(()=>this._hostElement.classList.add(Wj)),this._waitForAnimationToComplete(this._exitAnimationDuration,this._finishDialogClose)):Promise.resolve().then(()=>this._finishDialogClose())}_updateActionSectionCount(n){this._actionSectionCount+=n,this._changeDetectorRef.markForCheck()}_clearAnimationClasses(){this._hostElement.classList.remove(jj,Wj)}_waitForAnimationToComplete(n,r){this._animationTimer!==null&&clearTimeout(this._animationTimer),this._animationTimer=setTimeout(r,n)}_requestAnimationFrame(n){this._ngZone.runOutsideAngular(()=>{typeof requestAnimationFrame=="function"?requestAnimationFrame(n):n()})}_captureInitialFocus(){this._config.delayFocusTrap||this._trapFocus()}_openAnimationDone(n){this._config.delayFocusTrap&&this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:n})}ngOnDestroy(){super.ngOnDestroy(),this._animationTimer!==null&&clearTimeout(this._animationTimer)}attachComponentPortal(n){let r=super.attachComponentPortal(n);return r.location.nativeElement.classList.add("mat-mdc-dialog-component-host"),r}};e.\u0275fac=function(r){return new(r||e)(M(Re),M(Ty),M(Xe,8),M(nv),M(Fh),M(Fe),M(cc),M(jn,8),M(Gr))},e.\u0275cmp=ce({type:e,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1",1,"mat-mdc-dialog-container","mdc-dialog"],hostVars:10,hostBindings:function(r,o){r&2&&(Fo("id",o._config.id),Ye("aria-modal",o._config.ariaModal)("role",o._config.role)("aria-labelledby",o._config.ariaLabel?null:o._ariaLabelledByQueue[0])("aria-label",o._config.ariaLabel)("aria-describedby",o._config.ariaDescribedBy||null),re("_mat-animation-noopable",!o._animationsEnabled)("mat-mdc-dialog-container-with-actions",o._actionSectionCount>0))},standalone:!0,features:[sn,le],decls:3,vars:0,consts:[[1,"mat-mdc-dialog-inner-container","mdc-dialog__container"],[1,"mat-mdc-dialog-surface","mdc-dialog__surface"],["cdkPortalOutlet",""]],template:function(r,o){r&1&&(v(0,"div",0)(1,"div",1),$(2,O_e,0,0,"ng-template",2),b()())},dependencies:[es],styles:['.mat-mdc-dialog-container{width:100%;height:100%;display:block;box-sizing:border-box;max-height:inherit;min-height:inherit;min-width:inherit;max-width:inherit;outline:0}.cdk-overlay-pane.mat-mdc-dialog-panel{max-width:var(--mat-dialog-container-max-width, 80vw);min-width:var(--mat-dialog-container-min-width, 0)}@media(max-width: 599px){.cdk-overlay-pane.mat-mdc-dialog-panel{max-width:var(--mat-dialog-container-small-max-width, 80vw)}}.mat-mdc-dialog-inner-container{display:flex;flex-direction:row;align-items:center;justify-content:space-around;box-sizing:border-box;height:100%;opacity:0;transition:opacity linear var(--mat-dialog-transition-duration, 0ms);max-height:inherit;min-height:inherit;min-width:inherit;max-width:inherit}.mdc-dialog--closing .mat-mdc-dialog-inner-container{transition:opacity 75ms linear;transform:none}.mdc-dialog--open .mat-mdc-dialog-inner-container{opacity:1}._mat-animation-noopable .mat-mdc-dialog-inner-container{transition:none}.mat-mdc-dialog-surface{display:flex;flex-direction:column;flex-grow:0;flex-shrink:0;box-sizing:border-box;width:100%;height:100%;position:relative;overflow-y:auto;outline:0;transform:scale(0.8);transition:transform var(--mat-dialog-transition-duration, 0ms) cubic-bezier(0, 0, 0.2, 1);max-height:inherit;min-height:inherit;min-width:inherit;max-width:inherit;box-shadow:var(--mat-dialog-container-elevation-shadow, 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12));border-radius:var(--mdc-dialog-container-shape, 4px);background-color:var(--mdc-dialog-container-color, white)}[dir=rtl] .mat-mdc-dialog-surface{text-align:right}.mdc-dialog--open .mat-mdc-dialog-surface,.mdc-dialog--closing .mat-mdc-dialog-surface{transform:none}._mat-animation-noopable .mat-mdc-dialog-surface{transition:none}.mat-mdc-dialog-surface::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:2px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}.mat-mdc-dialog-title{display:block;position:relative;flex-shrink:0;box-sizing:border-box;margin:0 0 1px;padding:var(--mat-dialog-headline-padding, 0 24px 9px)}.mat-mdc-dialog-title::before{display:inline-block;width:0;height:40px;content:"";vertical-align:0}[dir=rtl] .mat-mdc-dialog-title{text-align:right}.mat-mdc-dialog-container .mat-mdc-dialog-title{color:var(--mdc-dialog-subhead-color, rgba(0, 0, 0, 0.87));font-family:var(--mdc-dialog-subhead-font, Roboto, sans-serif);line-height:var(--mdc-dialog-subhead-line-height, 1.5rem);font-size:var(--mdc-dialog-subhead-size, 1rem);font-weight:var(--mdc-dialog-subhead-weight, 400);letter-spacing:var(--mdc-dialog-subhead-tracking, 0.03125em)}.mat-mdc-dialog-content{display:block;flex-grow:1;box-sizing:border-box;margin:0;overflow:auto;max-height:65vh}.mat-mdc-dialog-content>:first-child{margin-top:0}.mat-mdc-dialog-content>:last-child{margin-bottom:0}.mat-mdc-dialog-container .mat-mdc-dialog-content{color:var(--mdc-dialog-supporting-text-color, rgba(0, 0, 0, 0.6));font-family:var(--mdc-dialog-supporting-text-font, Roboto, sans-serif);line-height:var(--mdc-dialog-supporting-text-line-height, 1.5rem);font-size:var(--mdc-dialog-supporting-text-size, 1rem);font-weight:var(--mdc-dialog-supporting-text-weight, 400);letter-spacing:var(--mdc-dialog-supporting-text-tracking, 0.03125em)}.mat-mdc-dialog-container .mat-mdc-dialog-content{padding:var(--mat-dialog-content-padding, 20px 24px)}.mat-mdc-dialog-container-with-actions .mat-mdc-dialog-content{padding:var(--mat-dialog-with-actions-content-padding, 20px 24px)}.mat-mdc-dialog-container .mat-mdc-dialog-title+.mat-mdc-dialog-content{padding-top:0}.mat-mdc-dialog-actions{display:flex;position:relative;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;box-sizing:border-box;min-height:52px;margin:0;padding:8px;border-top:1px solid rgba(0,0,0,0);padding:var(--mat-dialog-actions-padding, 8px);justify-content:var(--mat-dialog-actions-alignment, start)}.cdk-high-contrast-active .mat-mdc-dialog-actions{border-top-color:CanvasText}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-start,.mat-mdc-dialog-actions[align=start]{justify-content:start}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-center,.mat-mdc-dialog-actions[align=center]{justify-content:center}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-end,.mat-mdc-dialog-actions[align=end]{justify-content:flex-end}.mat-mdc-dialog-actions .mat-button-base+.mat-button-base,.mat-mdc-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-mdc-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-mdc-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}.mat-mdc-dialog-component-host{display:contents}'],encapsulation:2});let i=e;return i})(),$j="--mat-dialog-transition-duration";function qj(i){return i==null?null:typeof i=="number"?i:i.endsWith("ms")?Qs(i.substring(0,i.length-2)):i.endsWith("s")?Qs(i.substring(0,i.length-1))*1e3:i==="0"?0:null}var XC=function(i){return i[i.OPEN=0]="OPEN",i[i.CLOSING=1]="CLOSING",i[i.CLOSED=2]="CLOSED",i}(XC||{}),iv=class{constructor(e,t,n){this._ref=e,this._containerInstance=n,this._afterOpened=new pe,this._beforeClosed=new pe,this._state=XC.OPEN,this.disableClose=t.disableClose,this.id=e.id,e.addPanelClass("mat-mdc-dialog-panel"),n._animationStateChanged.pipe(qt(r=>r.state==="opened"),_n(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),n._animationStateChanged.pipe(qt(r=>r.state==="closed"),_n(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),e.overlayRef.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._finishDialogClose()}),Zn(this.backdropClick(),this.keydownEvents().pipe(qt(r=>r.keyCode===27&&!this.disableClose&&!bi(r)))).subscribe(r=>{this.disableClose||(r.preventDefault(),Yj(this,r.type==="keydown"?"keyboard":"mouse"))})}close(e){this._result=e,this._containerInstance._animationStateChanged.pipe(qt(t=>t.state==="closing"),_n(1)).subscribe(t=>{this._beforeClosed.next(e),this._beforeClosed.complete(),this._ref.overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),t.totalTime+100)}),this._state=XC.CLOSING,this._containerInstance._startExitAnimation()}afterOpened(){return this._afterOpened}afterClosed(){return this._ref.closed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._ref.backdropClick}keydownEvents(){return this._ref.keydownEvents}updatePosition(e){let t=this._ref.config.positionStrategy;return e&&(e.left||e.right)?e.left?t.left(e.left):t.right(e.right):t.centerHorizontally(),e&&(e.top||e.bottom)?e.top?t.top(e.top):t.bottom(e.bottom):t.centerVertically(),this._ref.updatePosition(),this}updateSize(e="",t=""){return this._ref.updateSize(e,t),this}addPanelClass(e){return this._ref.addPanelClass(e),this}removePanelClass(e){return this._ref.removePanelClass(e),this}getState(){return this._state}_finishDialogClose(){this._state=XC.CLOSED,this._ref.close(this._result,{focusOrigin:this._closeInteractionType}),this.componentInstance=null}};function Yj(i,e,t){return i._closeInteractionType=e,i.close(t)}var k_e=new me("MatMdcDialogData"),L_e=new me("mat-mdc-dialog-default-options"),F_e=new me("mat-mdc-dialog-scroll-strategy",{providedIn:"root",factory:()=>{let i=te($t);return()=>i.scrollStrategies.block()}});var B_e=0,Iu=(()=>{let e=class e{get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){let n=this._parentDialog;return n?n._getAfterAllClosed():this._afterAllClosedAtThisLevel}constructor(n,r,o,s,a,c,l,d){this._overlay=n,this._defaultOptions=s,this._scrollStrategy=a,this._parentDialog=c,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new pe,this._afterOpenedAtThisLevel=new pe,this.dialogConfigClass=nv,this.afterAllClosed=Po(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(gi(void 0))),this._dialog=r.get(jO),this._dialogRefConstructor=iv,this._dialogContainerType=N_e,this._dialogDataToken=k_e}open(n,r){let o;r=Z(Z({},this._defaultOptions||new nv),r),r.id=r.id||`mat-mdc-dialog-${B_e++}`,r.scrollStrategy=r.scrollStrategy||this._scrollStrategy();let s=this._dialog.open(n,yt(Z({},r),{positionStrategy:this._overlay.position().global().centerHorizontally().centerVertically(),disableClose:!0,closeOnDestroy:!1,closeOnOverlayDetachments:!1,container:{type:this._dialogContainerType,providers:()=>[{provide:this.dialogConfigClass,useValue:r},{provide:Eu,useValue:r}]},templateContext:()=>({dialogRef:o}),providers:(a,c,l)=>(o=new this._dialogRefConstructor(a,r,l),o.updatePosition(r?.position),[{provide:this._dialogContainerType,useValue:l},{provide:this._dialogDataToken,useValue:c.data},{provide:this._dialogRefConstructor,useValue:o}])}));return o.componentRef=s.componentRef,o.componentInstance=s.componentInstance,this.openDialogs.push(o),this.afterOpened.next(o),o.afterClosed().subscribe(()=>{let a=this.openDialogs.indexOf(o);a>-1&&(this.openDialogs.splice(a,1),this.openDialogs.length||this._getAfterAllClosed().next())}),o}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(n){return this.openDialogs.find(r=>r.id===n)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_closeDialogs(n){let r=n.length;for(;r--;)n[r].close()}};e.\u0275fac=function(r){return new(r||e)(X($t),X(vt),X(Ra,8),X(L_e,8),X(F_e),X(e,12),X(sf),X(jn,8))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})(),V_e=0,pf=(()=>{let e=class e{constructor(n,r,o){this.dialogRef=n,this._elementRef=r,this._dialog=o,this.type="button"}ngOnInit(){this.dialogRef||(this.dialogRef=Zj(this._elementRef,this._dialog.openDialogs))}ngOnChanges(n){let r=n._matDialogClose||n._matDialogCloseResult;r&&(this.dialogResult=r.currentValue)}_onButtonClick(n){Yj(this.dialogRef,n.screenX===0&&n.screenY===0?"keyboard":"mouse",this.dialogResult)}};e.\u0275fac=function(r){return new(r||e)(M(iv,8),M(Re),M(Iu))},e.\u0275dir=Ve({type:e,selectors:[["","mat-dialog-close",""],["","matDialogClose",""]],hostVars:2,hostBindings:function(r,o){r&1&&H("click",function(a){return o._onButtonClick(a)}),r&2&&Ye("aria-label",o.ariaLabel||null)("type",o.type)},inputs:{ariaLabel:[0,"aria-label","ariaLabel"],type:"type",dialogResult:[0,"mat-dialog-close","dialogResult"],_matDialogClose:[0,"matDialogClose","_matDialogClose"]},exportAs:["matDialogClose"],standalone:!0,features:[dn]});let i=e;return i})(),Xj=(()=>{let e=class e{constructor(n,r,o){this._dialogRef=n,this._elementRef=r,this._dialog=o}ngOnInit(){this._dialogRef||(this._dialogRef=Zj(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(()=>{this._onAdd()})}ngOnDestroy(){this._dialogRef?._containerInstance&&Promise.resolve().then(()=>{this._onRemove()})}};e.\u0275fac=function(r){return new(r||e)(M(iv,8),M(Re),M(Iu))},e.\u0275dir=Ve({type:e,standalone:!0});let i=e;return i})(),ff=(()=>{let e=class e extends Xj{constructor(){super(...arguments),this.id=`mat-mdc-dialog-title-${V_e++}`}_onAdd(){this._dialogRef._containerInstance?._addAriaLabelledBy?.(this.id)}_onRemove(){this._dialogRef?._containerInstance?._removeAriaLabelledBy?.(this.id)}};e.\u0275fac=(()=>{let n;return function(o){return(n||(n=Li(e)))(o||e)}})(),e.\u0275dir=Ve({type:e,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-mdc-dialog-title","mdc-dialog__title"],hostVars:1,hostBindings:function(r,o){r&2&&Fo("id",o.id)},inputs:{id:"id"},exportAs:["matDialogTitle"],standalone:!0,features:[sn]});let i=e;return i})(),mf=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275dir=Ve({type:e,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-mdc-dialog-content","mdc-dialog__content"],standalone:!0,features:[I2([aO])]});let i=e;return i})(),gf=(()=>{let e=class e extends Xj{_onAdd(){this._dialogRef._containerInstance?._updateActionSectionCount?.(1)}_onRemove(){this._dialogRef._containerInstance?._updateActionSectionCount?.(-1)}};e.\u0275fac=(()=>{let n;return function(o){return(n||(n=Li(e)))(o||e)}})(),e.\u0275dir=Ve({type:e,selectors:[["","mat-dialog-actions",""],["mat-dialog-actions"],["","matDialogActions",""]],hostAttrs:[1,"mat-mdc-dialog-actions","mdc-dialog__actions"],hostVars:6,hostBindings:function(r,o){r&2&&re("mat-mdc-dialog-actions-align-start",o.align==="start")("mat-mdc-dialog-actions-align-center",o.align==="center")("mat-mdc-dialog-actions-align-end",o.align==="end")},inputs:{align:"align"},standalone:!0,features:[sn]});let i=e;return i})();function Zj(i,e){let t=i.nativeElement.parentElement;for(;t&&!t.classList.contains("mat-mdc-dialog-container");)t=t.parentElement;return t?e.find(n=>n.id===t.id):null}var _a=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=rt({type:e}),e.\u0275inj=it({providers:[Iu],imports:[Gj,oo,Es,Ut,Ut]});let i=e;return i})();function u5(i){let e=i.cloneNode(!0),t=e.querySelectorAll("[id]"),n=i.nodeName.toLowerCase();e.removeAttribute("id");for(let r=0;r=n&&t<=r&&e>=o&&e<=s}function sv(i,e,t){i.top+=e,i.bottom=i.top+i.height,i.left+=t,i.right=i.left+i.width}function e5(i,e,t,n){let{top:r,right:o,bottom:s,left:a,width:c,height:l}=i,d=c*e,u=l*e;return n>r-u&&na-d&&t{this.positions.set(t,{scrollPosition:{top:t.scrollTop,left:t.scrollLeft},clientRect:JO(t)})})}handleScroll(e){let t=Ii(e),n=this.positions.get(t);if(!n)return null;let r=n.scrollPosition,o,s;if(t===this._document){let l=this.getViewportScrollPosition();o=l.top,s=l.left}else o=t.scrollTop,s=t.scrollLeft;let a=r.top-o,c=r.left-s;return this.positions.forEach((l,d)=>{l.clientRect&&t!==d&&t.contains(d)&&sv(l.clientRect,a,c)}),r.top=o,r.left=s,{top:a,left:c}}getViewportScrollPosition(){return{top:window.scrollY,left:window.scrollX}}};function h5(i,e){let t=i.rootNodes;if(t.length===1&&t[0].nodeType===e.ELEMENT_NODE)return t[0];let n=e.createElement("div");return t.forEach(r=>n.appendChild(r)),n}function eR(i,e,t){for(let n in e)if(e.hasOwnProperty(n)){let r=e[n];r?i.setProperty(n,r,t?.has(n)?"important":""):i.removeProperty(n)}return i}function _f(i,e){let t=e?"":"none";eR(i.style,{"touch-action":e?"":"none","-webkit-user-drag":e?"":"none","-webkit-tap-highlight-color":e?"":"transparent","user-select":t,"-ms-user-select":t,"-webkit-user-select":t,"-moz-user-select":t})}function t5(i,e,t){eR(i.style,{position:e?"":"fixed",top:e?"":"0",opacity:e?"":"0",left:e?"":"-999em"},t)}function eS(i,e){return e&&e!="none"?i+" "+e:i}function n5(i,e){i.style.width=`${e.width}px`,i.style.height=`${e.height}px`,i.style.transform=tS(e.left,e.top)}function tS(i,e){return`translate3d(${Math.round(i)}px, ${Math.round(e)}px, 0)`}function i5(i){let e=i.toLowerCase().indexOf("ms")>-1?1:1e3;return parseFloat(i)*e}function U_e(i){let e=getComputedStyle(i),t=$O(e,"transition-property"),n=t.find(a=>a==="transform"||a==="all");if(!n)return 0;let r=t.indexOf(n),o=$O(e,"transition-duration"),s=$O(e,"transition-delay");return i5(o[r])+i5(s[r])}function $O(i,e){return i.getPropertyValue(e).split(",").map(n=>n.trim())}var H_e=new Set(["position"]),YO=class{get element(){return this._preview}constructor(e,t,n,r,o,s,a,c,l){this._document=e,this._rootElement=t,this._direction=n,this._initialDomRect=r,this._previewTemplate=o,this._previewClass=s,this._pickupPositionOnPage=a,this._initialTransform=c,this._zIndex=l}attach(e){this._preview=this._createPreview(),e.appendChild(this._preview),"showPopover"in this._preview&&this._preview.showPopover()}destroy(){this._preview.remove(),this._previewEmbeddedView?.destroy(),this._preview=this._previewEmbeddedView=null}setTransform(e){this._preview.style.transform=e}getBoundingClientRect(){return this._preview.getBoundingClientRect()}addClass(e){this._preview.classList.add(e)}getTransitionDuration(){return U_e(this._preview)}addEventListener(e,t){this._preview.addEventListener(e,t)}removeEventListener(e,t){this._preview.removeEventListener(e,t)}_createPreview(){let e=this._previewTemplate,t=this._previewClass,n=e?e.template:null,r;if(n&&e){let o=e.matchSize?this._initialDomRect:null,s=e.viewContainer.createEmbeddedView(n,e.context);s.detectChanges(),r=h5(s,this._document),this._previewEmbeddedView=s,e.matchSize?n5(r,o):r.style.transform=tS(this._pickupPositionOnPage.x,this._pickupPositionOnPage.y)}else r=u5(this._rootElement),n5(r,this._initialDomRect),this._initialTransform&&(r.style.transform=this._initialTransform);return eR(r.style,{"pointer-events":"none",margin:"0",position:"fixed",top:"0",left:"0","z-index":this._zIndex+""},H_e),_f(r,!1),r.classList.add("cdk-drag-preview"),r.setAttribute("popover","manual"),r.setAttribute("dir",this._direction),t&&(Array.isArray(t)?t.forEach(o=>r.classList.add(o)):r.classList.add(t)),r}},r5=Hr({passive:!0}),ZC=Hr({passive:!1}),o5=Hr({passive:!1,capture:!0}),G_e=800,s5=new Set(["position"]),XO=class{get disabled(){return this._disabled||!!(this._dropContainer&&this._dropContainer.disabled)}set disabled(e){e!==this._disabled&&(this._disabled=e,this._toggleNativeDragInteractions(),this._handles.forEach(t=>_f(t,e)))}constructor(e,t,n,r,o,s){this._config=t,this._document=n,this._ngZone=r,this._viewportRuler=o,this._dragDropRegistry=s,this._passiveTransform={x:0,y:0},this._activeTransform={x:0,y:0},this._hasStartedDragging=ct(!1),this._moveEvents=new pe,this._pointerMoveSubscription=Ct.EMPTY,this._pointerUpSubscription=Ct.EMPTY,this._scrollSubscription=Ct.EMPTY,this._resizeSubscription=Ct.EMPTY,this._boundaryElement=null,this._nativeInteractionsEnabled=!0,this._handles=[],this._disabledHandles=new Set,this._direction="ltr",this.dragStartDelay=0,this._disabled=!1,this.beforeStarted=new pe,this.started=new pe,this.released=new pe,this.ended=new pe,this.entered=new pe,this.exited=new pe,this.dropped=new pe,this.moved=this._moveEvents,this._pointerDown=a=>{if(this.beforeStarted.next(),this._handles.length){let c=this._getTargetHandle(a);c&&!this._disabledHandles.has(c)&&!this.disabled&&this._initializeDragSequence(c,a)}else this.disabled||this._initializeDragSequence(this._rootElement,a)},this._pointerMove=a=>{let c=this._getPointerPositionOnPage(a);if(!this._hasStartedDragging()){let d=Math.abs(c.x-this._pickupPositionOnPage.x),u=Math.abs(c.y-this._pickupPositionOnPage.y);if(d+u>=this._config.dragStartThreshold){let p=Date.now()>=this._dragStartTime+this._getDragStartDelay(a),f=this._dropContainer;if(!p){this._endDragSequence(a);return}(!f||!f.isDragging()&&!f.isReceiving())&&(a.cancelable&&a.preventDefault(),this._hasStartedDragging.set(!0),this._ngZone.run(()=>this._startDragSequence(a)))}return}a.cancelable&&a.preventDefault();let l=this._getConstrainedPointerPosition(c);if(this._hasMoved=!0,this._lastKnownPointerPosition=c,this._updatePointerDirectionDelta(l),this._dropContainer)this._updateActiveDropContainer(l,c);else{let d=this.constrainPosition?this._initialDomRect:this._pickupPositionOnPage,u=this._activeTransform;u.x=l.x-d.x+this._passiveTransform.x,u.y=l.y-d.y+this._passiveTransform.y,this._applyRootElementTransform(u.x,u.y)}this._moveEvents.observers.length&&this._ngZone.run(()=>{this._moveEvents.next({source:this,pointerPosition:l,event:a,distance:this._getDragDistance(l),delta:this._pointerDirectionDelta})})},this._pointerUp=a=>{this._endDragSequence(a)},this._nativeDragStart=a=>{if(this._handles.length){let c=this._getTargetHandle(a);c&&!this._disabledHandles.has(c)&&!this.disabled&&a.preventDefault()}else this.disabled||a.preventDefault()},this.withRootElement(e).withParent(t.parentDragRef||null),this._parentPositions=new JC(n),s.registerDragItem(this)}getPlaceholderElement(){return this._placeholder}getRootElement(){return this._rootElement}getVisibleElement(){return this.isDragging()?this.getPlaceholderElement():this.getRootElement()}withHandles(e){this._handles=e.map(n=>nr(n)),this._handles.forEach(n=>_f(n,this.disabled)),this._toggleNativeDragInteractions();let t=new Set;return this._disabledHandles.forEach(n=>{this._handles.indexOf(n)>-1&&t.add(n)}),this._disabledHandles=t,this}withPreviewTemplate(e){return this._previewTemplate=e,this}withPlaceholderTemplate(e){return this._placeholderTemplate=e,this}withRootElement(e){let t=nr(e);return t!==this._rootElement&&(this._rootElement&&this._removeRootElementListeners(this._rootElement),this._ngZone.runOutsideAngular(()=>{t.addEventListener("mousedown",this._pointerDown,ZC),t.addEventListener("touchstart",this._pointerDown,r5),t.addEventListener("dragstart",this._nativeDragStart,ZC)}),this._initialTransform=void 0,this._rootElement=t),typeof SVGElement<"u"&&this._rootElement instanceof SVGElement&&(this._ownerSVGElement=this._rootElement.ownerSVGElement),this}withBoundaryElement(e){return this._boundaryElement=e?nr(e):null,this._resizeSubscription.unsubscribe(),e&&(this._resizeSubscription=this._viewportRuler.change(10).subscribe(()=>this._containInsideBoundaryOnResize())),this}withParent(e){return this._parentDragRef=e,this}dispose(){this._removeRootElementListeners(this._rootElement),this.isDragging()&&this._rootElement?.remove(),this._anchor?.remove(),this._destroyPreview(),this._destroyPlaceholder(),this._dragDropRegistry.removeDragItem(this),this._removeListeners(),this.beforeStarted.complete(),this.started.complete(),this.released.complete(),this.ended.complete(),this.entered.complete(),this.exited.complete(),this.dropped.complete(),this._moveEvents.complete(),this._handles=[],this._disabledHandles.clear(),this._dropContainer=void 0,this._resizeSubscription.unsubscribe(),this._parentPositions.clear(),this._boundaryElement=this._rootElement=this._ownerSVGElement=this._placeholderTemplate=this._previewTemplate=this._anchor=this._parentDragRef=null}isDragging(){return this._hasStartedDragging()&&this._dragDropRegistry.isDragging(this)}reset(){this._rootElement.style.transform=this._initialTransform||"",this._activeTransform={x:0,y:0},this._passiveTransform={x:0,y:0}}disableHandle(e){!this._disabledHandles.has(e)&&this._handles.indexOf(e)>-1&&(this._disabledHandles.add(e),_f(e,!0))}enableHandle(e){this._disabledHandles.has(e)&&(this._disabledHandles.delete(e),_f(e,this.disabled))}withDirection(e){return this._direction=e,this}_withDropContainer(e){this._dropContainer=e}getFreeDragPosition(){let e=this.isDragging()?this._activeTransform:this._passiveTransform;return{x:e.x,y:e.y}}setFreeDragPosition(e){return this._activeTransform={x:0,y:0},this._passiveTransform.x=e.x,this._passiveTransform.y=e.y,this._dropContainer||this._applyRootElementTransform(e.x,e.y),this}withPreviewContainer(e){return this._previewContainer=e,this}_sortFromLastPointerPosition(){let e=this._lastKnownPointerPosition;e&&this._dropContainer&&this._updateActiveDropContainer(this._getConstrainedPointerPosition(e),e)}_removeListeners(){this._pointerMoveSubscription.unsubscribe(),this._pointerUpSubscription.unsubscribe(),this._scrollSubscription.unsubscribe(),this._getShadowRoot()?.removeEventListener("selectstart",c5,o5)}_destroyPreview(){this._preview?.destroy(),this._preview=null}_destroyPlaceholder(){this._placeholder?.remove(),this._placeholderRef?.destroy(),this._placeholder=this._placeholderRef=null}_endDragSequence(e){if(this._dragDropRegistry.isDragging(this)&&(this._removeListeners(),this._dragDropRegistry.stopDragging(this),this._toggleNativeDragInteractions(),this._handles&&(this._rootElement.style.webkitTapHighlightColor=this._rootElementTapHighlight),!!this._hasStartedDragging()))if(this.released.next({source:this,event:e}),this._dropContainer)this._dropContainer._stopScrolling(),this._animatePreviewToPlaceholder().then(()=>{this._cleanupDragArtifacts(e),this._cleanupCachedDimensions(),this._dragDropRegistry.stopDragging(this)});else{this._passiveTransform.x=this._activeTransform.x;let t=this._getPointerPositionOnPage(e);this._passiveTransform.y=this._activeTransform.y,this._ngZone.run(()=>{this.ended.next({source:this,distance:this._getDragDistance(t),dropPoint:t,event:e})}),this._cleanupCachedDimensions(),this._dragDropRegistry.stopDragging(this)}}_startDragSequence(e){ov(e)&&(this._lastTouchEventTime=Date.now()),this._toggleNativeDragInteractions();let t=this._getShadowRoot(),n=this._dropContainer;if(t&&this._ngZone.runOutsideAngular(()=>{t.addEventListener("selectstart",c5,o5)}),n){let r=this._rootElement,o=r.parentNode,s=this._placeholder=this._createPlaceholderElement(),a=this._anchor=this._anchor||this._document.createComment("");o.insertBefore(a,r),this._initialTransform=r.style.transform||"",this._preview=new YO(this._document,this._rootElement,this._direction,this._initialDomRect,this._previewTemplate||null,this.previewClass||null,this._pickupPositionOnPage,this._initialTransform,this._config.zIndex||1e3),this._preview.attach(this._getPreviewInsertionPoint(o,t)),t5(r,!1,s5),this._document.body.appendChild(o.replaceChild(s,r)),this.started.next({source:this,event:e}),n.start(),this._initialContainer=n,this._initialIndex=n.getItemIndex(this)}else this.started.next({source:this,event:e}),this._initialContainer=this._initialIndex=void 0;this._parentPositions.cache(n?n.getScrollableParents():[])}_initializeDragSequence(e,t){this._parentDragRef&&t.stopPropagation();let n=this.isDragging(),r=ov(t),o=!r&&t.button!==0,s=this._rootElement,a=Ii(t),c=!r&&this._lastTouchEventTime&&this._lastTouchEventTime+G_e>Date.now(),l=r?Md(t):Sd(t);if(a&&a.draggable&&t.type==="mousedown"&&t.preventDefault(),n||o||c||l)return;if(this._handles.length){let h=s.style;this._rootElementTapHighlight=h.webkitTapHighlightColor||"",h.webkitTapHighlightColor="transparent"}this._hasMoved=!1,this._hasStartedDragging.set(this._hasMoved),this._removeListeners(),this._initialDomRect=this._rootElement.getBoundingClientRect(),this._pointerMoveSubscription=this._dragDropRegistry.pointerMove.subscribe(this._pointerMove),this._pointerUpSubscription=this._dragDropRegistry.pointerUp.subscribe(this._pointerUp),this._scrollSubscription=this._dragDropRegistry.scrolled(this._getShadowRoot()).subscribe(h=>this._updateOnScroll(h)),this._boundaryElement&&(this._boundaryRect=JO(this._boundaryElement));let d=this._previewTemplate;this._pickupPositionInElement=d&&d.template&&!d.matchSize?{x:0,y:0}:this._getPointerPositionInElement(this._initialDomRect,e,t);let u=this._pickupPositionOnPage=this._lastKnownPointerPosition=this._getPointerPositionOnPage(t);this._pointerDirectionDelta={x:0,y:0},this._pointerPositionAtLastDirectionChange={x:u.x,y:u.y},this._dragStartTime=Date.now(),this._dragDropRegistry.startDragging(this,t)}_cleanupDragArtifacts(e){t5(this._rootElement,!0,s5),this._anchor.parentNode.replaceChild(this._rootElement,this._anchor),this._destroyPreview(),this._destroyPlaceholder(),this._initialDomRect=this._boundaryRect=this._previewRect=this._initialTransform=void 0,this._ngZone.run(()=>{let t=this._dropContainer,n=t.getItemIndex(this),r=this._getPointerPositionOnPage(e),o=this._getDragDistance(r),s=t._isOverContainer(r.x,r.y);this.ended.next({source:this,distance:o,dropPoint:r,event:e}),this.dropped.next({item:this,currentIndex:n,previousIndex:this._initialIndex,container:t,previousContainer:this._initialContainer,isPointerOverContainer:s,distance:o,dropPoint:r,event:e}),t.drop(this,n,this._initialIndex,this._initialContainer,s,o,r,e),this._dropContainer=this._initialContainer})}_updateActiveDropContainer({x:e,y:t},{x:n,y:r}){let o=this._initialContainer._getSiblingContainerFromPosition(this,e,t);!o&&this._dropContainer!==this._initialContainer&&this._initialContainer._isOverContainer(e,t)&&(o=this._initialContainer),o&&o!==this._dropContainer&&this._ngZone.run(()=>{this.exited.next({item:this,container:this._dropContainer}),this._dropContainer.exit(this),this._dropContainer=o,this._dropContainer.enter(this,e,t,o===this._initialContainer&&o.sortingDisabled?this._initialIndex:void 0),this.entered.next({item:this,container:o,currentIndex:o.getItemIndex(this)})}),this.isDragging()&&(this._dropContainer._startScrollingIfNecessary(n,r),this._dropContainer._sortItem(this,e,t,this._pointerDirectionDelta),this.constrainPosition?this._applyPreviewTransform(e,t):this._applyPreviewTransform(e-this._pickupPositionInElement.x,t-this._pickupPositionInElement.y))}_animatePreviewToPlaceholder(){if(!this._hasMoved)return Promise.resolve();let e=this._placeholder.getBoundingClientRect();this._preview.addClass("cdk-drag-animating"),this._applyPreviewTransform(e.left,e.top);let t=this._preview.getTransitionDuration();return t===0?Promise.resolve():this._ngZone.runOutsideAngular(()=>new Promise(n=>{let r=s=>{(!s||this._preview&&Ii(s)===this._preview.element&&s.propertyName==="transform")&&(this._preview?.removeEventListener("transitionend",r),n(),clearTimeout(o))},o=setTimeout(r,t*1.5);this._preview.addEventListener("transitionend",r)}))}_createPlaceholderElement(){let e=this._placeholderTemplate,t=e?e.template:null,n;return t?(this._placeholderRef=e.viewContainer.createEmbeddedView(t,e.context),this._placeholderRef.detectChanges(),n=h5(this._placeholderRef,this._document)):n=u5(this._rootElement),n.style.pointerEvents="none",n.classList.add("cdk-drag-placeholder"),n}_getPointerPositionInElement(e,t,n){let r=t===this._rootElement?null:t,o=r?r.getBoundingClientRect():e,s=ov(n)?n.targetTouches[0]:n,a=this._getViewportScrollPosition(),c=s.pageX-o.left-a.left,l=s.pageY-o.top-a.top;return{x:o.left-e.left+c,y:o.top-e.top+l}}_getPointerPositionOnPage(e){let t=this._getViewportScrollPosition(),n=ov(e)?e.touches[0]||e.changedTouches[0]||{pageX:0,pageY:0}:e,r=n.pageX-t.left,o=n.pageY-t.top;if(this._ownerSVGElement){let s=this._ownerSVGElement.getScreenCTM();if(s){let a=this._ownerSVGElement.createSVGPoint();return a.x=r,a.y=o,a.matrixTransform(s.inverse())}}return{x:r,y:o}}_getConstrainedPointerPosition(e){let t=this._dropContainer?this._dropContainer.lockAxis:null,{x:n,y:r}=this.constrainPosition?this.constrainPosition(e,this,this._initialDomRect,this._pickupPositionInElement):e;if(this.lockAxis==="x"||t==="x"?r=this._pickupPositionOnPage.y-(this.constrainPosition?this._pickupPositionInElement.y:0):(this.lockAxis==="y"||t==="y")&&(n=this._pickupPositionOnPage.x-(this.constrainPosition?this._pickupPositionInElement.x:0)),this._boundaryRect){let{x:o,y:s}=this.constrainPosition?{x:0,y:0}:this._pickupPositionInElement,a=this._boundaryRect,{width:c,height:l}=this._getPreviewRect(),d=a.top+s,u=a.bottom-(l-s),h=a.left+o,p=a.right-(c-o);n=a5(n,h,p),r=a5(r,d,u)}return{x:n,y:r}}_updatePointerDirectionDelta(e){let{x:t,y:n}=e,r=this._pointerDirectionDelta,o=this._pointerPositionAtLastDirectionChange,s=Math.abs(t-o.x),a=Math.abs(n-o.y);return s>this._config.pointerDirectionChangeThreshold&&(r.x=t>o.x?1:-1,o.x=t),a>this._config.pointerDirectionChangeThreshold&&(r.y=n>o.y?1:-1,o.y=n),r}_toggleNativeDragInteractions(){if(!this._rootElement||!this._handles)return;let e=this._handles.length>0||!this.isDragging();e!==this._nativeInteractionsEnabled&&(this._nativeInteractionsEnabled=e,_f(this._rootElement,e))}_removeRootElementListeners(e){e.removeEventListener("mousedown",this._pointerDown,ZC),e.removeEventListener("touchstart",this._pointerDown,r5),e.removeEventListener("dragstart",this._nativeDragStart,ZC)}_applyRootElementTransform(e,t){let n=tS(e,t),r=this._rootElement.style;this._initialTransform==null&&(this._initialTransform=r.transform&&r.transform!="none"?r.transform:""),r.transform=eS(n,this._initialTransform)}_applyPreviewTransform(e,t){let n=this._previewTemplate?.template?void 0:this._initialTransform,r=tS(e,t);this._preview.setTransform(eS(r,n))}_getDragDistance(e){let t=this._pickupPositionOnPage;return t?{x:e.x-t.x,y:e.y-t.y}:{x:0,y:0}}_cleanupCachedDimensions(){this._boundaryRect=this._previewRect=void 0,this._parentPositions.clear()}_containInsideBoundaryOnResize(){let{x:e,y:t}=this._passiveTransform;if(e===0&&t===0||this.isDragging()||!this._boundaryElement)return;let n=this._rootElement.getBoundingClientRect(),r=this._boundaryElement.getBoundingClientRect();if(r.width===0&&r.height===0||n.width===0&&n.height===0)return;let o=r.left-n.left,s=n.right-r.right,a=r.top-n.top,c=n.bottom-r.bottom;r.width>n.width?(o>0&&(e+=o),s>0&&(e-=s)):e=0,r.height>n.height?(a>0&&(t+=a),c>0&&(t-=c)):t=0,(e!==this._passiveTransform.x||t!==this._passiveTransform.y)&&this.setFreeDragPosition({y:t,x:e})}_getDragStartDelay(e){let t=this.dragStartDelay;return typeof t=="number"?t:ov(e)?t.touch:t?t.mouse:0}_updateOnScroll(e){let t=this._parentPositions.handleScroll(e);if(t){let n=Ii(e);this._boundaryRect&&n!==this._boundaryElement&&n.contains(this._boundaryElement)&&sv(this._boundaryRect,t.top,t.left),this._pickupPositionOnPage.x+=t.left,this._pickupPositionOnPage.y+=t.top,this._dropContainer||(this._activeTransform.x-=t.left,this._activeTransform.y-=t.top,this._applyRootElementTransform(this._activeTransform.x,this._activeTransform.y))}}_getViewportScrollPosition(){return this._parentPositions.positions.get(this._document)?.scrollPosition||this._parentPositions.getViewportScrollPosition()}_getShadowRoot(){return this._cachedShadowRoot===void 0&&(this._cachedShadowRoot=Dh(this._rootElement)),this._cachedShadowRoot}_getPreviewInsertionPoint(e,t){let n=this._previewContainer||"global";if(n==="parent")return e;if(n==="global"){let r=this._document;return t||r.fullscreenElement||r.webkitFullscreenElement||r.mozFullScreenElement||r.msFullscreenElement||r.body}return nr(n)}_getPreviewRect(){return(!this._previewRect||!this._previewRect.width&&!this._previewRect.height)&&(this._previewRect=this._preview?this._preview.getBoundingClientRect():this._initialDomRect),this._previewRect}_getTargetHandle(e){return this._handles.find(t=>e.target&&(e.target===t||t.contains(e.target)))}};function a5(i,e,t){return Math.max(e,Math.min(t,i))}function ov(i){return i.type[0]==="t"}function c5(i){i.preventDefault()}function p5(i,e,t){let n=l5(e,i.length-1),r=l5(t,i.length-1);if(n===r)return;let o=i[n],s=r0)return null;let a=this.orientation==="horizontal",c=o.findIndex(y=>y.drag===e),l=o[s],d=o[c].clientRect,u=l.clientRect,h=c>s?1:-1,p=this._getItemOffsetPx(d,u,h),f=this._getSiblingOffsetPx(c,o,h),m=o.slice();return p5(o,c,s),o.forEach((y,g)=>{if(m[g]===y)return;let _=y.drag===e,x=_?p:f,C=_?e.getPlaceholderElement():y.drag.getRootElement();y.offset+=x,a?(C.style.transform=eS(`translate3d(${Math.round(y.offset)}px, 0, 0)`,y.initialTransform),sv(y.clientRect,0,x)):(C.style.transform=eS(`translate3d(0, ${Math.round(y.offset)}px, 0)`,y.initialTransform),sv(y.clientRect,x,0))}),this._previousSwap.overlaps=qO(u,t,n),this._previousSwap.drag=l.drag,this._previousSwap.delta=a?r.x:r.y,{previousIndex:c,currentIndex:s}}enter(e,t,n,r){let o=r==null||r<0?this._getItemIndexFromPointerPosition(e,t,n):r,s=this._activeDraggables,a=s.indexOf(e),c=e.getPlaceholderElement(),l=s[o];if(l===e&&(l=s[o+1]),!l&&(o==null||o===-1||o-1&&s.splice(a,1),l&&!this._dragDropRegistry.isDragging(l)){let d=l.getRootElement();d.parentElement.insertBefore(c,d),s.splice(o,0,e)}else this._element.appendChild(c),s.push(e);c.style.transform="",this._cacheItemPositions()}withItems(e){this._activeDraggables=e.slice(),this._cacheItemPositions()}withSortPredicate(e){this._sortPredicate=e}reset(){this._activeDraggables?.forEach(e=>{let t=e.getRootElement();if(t){let n=this._itemPositions.find(r=>r.drag===e)?.initialTransform;t.style.transform=n||""}}),this._itemPositions=[],this._activeDraggables=[],this._previousSwap.drag=null,this._previousSwap.delta=0,this._previousSwap.overlaps=!1}getActiveItemsSnapshot(){return this._activeDraggables}getItemIndex(e){return(this.orientation==="horizontal"&&this.direction==="rtl"?this._itemPositions.slice().reverse():this._itemPositions).findIndex(n=>n.drag===e)}updateOnScroll(e,t){this._itemPositions.forEach(({clientRect:n})=>{sv(n,e,t)}),this._itemPositions.forEach(({drag:n})=>{this._dragDropRegistry.isDragging(n)&&n._sortFromLastPointerPosition()})}withElementContainer(e){this._element=e}_cacheItemPositions(){let e=this.orientation==="horizontal";this._itemPositions=this._activeDraggables.map(t=>{let n=t.getVisibleElement();return{drag:t,offset:0,initialTransform:n.style.transform||"",clientRect:JO(n)}}).sort((t,n)=>e?t.clientRect.left-n.clientRect.left:t.clientRect.top-n.clientRect.top)}_getItemOffsetPx(e,t,n){let r=this.orientation==="horizontal",o=r?t.left-e.left:t.top-e.top;return n===-1&&(o+=r?t.width-e.width:t.height-e.height),o}_getSiblingOffsetPx(e,t,n){let r=this.orientation==="horizontal",o=t[e].clientRect,s=t[e+n*-1],a=o[r?"width":"height"]*n;if(s){let c=r?"left":"top",l=r?"right":"bottom";n===-1?a-=s.clientRect[c]-o[l]:a+=o[c]-s.clientRect[l]}return a}_shouldEnterAsFirstChild(e,t){if(!this._activeDraggables.length)return!1;let n=this._itemPositions,r=this.orientation==="horizontal";if(n[0].drag!==this._activeDraggables[0]){let s=n[n.length-1].clientRect;return r?e>=s.right:t>=s.bottom}else{let s=n[0].clientRect;return r?e<=s.left:t<=s.top}}_getItemIndexFromPointerPosition(e,t,n,r){let o=this.orientation==="horizontal",s=this._itemPositions.findIndex(({drag:a,clientRect:c})=>{if(a===e)return!1;if(r){let l=o?r.x:r.y;if(a===this._previousSwap.drag&&this._previousSwap.overlaps&&l===this._previousSwap.delta)return!1}return o?t>=Math.floor(c.left)&&t=Math.floor(c.top)&&nc?d.after(l):d.before(l),p5(this._activeItems,c,o);let u=this._getRootNode().elementFromPoint(t,n);return s.deltaX=r.x,s.deltaY=r.y,s.drag=a,s.overlaps=d===u||d.contains(u),{previousIndex:c,currentIndex:o}}enter(e,t,n,r){let o=r==null||r<0?this._getItemIndexFromPointerPosition(e,t,n):r;o===-1&&(o=this._getClosestItemIndexToPointer(e,t,n));let s=this._activeItems[o],a=this._activeItems.indexOf(e);a>-1&&this._activeItems.splice(a,1),s&&!this._dragDropRegistry.isDragging(s)?(this._activeItems.splice(o,0,e),s.getRootElement().before(e.getPlaceholderElement())):(this._activeItems.push(e),this._element.appendChild(e.getPlaceholderElement()))}withItems(e){this._activeItems=e.slice()}withSortPredicate(e){this._sortPredicate=e}reset(){let e=this._element,t=this._previousSwap;for(let n=this._relatedNodes.length-1;n>-1;n--){let[r,o]=this._relatedNodes[n];r.parentNode===e&&r.nextSibling!==o&&(o===null?e.appendChild(r):o.parentNode===e&&e.insertBefore(r,o))}this._relatedNodes=[],this._activeItems=[],t.drag=null,t.deltaX=t.deltaY=0,t.overlaps=!1}getActiveItemsSnapshot(){return this._activeItems}getItemIndex(e){return this._activeItems.indexOf(e)}updateOnScroll(){this._activeItems.forEach(e=>{this._dragDropRegistry.isDragging(e)&&e._sortFromLastPointerPosition()})}withElementContainer(e){e!==this._element&&(this._element=e,this._rootNode=void 0)}_getItemIndexFromPointerPosition(e,t,n){let r=this._getRootNode().elementFromPoint(Math.floor(t),Math.floor(n)),o=r?this._activeItems.findIndex(s=>{let a=s.getRootElement();return r===a||a.contains(r)}):-1;return o===-1||!this._sortPredicate(o,e)?-1:o}_getRootNode(){return this._rootNode||(this._rootNode=Dh(this._element)||this._document),this._rootNode}_getClosestItemIndexToPointer(e,t,n){if(this._activeItems.length===0)return-1;if(this._activeItems.length===1)return 0;let r=1/0,o=-1;for(let s=0;s!0,this.sortPredicate=()=>!0,this.beforeStarted=new pe,this.entered=new pe,this.exited=new pe,this.dropped=new pe,this.sorted=new pe,this.receivingStarted=new pe,this.receivingStopped=new pe,this._isDragging=!1,this._draggables=[],this._siblings=[],this._activeSiblings=new Set,this._viewportScrollSubscription=Ct.EMPTY,this._verticalScrollDirection=rs.NONE,this._horizontalScrollDirection=Qr.NONE,this._stopScrollTimers=new pe,this._cachedShadowRoot=null,this._scrollableElements=[],this._direction="ltr",this._startScrollInterval=()=>{this._stopScrolling(),DS(0,Tv).pipe(Ze(this._stopScrollTimers)).subscribe(()=>{let a=this._scrollNode,c=this.autoScrollStep;this._verticalScrollDirection===rs.UP?a.scrollBy(0,-c):this._verticalScrollDirection===rs.DOWN&&a.scrollBy(0,c),this._horizontalScrollDirection===Qr.LEFT?a.scrollBy(-c,0):this._horizontalScrollDirection===Qr.RIGHT&&a.scrollBy(c,0)})};let s=this.element=nr(e);this._document=n,this.withOrientation("vertical").withElementContainer(s),t.registerDropContainer(this),this._parentPositions=new JC(n)}dispose(){this._stopScrolling(),this._stopScrollTimers.complete(),this._viewportScrollSubscription.unsubscribe(),this.beforeStarted.complete(),this.entered.complete(),this.exited.complete(),this.dropped.complete(),this.sorted.complete(),this.receivingStarted.complete(),this.receivingStopped.complete(),this._activeSiblings.clear(),this._scrollNode=null,this._parentPositions.clear(),this._dragDropRegistry.removeDropContainer(this)}isDragging(){return this._isDragging}start(){this._draggingStarted(),this._notifyReceivingSiblings()}enter(e,t,n,r){this._draggingStarted(),r==null&&this.sortingDisabled&&(r=this._draggables.indexOf(e)),this._sortStrategy.enter(e,t,n,r),this._cacheParentPositions(),this._notifyReceivingSiblings(),this.entered.next({item:e,container:this,currentIndex:this.getItemIndex(e)})}exit(e){this._reset(),this.exited.next({item:e,container:this})}drop(e,t,n,r,o,s,a,c={}){this._reset(),this.dropped.next({item:e,currentIndex:t,previousIndex:n,container:this,previousContainer:r,isPointerOverContainer:o,distance:s,dropPoint:a,event:c})}withItems(e){let t=this._draggables;return this._draggables=e,e.forEach(n=>n._withDropContainer(this)),this.isDragging()&&(t.filter(r=>r.isDragging()).every(r=>e.indexOf(r)===-1)?this._reset():this._sortStrategy.withItems(this._draggables)),this}withDirection(e){return this._direction=e,this._sortStrategy instanceof nS&&(this._sortStrategy.direction=e),this}connectedTo(e){return this._siblings=e.slice(),this}withOrientation(e){if(e==="mixed")this._sortStrategy=new ZO(this._document,this._dragDropRegistry);else{let t=new nS(this._dragDropRegistry);t.direction=this._direction,t.orientation=e,this._sortStrategy=t}return this._sortStrategy.withElementContainer(this._container),this._sortStrategy.withSortPredicate((t,n)=>this.sortPredicate(t,n,this)),this}withScrollableParents(e){let t=this._container;return this._scrollableElements=e.indexOf(t)===-1?[t,...e]:e.slice(),this}withElementContainer(e){if(e===this._container)return this;let t=nr(this.element),n=this._scrollableElements.indexOf(this._container),r=this._scrollableElements.indexOf(e);return n>-1&&this._scrollableElements.splice(n,1),r>-1&&this._scrollableElements.splice(r,1),this._sortStrategy&&this._sortStrategy.withElementContainer(e),this._cachedShadowRoot=null,this._scrollableElements.unshift(e),this._container=e,this}getScrollableParents(){return this._scrollableElements}getItemIndex(e){return this._isDragging?this._sortStrategy.getItemIndex(e):this._draggables.indexOf(e)}isReceiving(){return this._activeSiblings.size>0}_sortItem(e,t,n,r){if(this.sortingDisabled||!this._domRect||!e5(this._domRect,d5,t,n))return;let o=this._sortStrategy.sort(e,t,n,r);o&&this.sorted.next({previousIndex:o.previousIndex,currentIndex:o.currentIndex,container:this,item:e})}_startScrollingIfNecessary(e,t){if(this.autoScrollDisabled)return;let n,r=rs.NONE,o=Qr.NONE;if(this._parentPositions.positions.forEach((s,a)=>{a===this._document||!s.clientRect||n||e5(s.clientRect,d5,e,t)&&([r,o]=j_e(a,s.clientRect,this._direction,e,t),(r||o)&&(n=a))}),!r&&!o){let{width:s,height:a}=this._viewportRuler.getViewportSize(),c={width:s,height:a,top:0,right:s,bottom:a,left:0};r=m5(c,t),o=g5(c,e),n=window}n&&(r!==this._verticalScrollDirection||o!==this._horizontalScrollDirection||n!==this._scrollNode)&&(this._verticalScrollDirection=r,this._horizontalScrollDirection=o,this._scrollNode=n,(r||o)&&n?this._ngZone.runOutsideAngular(this._startScrollInterval):this._stopScrolling())}_stopScrolling(){this._stopScrollTimers.next()}_draggingStarted(){let e=this._container.style;this.beforeStarted.next(),this._isDragging=!0,this._initialScrollSnap=e.msScrollSnapType||e.scrollSnapType||"",e.scrollSnapType=e.msScrollSnapType="none",this._sortStrategy.start(this._draggables),this._cacheParentPositions(),this._viewportScrollSubscription.unsubscribe(),this._listenToScrollEvents()}_cacheParentPositions(){this._parentPositions.cache(this._scrollableElements),this._domRect=this._parentPositions.positions.get(this._container).clientRect}_reset(){this._isDragging=!1;let e=this._container.style;e.scrollSnapType=e.msScrollSnapType=this._initialScrollSnap,this._siblings.forEach(t=>t._stopReceiving(this)),this._sortStrategy.reset(),this._stopScrolling(),this._viewportScrollSubscription.unsubscribe(),this._parentPositions.clear()}_isOverContainer(e,t){return this._domRect!=null&&qO(this._domRect,e,t)}_getSiblingContainerFromPosition(e,t,n){return this._siblings.find(r=>r._canReceive(e,t,n))}_canReceive(e,t,n){if(!this._domRect||!qO(this._domRect,t,n)||!this.enterPredicate(e,this))return!1;let r=this._getShadowRoot().elementFromPoint(t,n);return r?r===this._container||this._container.contains(r):!1}_startReceiving(e,t){let n=this._activeSiblings;!n.has(e)&&t.every(r=>this.enterPredicate(r,this)||this._draggables.indexOf(r)>-1)&&(n.add(e),this._cacheParentPositions(),this._listenToScrollEvents(),this.receivingStarted.next({initiator:e,receiver:this,items:t}))}_stopReceiving(e){this._activeSiblings.delete(e),this._viewportScrollSubscription.unsubscribe(),this.receivingStopped.next({initiator:e,receiver:this})}_listenToScrollEvents(){this._viewportScrollSubscription=this._dragDropRegistry.scrolled(this._getShadowRoot()).subscribe(e=>{if(this.isDragging()){let t=this._parentPositions.handleScroll(e);t&&this._sortStrategy.updateOnScroll(t.top,t.left)}else this.isReceiving()&&this._cacheParentPositions()})}_getShadowRoot(){if(!this._cachedShadowRoot){let e=Dh(this._container);this._cachedShadowRoot=e||this._document}return this._cachedShadowRoot}_notifyReceivingSiblings(){let e=this._sortStrategy.getActiveItemsSnapshot().filter(t=>t.isDragging());this._siblings.forEach(t=>t._startReceiving(this,e))}};function m5(i,e){let{top:t,bottom:n,height:r}=i,o=r*f5;return e>=t-o&&e<=t+o?rs.UP:e>=n-o&&e<=n+o?rs.DOWN:rs.NONE}function g5(i,e){let{left:t,right:n,width:r}=i,o=r*f5;return e>=t-o&&e<=t+o?Qr.LEFT:e>=n-o&&e<=n+o?Qr.RIGHT:Qr.NONE}function j_e(i,e,t,n,r){let o=m5(e,r),s=g5(e,n),a=rs.NONE,c=Qr.NONE;if(o){let l=i.scrollTop;o===rs.UP?l>0&&(a=rs.UP):i.scrollHeight-l>i.clientHeight&&(a=rs.DOWN)}if(s){let l=i.scrollLeft;t==="rtl"?s===Qr.RIGHT?l<0&&(c=Qr.RIGHT):i.scrollWidth+l>i.clientWidth&&(c=Qr.LEFT):s===Qr.LEFT?l>0&&(c=Qr.LEFT):i.scrollWidth-l>i.clientWidth&&(c=Qr.RIGHT)}return[a,c]}var QC=Hr({passive:!1,capture:!0}),KC=new Set,W_e=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275cmp=ce({type:e,selectors:[["ng-component"]],hostAttrs:["cdk-drag-resets-container",""],standalone:!0,features:[le],decls:0,vars:0,template:function(r,o){},styles:["@layer cdk-resets{.cdk-drag-preview{background:none;border:none;padding:0;color:inherit}}.cdk-drag-placeholder *,.cdk-drag-preview *{pointer-events:none !important}"],encapsulation:2,changeDetection:0});let i=e;return i})(),$_e=(()=>{let e=class e{constructor(n,r){this._ngZone=n,this._appRef=te(hs),this._environmentInjector=te(Xi),this._dropInstances=new Set,this._dragInstances=new Set,this._activeDragInstances=ct([]),this._globalListeners=new Map,this._draggingPredicate=o=>o.isDragging(),this.pointerMove=new pe,this.pointerUp=new pe,this.scroll=new pe,this._preventDefaultWhileDragging=o=>{this._activeDragInstances().length>0&&o.preventDefault()},this._persistentTouchmoveListener=o=>{this._activeDragInstances().length>0&&(this._activeDragInstances().some(this._draggingPredicate)&&o.preventDefault(),this.pointerMove.next(o))},this._document=r}registerDropContainer(n){this._dropInstances.has(n)||this._dropInstances.add(n)}registerDragItem(n){this._dragInstances.add(n),this._dragInstances.size===1&&this._ngZone.runOutsideAngular(()=>{this._document.addEventListener("touchmove",this._persistentTouchmoveListener,QC)})}removeDropContainer(n){this._dropInstances.delete(n)}removeDragItem(n){this._dragInstances.delete(n),this.stopDragging(n),this._dragInstances.size===0&&this._document.removeEventListener("touchmove",this._persistentTouchmoveListener,QC)}startDragging(n,r){if(!(this._activeDragInstances().indexOf(n)>-1)&&(this._loadResets(),this._activeDragInstances.update(o=>[...o,n]),this._activeDragInstances().length===1)){let o=r.type.startsWith("touch");this._globalListeners.set(o?"touchend":"mouseup",{handler:s=>this.pointerUp.next(s),options:!0}).set("scroll",{handler:s=>this.scroll.next(s),options:!0}).set("selectstart",{handler:this._preventDefaultWhileDragging,options:QC}),o||this._globalListeners.set("mousemove",{handler:s=>this.pointerMove.next(s),options:QC}),this._ngZone.runOutsideAngular(()=>{this._globalListeners.forEach((s,a)=>{this._document.addEventListener(a,s.handler,s.options)})})}}stopDragging(n){this._activeDragInstances.update(r=>{let o=r.indexOf(n);return o>-1?(r.splice(o,1),[...r]):r}),this._activeDragInstances().length===0&&this._clearGlobalListeners()}isDragging(n){return this._activeDragInstances().indexOf(n)>-1}scrolled(n){let r=[this.scroll];return n&&n!==this._document&&r.push(new Et(o=>this._ngZone.runOutsideAngular(()=>{let a=c=>{this._activeDragInstances().length&&o.next(c)};return n.addEventListener("scroll",a,!0),()=>{n.removeEventListener("scroll",a,!0)}}))),Zn(...r)}ngOnDestroy(){this._dragInstances.forEach(n=>this.removeDragItem(n)),this._dropInstances.forEach(n=>this.removeDropContainer(n)),this._clearGlobalListeners(),this.pointerMove.complete(),this.pointerUp.complete()}_clearGlobalListeners(){this._globalListeners.forEach((n,r)=>{this._document.removeEventListener(r,n.handler,n.options)}),this._globalListeners.clear()}_loadResets(){if(!KC.has(this._appRef)){KC.add(this._appRef);let n=iL(W_e,{environmentInjector:this._environmentInjector});this._appRef.onDestroy(()=>{KC.delete(this._appRef),KC.size===0&&n.destroy()})}}};e.\u0275fac=function(r){return new(r||e)(X(Fe),X(Xe))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})(),q_e={dragStartThreshold:5,pointerDirectionChangeThreshold:5},_5=(()=>{let e=class e{constructor(n,r,o,s){this._document=n,this._ngZone=r,this._viewportRuler=o,this._dragDropRegistry=s}createDrag(n,r=q_e){return new XO(n,r,this._document,this._ngZone,this._viewportRuler,this._dragDropRegistry)}createDropList(n){return new QO(n,this._dragDropRegistry,this._document,this._ngZone,this._viewportRuler)}};e.\u0275fac=function(r){return new(r||e)(X(Xe),X(Fe),X(la),X($_e))},e.\u0275prov=J({token:e,factory:e.\u0275fac,providedIn:"root"});let i=e;return i})(),KO=new me("CDK_DRAG_PARENT");var v5=new me("CdkDragHandle"),b5=(()=>{let e=class e{get disabled(){return this._disabled}set disabled(n){this._disabled=n,this._stateChanges.next(this)}constructor(n,r){this.element=n,this._parentDrag=r,this._stateChanges=new pe,this._disabled=!1,r?._addHandle(this)}ngOnDestroy(){this._parentDrag?._removeHandle(this),this._stateChanges.complete()}};e.\u0275fac=function(r){return new(r||e)(M(Re),M(KO,12))},e.\u0275dir=Ve({type:e,selectors:[["","cdkDragHandle",""]],hostAttrs:[1,"cdk-drag-handle"],inputs:{disabled:[2,"cdkDragHandleDisabled","disabled",et]},standalone:!0,features:[Ft([{provide:v5,useExisting:e}]),nn]});let i=e;return i})(),Y_e=new me("CDK_DRAG_CONFIG"),X_e="cdk-drag",Z_e=new me("CdkDropList"),y5=(()=>{let e=class e{get disabled(){return this._disabled||this.dropContainer&&this.dropContainer.disabled}set disabled(n){this._disabled=n,this._dragRef.disabled=this._disabled}constructor(n,r,o,s,a,c,l,d,u,h,p){this.element=n,this.dropContainer=r,this._ngZone=s,this._viewContainerRef=a,this._dir=l,this._changeDetectorRef=u,this._selfHandle=h,this._parentDrag=p,this._destroyed=new pe,this._handles=new On([]),this.started=new Ie,this.released=new Ie,this.ended=new Ie,this.entered=new Ie,this.exited=new Ie,this.dropped=new Ie,this.moved=new Et(f=>{let m=this._dragRef.moved.pipe(Je(y=>({source:this,pointerPosition:y.pointerPosition,event:y.event,delta:y.delta,distance:y.distance}))).subscribe(f);return()=>{m.unsubscribe()}}),this._injector=te(vt),this._dragRef=d.createDrag(n,{dragStartThreshold:c&&c.dragStartThreshold!=null?c.dragStartThreshold:5,pointerDirectionChangeThreshold:c&&c.pointerDirectionChangeThreshold!=null?c.pointerDirectionChangeThreshold:5,zIndex:c?.zIndex}),this._dragRef.data=this,e._dragInstances.push(this),c&&this._assignDefaults(c),r&&(this._dragRef._withDropContainer(r._dropListRef),r.addItem(this)),this._syncInputs(this._dragRef),this._handleEvents(this._dragRef)}getPlaceholderElement(){return this._dragRef.getPlaceholderElement()}getRootElement(){return this._dragRef.getRootElement()}reset(){this._dragRef.reset()}getFreeDragPosition(){return this._dragRef.getFreeDragPosition()}setFreeDragPosition(n){this._dragRef.setFreeDragPosition(n)}ngAfterViewInit(){Hi(()=>{this._updateRootElement(),this._setupHandlesListener(),this.freeDragPosition&&this._dragRef.setFreeDragPosition(this.freeDragPosition)},{injector:this._injector})}ngOnChanges(n){let r=n.rootElementSelector,o=n.freeDragPosition;r&&!r.firstChange&&this._updateRootElement(),o&&!o.firstChange&&this.freeDragPosition&&this._dragRef.setFreeDragPosition(this.freeDragPosition)}ngOnDestroy(){this.dropContainer&&this.dropContainer.removeItem(this);let n=e._dragInstances.indexOf(this);n>-1&&e._dragInstances.splice(n,1),this._ngZone.runOutsideAngular(()=>{this._handles.complete(),this._destroyed.next(),this._destroyed.complete(),this._dragRef.dispose()})}_addHandle(n){let r=this._handles.getValue();r.push(n),this._handles.next(r)}_removeHandle(n){let r=this._handles.getValue(),o=r.indexOf(n);o>-1&&(r.splice(o,1),this._handles.next(r))}_setPreviewTemplate(n){this._previewTemplate=n}_resetPreviewTemplate(n){n===this._previewTemplate&&(this._previewTemplate=null)}_setPlaceholderTemplate(n){this._placeholderTemplate=n}_resetPlaceholderTemplate(n){n===this._placeholderTemplate&&(this._placeholderTemplate=null)}_updateRootElement(){let n=this.element.nativeElement,r=n;this.rootElementSelector&&(r=n.closest!==void 0?n.closest(this.rootElementSelector):n.parentElement?.closest(this.rootElementSelector)),this._dragRef.withRootElement(r||n)}_getBoundaryElement(){let n=this.boundaryElement;return n?typeof n=="string"?this.element.nativeElement.closest(n):nr(n):null}_syncInputs(n){n.beforeStarted.subscribe(()=>{if(!n.isDragging()){let r=this._dir,o=this.dragStartDelay,s=this._placeholderTemplate?{template:this._placeholderTemplate.templateRef,context:this._placeholderTemplate.data,viewContainer:this._viewContainerRef}:null,a=this._previewTemplate?{template:this._previewTemplate.templateRef,context:this._previewTemplate.data,matchSize:this._previewTemplate.matchSize,viewContainer:this._viewContainerRef}:null;n.disabled=this.disabled,n.lockAxis=this.lockAxis,n.dragStartDelay=typeof o=="object"&&o?o:Qs(o),n.constrainPosition=this.constrainPosition,n.previewClass=this.previewClass,n.withBoundaryElement(this._getBoundaryElement()).withPlaceholderTemplate(s).withPreviewTemplate(a).withPreviewContainer(this.previewContainer||"global"),r&&n.withDirection(r.value)}}),n.beforeStarted.pipe(_n(1)).subscribe(()=>{if(this._parentDrag){n.withParent(this._parentDrag._dragRef);return}let r=this.element.nativeElement.parentElement;for(;r;){if(r.classList.contains(X_e)){n.withParent(e._dragInstances.find(o=>o.element.nativeElement===r)?._dragRef||null);break}r=r.parentElement}})}_handleEvents(n){n.started.subscribe(r=>{this.started.emit({source:this,event:r.event}),this._changeDetectorRef.markForCheck()}),n.released.subscribe(r=>{this.released.emit({source:this,event:r.event})}),n.ended.subscribe(r=>{this.ended.emit({source:this,distance:r.distance,dropPoint:r.dropPoint,event:r.event}),this._changeDetectorRef.markForCheck()}),n.entered.subscribe(r=>{this.entered.emit({container:r.container.data,item:this,currentIndex:r.currentIndex})}),n.exited.subscribe(r=>{this.exited.emit({container:r.container.data,item:this})}),n.dropped.subscribe(r=>{this.dropped.emit({previousIndex:r.previousIndex,currentIndex:r.currentIndex,previousContainer:r.previousContainer.data,container:r.container.data,isPointerOverContainer:r.isPointerOverContainer,item:this,distance:r.distance,dropPoint:r.dropPoint,event:r.event})})}_assignDefaults(n){let{lockAxis:r,dragStartDelay:o,constrainPosition:s,previewClass:a,boundaryElement:c,draggingDisabled:l,rootElementSelector:d,previewContainer:u}=n;this.disabled=l??!1,this.dragStartDelay=o||0,r&&(this.lockAxis=r),s&&(this.constrainPosition=s),a&&(this.previewClass=a),c&&(this.boundaryElement=c),d&&(this.rootElementSelector=d),u&&(this.previewContainer=u)}_setupHandlesListener(){this._handles.pipe(En(n=>{let r=n.map(o=>o.element);this._selfHandle&&this.rootElementSelector&&r.push(this.element),this._dragRef.withHandles(r)}),Qn(n=>Zn(...n.map(r=>r._stateChanges.pipe(gi(r))))),Ze(this._destroyed)).subscribe(n=>{let r=this._dragRef,o=n.element.nativeElement;n.disabled?r.disableHandle(o):r.enableHandle(o)})}};e._dragInstances=[],e.\u0275fac=function(r){return new(r||e)(M(Re),M(Z_e,12),M(Xe),M(Fe),M(Zt),M(Y_e,8),M(di,8),M(_5),M(Ne),M(v5,10),M(KO,12))},e.\u0275dir=Ve({type:e,selectors:[["","cdkDrag",""]],hostAttrs:[1,"cdk-drag"],hostVars:4,hostBindings:function(r,o){r&2&&re("cdk-drag-disabled",o.disabled)("cdk-drag-dragging",o._dragRef.isDragging())},inputs:{data:[0,"cdkDragData","data"],lockAxis:[0,"cdkDragLockAxis","lockAxis"],rootElementSelector:[0,"cdkDragRootElement","rootElementSelector"],boundaryElement:[0,"cdkDragBoundary","boundaryElement"],dragStartDelay:[0,"cdkDragStartDelay","dragStartDelay"],freeDragPosition:[0,"cdkDragFreeDragPosition","freeDragPosition"],disabled:[2,"cdkDragDisabled","disabled",et],constrainPosition:[0,"cdkDragConstrainPosition","constrainPosition"],previewClass:[0,"cdkDragPreviewClass","previewClass"],previewContainer:[0,"cdkDragPreviewContainer","previewContainer"]},outputs:{started:"cdkDragStarted",released:"cdkDragReleased",ended:"cdkDragEnded",entered:"cdkDragEntered",exited:"cdkDragExited",dropped:"cdkDragDropped",moved:"cdkDragMoved"},exportAs:["cdkDrag"],standalone:!0,features:[Ft([{provide:KO,useExisting:e}]),nn,dn]});let i=e;return i})();var x5=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=rt({type:e}),e.\u0275inj=it({providers:[_5],imports:[Jo]});let i=e;return i})();var tR=(i,e)=>e.type;function K_e(i,e){if(i&1){let t=ne();v(0,"div",18),H("click",function(){let r=B(t).$implicit,o=I(2).$index,s=I();return V(s.handleToggleMatchType(o,r.type))}),v(1,"mat-icon"),S(2),b()()}if(i&2){let t=e.$implicit,n=I(2).$implicit,r=I();re("selected",r.getIsMatchTypeSelected(n,t.type))("disabled",r.getDisableMatchType(n,t.type)),R("matTooltip",t.tooltip),w(2),st(t.type)}}function J_e(i,e){if(i&1){let t=ne();v(0,"div",12)(1,"div",13),S(2,"R"),b(),v(3,"div",14),S(4,"E"),b()(),v(5,"input",15,1),H("change",function(){B(t);let r=ve(6),o=I().$index,s=I();return V(s.handleRegexQueryChanged(o,r.value))}),b(),v(7,"div",16),rn(8,K_e,3,6,"div",17,tR),b()}if(i&2){let t=I().$implicit,n=I();w(5),R("value",t.queryRegex),w(3),on(n.allSearchMatchTypeOptions)}}function eve(i,e){if(i&1){let t=ne();v(0,"div",19),S(1," [\xB7\xB7] "),b(),v(2,"div",20)(3,"input",21,2),H("change",function(){B(t);let r=ve(4),o=ve(8),s=ve(12),a=I().$index,c=I();return V(c.handleAttrValueRangeQueryChanged(a,r.value.trim(),o.value.trim(),s.value.trim()))}),b(),v(5,"div",22),S(6,":"),b(),v(7,"input",23,3),H("change",function(){B(t);let r=ve(4),o=ve(8),s=ve(12),a=I().$index,c=I();return V(c.handleAttrValueRangeQueryChanged(a,r.value.trim(),o.value.trim(),s.value.trim()))}),b(),v(9,"div",24),S(10,","),b(),v(11,"input",25,4),H("change",function(){B(t);let r=ve(4),o=ve(8),s=ve(12),a=I().$index,c=I();return V(c.handleAttrValueRangeQueryChanged(a,r.value.trim(),o.value.trim(),s.value.trim()))}),b()()}if(i&2){let t=I().$implicit,n=I();w(3),R("value",t.attrName),w(4),R("value",n.getAttrValueRangeString(t.min)),w(4),R("value",n.getAttrValueRangeString(t.max))}}function tve(i,e){if(i&1&&(v(0,"option",28),S(1),b()),i&2){let t=e.$implicit,n=I(2).$implicit;R("value",t.type)("selected",t.type===n.nodeType),w(),Se(" ",t.label," ")}}function nve(i,e){if(i&1){let t=ne();v(0,"div",26)(1,"mat-icon"),S(2,"device_hub"),b()(),v(3,"select",27,5),H("change",function(){B(t);let r=ve(4),o=I().$index,s=I();return V(s.handleNodeTypeChanged(o,r.value))}),rn(5,tve,2,3,"option",28,tR),b()}if(i&2){let t=I(2);w(5),on(t.allSearchNodeTypes)}}function ive(i,e){if(i&1){let t=ne();v(0,"div",29),H("click",function(){B(t);let r=I().$index,o=I();return V(o.handleDeleteQuery(r))}),v(1,"mat-icon"),S(2,"delete"),b()()}}function rve(i,e){if(i&1&&(v(0,"div",7),$(1,J_e,10,1)(2,eve,13,3)(3,nve,7,0)(4,ive,3,0,"div",11),b()),i&2){let t,n=e.$implicit,r=I();w(),oe((t=n.type)===r.NodeQueryType.REGEX?1:t===r.NodeQueryType.ATTR_VALUE_RANGE?2:t===r.NodeQueryType.NODE_TYPE?3:-1),w(3),oe(r.getShowDeleteQueryButton(n)?4:-1)}}function ove(i,e){i&1&&(v(0,"div",31)(1,"div",13),S(2,"R"),b(),v(3,"div",14),S(4,"E"),b()())}function sve(i,e){i&1&&(v(0,"div",32),S(1," [\xB7\xB7] "),b())}function ave(i,e){if(i&1){let t=ne();v(0,"div",30),H("click",function(){let r=B(t).$implicit,o=I();return V(o.handleAddQuery(r.type))}),$(1,ove,5,0,"div",31)(2,sve,2,0,"div",32),v(3,"div",33),S(4),b()()}if(i&2){let t,n=e.$implicit,r=I();w(),oe((t=n.type)===r.NodeQueryType.REGEX?1:t===r.NodeQueryType.ATTR_VALUE_RANGE?2:-1),w(3),st(n.label)}}var w5=(()=>{class i{changeDetectorRef;queries=[];queriesUpdated=new Ie;NodeQueryType=Vn;allSearchMatchTypeOptions=[{type:xt.NODE_LABEL,tooltip:"Match label"},{type:xt.ATTRIBUTE,tooltip:"Match attributes"},{type:xt.INPUT_METADATA,tooltip:"Match inputs (op node only)"},{type:xt.OUTPUT_METADATA,tooltip:"Match outputs (op node only)"}];allSearchNodeTypes=[{type:_r.OP_NODES,label:"Op nodes only"},{type:_r.LAYER_NODES,label:"Layer nodes only"},{type:_r.OP_AND_LAYER_NODES,label:"Op and layer nodes"}];allQueryTypes=[{type:Vn.REGEX,label:"Regex"},{type:Vn.ATTR_VALUE_RANGE,label:"Attribute value range"}];curQueries=[];curMatchedNodes={};constructor(t){this.changeDetectorRef=t}ngOnInit(){this.curQueries=JSON.parse(JSON.stringify(this.queries))}setMatchedNodes(t){this.curMatchedNodes=t,this.changeDetectorRef.markForCheck()}handleRegexQueryChanged(t,n){let r=this.curQueries[t];r.queryRegex=n.trim(),this.queriesUpdated.emit([...this.curQueries])}handleAttrValueRangeQueryChanged(t,n,r,o){let s=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY;r!==""&&!isNaN(Number(r))&&(s=Number(r)),o!==""&&!isNaN(Number(o))&&(a=Number(o));let c=this.curQueries[t];c.attrName=n,c.min=s,c.max=a,this.queriesUpdated.emit([...this.curQueries])}handleNodeTypeChanged(t,n){let r=this.curQueries[t];r.nodeType=n,this.queriesUpdated.emit([...this.curQueries])}handleToggleMatchType(t,n){if(this.getDisableMatchType(this.curQueries[t],n))return;let r=this.curQueries[t],o=r.matchTypes.indexOf(n);o>=0?r.matchTypes.splice(o,1):r.matchTypes.push(n),this.queriesUpdated.emit([...this.curQueries])}handleDeleteQuery(t){this.curQueries.splice(t,1),this.queriesUpdated.emit([...this.curQueries])}handleAddQuery(t){switch(t){case Vn.REGEX:this.curQueries.push({type:t,queryRegex:"",matchTypes:[xt.NODE_LABEL]});break;case Vn.ATTR_VALUE_RANGE:this.curQueries.push({type:t,attrName:"",min:Number.NEGATIVE_INFINITY,max:Number.POSITIVE_INFINITY});break;case Vn.NODE_TYPE:this.curQueries.push({type:t,nodeType:_r.OP_NODES});break;default:break}this.queriesUpdated.emit([...this.curQueries])}getIsMatchTypeSelected(t,n){return t.matchTypes.includes(n)}getDisableMatchType(t,n){return t.matchTypes.length===1&&t.matchTypes[0]===n}getAttrValueRangeString(t){return t==null||t===Number.NEGATIVE_INFINITY||t===Number.POSITIVE_INFINITY?"":`${t}`}getShowDeleteQueryButton(t){return t.type!==Vn.NODE_TYPE}static \u0275fac=function(n){return new(n||i)(M(Ne))};static \u0275cmp=ce({type:i,selectors:[["complex-queries"]],inputs:{queries:"queries"},outputs:{queriesUpdated:"queriesUpdated"},standalone:!0,features:[le],decls:11,vars:1,consts:[["menu","matMenu"],["queryInput",""],["inputAttrName",""],["inputMin",""],["inputMax",""],["select",""],[1,"container"],[1,"query-container"],[1,"btn-add-query",3,"matMenuTriggerFor"],[1,"model-explorer-add-query-menu"],[1,"menu-item"],["matTooltip","Delete query","matTooltipPosition","right",1,"icon-container","delete"],["matTooltip","Regex","n","","matTooltipPosition","left",1,"model-explorer-regex-icon"],[1,"r"],[1,"e"],["placeholder","Regex",1,"regex","common-input",3,"change","value"],[1,"targets-container"],[1,"icon-container","match-type",3,"matTooltip","selected","disabled"],[1,"icon-container","match-type",3,"click","matTooltip"],["matTooltip","Attribute value range","matTooltipPosition","left",1,"model-explorer-attr-value-range-icon"],[1,"attrs-value-range-container"],["placeholder","Attr name",1,"common-input","attr-name",3,"change","value"],[1,"colon"],["placeholder","min",1,"common-input","min",3,"change","value"],[1,"to"],["placeholder","max",1,"common-input","max",3,"change","value"],["matTooltip","Node type","matTooltipPosition","left",1,"model-explorer-node-type-icon"],[1,"node-type-selector",3,"change"],[3,"value","selected"],["matTooltip","Delete query","matTooltipPosition","right",1,"icon-container","delete",3,"click"],[1,"menu-item",3,"click"],[1,"model-explorer-regex-icon"],[1,"model-explorer-attr-value-range-icon"],[1,"label"]],template:function(n,r){if(n&1&&(v(0,"div",6),rn(1,rve,5,2,"div",7,gr),v(3,"div",8)(4,"mat-icon"),S(5,"add"),b(),S(6," Add query "),b(),v(7,"mat-menu",9,0),rn(9,ave,5,2,"div",10,tR),b()()),n&2){let o=ve(8);w(),on(r.curQueries),w(2),R("matMenuTriggerFor",o),w(6),on(r.allQueryTypes)}},dependencies:[Ae,tt,pt,ua,ns,xl,Xt,Yn],styles:[`.query-container[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px;margin-bottom:4px;position:relative;padding-right:36px}.query-container[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{height:22px;border:1px solid #ccc;border-radius:4px;box-sizing:border-box;padding:0 4px;outline:none}.query-container[_ngcontent-%COMP%] input.regex[_ngcontent-%COMP%]{flex-grow:1}.query-container[_ngcontent-%COMP%] .attrs-value-range-container[_ngcontent-%COMP%]{display:flex;align-items:center;width:240px}.query-container[_ngcontent-%COMP%] .attrs-value-range-container[_ngcontent-%COMP%] .colon[_ngcontent-%COMP%], .query-container[_ngcontent-%COMP%] .attrs-value-range-container[_ngcontent-%COMP%] .to[_ngcontent-%COMP%]{font-weight:700;margin:0 2px;height:22px}.query-container[_ngcontent-%COMP%] .attrs-value-range-container[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{min-width:0}.query-container[_ngcontent-%COMP%] .attrs-value-range-container[_ngcontent-%COMP%] input.attr-name[_ngcontent-%COMP%]{flex-grow:1}.query-container[_ngcontent-%COMP%] .attrs-value-range-container[_ngcontent-%COMP%] input.min[_ngcontent-%COMP%], .query-container[_ngcontent-%COMP%] .attrs-value-range-container[_ngcontent-%COMP%] input.max[_ngcontent-%COMP%]{width:50px}.query-container[_ngcontent-%COMP%] .node-type-selector[_ngcontent-%COMP%]{border:1px solid #ccc;border-radius:4px;outline:none;height:23px;cursor:pointer;box-sizing:border-box;width:160px}.query-container[_ngcontent-%COMP%] .icon-container.delete[_ngcontent-%COMP%]{display:flex;position:absolute;right:0;top:4px;cursor:pointer;opacity:.6}.query-container[_ngcontent-%COMP%] .icon-container.delete[_ngcontent-%COMP%]:hover{opacity:1}.query-container[_ngcontent-%COMP%] .icon-container.delete[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px}.targets-container[_ngcontent-%COMP%]{display:flex;align-items:center;gap:2px}.targets-container[_ngcontent-%COMP%] .icon-container.match-type[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;background-color:#ddd;border-radius:4px;cursor:pointer;padding:4px}.targets-container[_ngcontent-%COMP%] .icon-container.match-type.selected[_ngcontent-%COMP%]{background-color:#a3c9ff}.targets-container[_ngcontent-%COMP%] .icon-container.match-type.disabled[_ngcontent-%COMP%]{cursor:default}.targets-container[_ngcontent-%COMP%] .icon-container.match-type[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:14px;width:14px;height:14px;color:#333}.btn-add-query[_ngcontent-%COMP%]{display:flex;align-items:center;cursor:pointer;width:fit-content;line-height:16px;opacity:.6;white-space:nowrap;margin-top:2px;-webkit-user-select:none;user-select:none;margin-left:19px}.btn-add-query[_ngcontent-%COMP%]:hover{opacity:1}.btn-add-query[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px;margin-right:2px} .model-explorer-add-query-menu .menu-item{letter-spacing:normal!important;font-family:Google Sans Text,Arial,Helvetica,sans-serif!important;font-size:12px;padding:0 8px;cursor:pointer;display:flex;align-items:center} .model-explorer-add-query-menu .menu-item .label{margin-left:6px} .model-explorer-add-query-menu .menu-item:hover{background-color:#eee} .model-explorer-regex-icon{display:flex;width:16px;height:16px;align-items:center;justify-content:center;font-weight:700;-webkit-user-select:none;user-select:none;color:#aaa} .model-explorer-regex-icon .r{font-size:12px} .model-explorer-regex-icon .e{font-size:8px;margin-top:2px} .model-explorer-attr-value-range-icon{display:flex;width:16px;height:16px;align-items:center;justify-content:center;font-size:10px;font-weight:700;-webkit-user-select:none;user-select:none;color:#aaa} .model-explorer-node-type-icon{width:16px;height:16px} .model-explorer-node-type-icon mat-icon{font-size:16px;width:16px;height:16px;color:#aaa} @@ -4054,7 +4055,7 @@ Alt+click: select`;getNamespaceLabel=cd;constValuesPopupSize={minWidth:100,minHe -`],changeDetection:0})}return i})();var z_e=(i,e)=>e.id;function U_e(i,e){i&1&&(v(0,"div",24),S(1," Rules use your defined queries to match nodes for styling. All queries within a rule are connected with "),v(2,"span",25),S(3,"AND"),b(),S(4," logic. "),b())}function H_e(i,e){if(i&1&&(v(0,"div",28),ee(1,"node-list-viewer",36),b()),i&2){let t=I().$index,n=I(2);w(),N("nodes",n.getMatchedNodes(t,0))("rendererId",n.leftPaneRendererId)}}function G_e(i,e){if(i&1&&(v(0,"div",28)(1,"div",37),S(2,"Left pane"),b(),ee(3,"node-list-viewer",36),b(),v(4,"div",28)(5,"div",37),S(6,"Right pane"),b(),ee(7,"node-list-viewer",36),b()),i&2){let t=I().$index,n=I(2);w(3),N("nodes",n.getMatchedNodes(t,0))("rendererId",n.leftPaneRendererId),w(4),N("nodes",n.getMatchedNodes(t,1))("rendererId",n.rightPaneRendererId)}}function j_e(i,e){if(i&1){let t=ie();v(0,"div",41)(1,"label")(2,"input",42,3),H("change",function(){V(t);let r=ve(3),o=I(2).$implicit,s=I().$index,a=I(2);return z(a.handleStyleColorChanged(s,o,r.value))}),b()(),v(4,"input",43,4),H("change",function(){V(t);let r=ve(5),o=I(2).$implicit,s=I().$index,a=I(2);return z(a.handleStyleColorChanged(s,o,r.value))}),b()()}if(i&2){let t=I(2).$implicit,n=I().$implicit,r=I(2);w(),tn("background-color",r.getSerializedStyleValue(n,t)),w(),N("value",r.getSerializedStyleValue(n,t)),w(2),N("value",r.getSerializedStyleValue(n,t))}}function W_e(i,e){if(i&1&&W(0,j_e,6,4,"div",41),i&2){let t=I().$implicit,n=I().$implicit,r=I(2);ae(r.getIsStyleEnabled(n,t)?0:-1)}}function $_e(i,e){if(i&1){let t=ie();v(0,"div",44)(1,"input",45,5),H("change",function(){V(t);let r=ve(2),o=I(2).$implicit,s=I().$index,a=I(2);return z(a.handleStyleColorChanged(s,o,r.value))}),b()()}if(i&2){let t=I(2).$implicit,n=I().$implicit,r=I(2);w(),N("value",r.getSerializedStyleValue(n,t))}}function q_e(i,e){if(i&1&&W(0,$_e,3,1,"div",44),i&2){let t=I().$implicit,n=I().$implicit,r=I(2);ae(r.getIsStyleEnabled(n,t)?0:-1)}}function Y_e(i,e){if(i&1){let t=ie();v(0,"div",30)(1,"div",38)(2,"input",39,2),H("change",function(){let r=V(t).$implicit,o=ve(3),s=I().$index,a=I(2);return z(a.handleToggleStyle(s,r,o.checked))}),b(),v(4,"div",40),H("click",function(){let r=V(t).$implicit,o=I().$index,s=I(2);return z(s.handleToggleStyle(o,r))}),S(5),b()(),W(6,W_e,1,1)(7,q_e,1,1),b()}if(i&2){let t,n=e.$implicit,r=I().$implicit,o=I(2);w(2),N("checked",o.getIsStyleEnabled(r,n)),w(3),Me(" ",n.label," "),w(),ae((t=n.type)===o.StyleType.COLOR?6:t===o.StyleType.NUMBER?7:-1)}}function X_e(i,e){if(i&1){let t=ie();v(0,"div",46),H("click",function(){V(t);let r=I().$index,o=I(2);return z(o.handleMoveUpRule(r))}),v(1,"mat-icon"),S(2,"arrow_upward_alt"),b()()}}function Z_e(i,e){if(i&1){let t=ie();v(0,"div",47),H("click",function(){V(t);let r=I().$index,o=I(2);return z(o.handleMoveDownRule(r))}),v(1,"mat-icon"),S(2,"arrow_downward_alt"),b()()}}function Q_e(i,e){if(i&1){let t=ie();v(0,"tr")(1,"td",19)(2,"complex-queries",26),H("queriesUpdated",function(r){let o=V(t).$index,s=I(2);return z(s.handleQueriesUpdated(o,r))}),b(),v(3,"div",27),W(4,H_e,2,2,"div",28)(5,G_e,8,4),b()(),v(6,"td",22)(7,"div",29),ln(8,Y_e,8,3,"div",30,z_e),b()(),v(10,"td",23)(11,"div",31),W(12,X_e,3,0,"div",32)(13,Z_e,3,0,"div",33),v(14,"div",34),H("click",function(){let r=V(t).$index,o=I(2);return z(o.handleDuplicateRule(r))}),v(15,"mat-icon"),S(16,"content_copy"),b()(),v(17,"div",35),H("click",function(){let r=V(t).$index,o=I(2);return z(o.handleDeleteRule(r))}),v(18,"mat-icon"),S(19,"delete"),b()()()()()}if(i&2){let t=e.$implicit,n=e.$index,r=e.$count,o=I(2);w(2),N("queries",t.queries),w(2),ae(o.panesCount===1?4:o.panesCount===2?5:-1),w(4),cn(o.allStyles),w(4),ae(n!==0?12:-1),w(),ae(n!==r-1?13:-1)}}function K_e(i,e){if(i&1&&(v(0,"table",10)(1,"thead")(2,"th",19)(3,"div",20),S(4," Queries to match nodes "),v(5,"div",21)(6,"mat-icon"),S(7,"help_outline"),b()(),W(8,U_e,5,0,"ng-template",null,1,kt),b()(),v(10,"th",22),S(11,"Styles to apply"),b(),ee(12,"th",23),b(),v(13,"tbody"),ln(14,Q_e,20,4,"tr",null,Kr),b()()),i&2){let t=ve(9),n=I();w(5),N("bubble",t)("overlaySize",n.helpPopupSize)("hoverDelayMs",10),w(9),cn(n.rules())}}function J_e(i,e){i&1&&(v(0,"div",11),S(1,' No rules configured. Click the "Add rule" button below to get started. '),b())}var g5=(()=>{class i{appService;changeDetectorRef;nodeStylerService;rules;hasNonEmptyNodeStylerRules;hasRules=Xt(()=>this.rules().length>0);StyleType=rf;NodeStylerQueryType=Fn;allStyles=LG;allSearchMatchTypeOptions=[{type:bt.NODE_LABEL,tooltip:"Match label"},{type:bt.ATTRIBUTE,tooltip:"Match attributes"},{type:bt.INPUT_METADATA,tooltip:"Match inputs (op node only)"},{type:bt.OUTPUT_METADATA,tooltip:"Match outputs (op node only)"}];allSearchNodeTypes=[{type:mr.OP_NODES,label:"Ops only"},{type:mr.LAYER_NODES,label:"Layers only"},{type:mr.OP_AND_LAYER_NODES,label:"Ops & layers"}];allQueryTypes=[{type:Fn.REGEX,label:"Regex"},{type:Fn.ATTR_VALUE_RANGE,label:"Attribute value range"}];helpPopupSize={minWidth:0,minHeight:0,maxWidth:340};curMatchedNodes={};constructor(t,n,r){this.appService=t,this.changeDetectorRef=n,this.nodeStylerService=r,this.rules=this.nodeStylerService.rules,this.hasNonEmptyNodeStylerRules=this.nodeStylerService.hasNonEmptyNodeStylerRules,lt(()=>{this.curMatchedNodes=this.nodeStylerService.matchedNodes(),this.changeDetectorRef.markForCheck()})}handleClickAddRule(){this.nodeStylerService.addNewRule()}handleClickExportRules(){let t=document.createElement("a");t.download="node_styler_rules.json";let n=`data:text/json;charset=utf-8, ${encodeURIComponent(JSON.stringify(this.rules(),null,2))}`;da.setHref(t,n),t.click()}handleClickImportRules(t){if(!t.files||t.files.length===0)return;let n=new FileReader;n.onload=r=>{let o=JSON.parse(r.target?.result);this.nodeStylerService.updateRules(o)},n.readAsText(t.files[0])}handleQueriesUpdated(t,n){this.nodeStylerService.updateQueries(t,n)}handleToggleStyle(t,n,r){this.nodeStylerService.toggleStyle(t,n,r)}handleStyleColorChanged(t,n,r){let o=r;r.startsWith("rgb")?o=this.rgbToHex(r):r.startsWith("#")||(o=Zb[r]||r),this.nodeStylerService.updateStyleValue(t,n,o)}handleNumberChanged(t,n,r){let o=Number(r);isNaN(o)||(o=Math.min(10,Math.max(.001,o)),this.nodeStylerService.updateStyleValue(t,n,`${o}`))}handleMoveUpRule(t){this.nodeStylerService.moveUpRule(t)}handleMoveDownRule(t){this.nodeStylerService.moveDownRule(t)}handleDuplicateRule(t){this.nodeStylerService.duplicateRule(t)}handleDeleteRule(t){this.nodeStylerService.deleteRule(t)}getIsStyleEnabled(t,n){return t.styles[n.id]!=null}getSerializedStyleValue(t,n){return ud(t,n.id)}getMatchedNodes(t,n){return(this.curMatchedNodes[t]||{})[n]||[]}get panesCount(){return this.appService.panes().length}get leftPaneRendererId(){return this.appService.panes()[0].id}get rightPaneRendererId(){return this.appService.panes()[1].id}rgbToHex(t){let n=t.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(\d+\.{0,1}\d*))?\)$/);if(n){let r=n.slice(1,4).map(o=>Number(o).toString(16).padStart(2,"0")).join("");return r[0]===r[1]&&r[2]===r[3]&&r[4]===r[5]?`#${r[0]}${r[2]}${r[4]}`:`#${r}`}return"unknown"}static \u0275fac=function(n){return new(n||i)(M(st),M(Fe),M(ua))};static \u0275cmp=le({type:i,selectors:[["node-styler-dialog"]],standalone:!0,features:[ce],decls:26,vars:1,consts:[["input",""],["helpQuery",""],["cb",""],["colorPicker",""],["colorInput",""],["numberInput",""],["mat-dialog-title","","cdkDrag","","cdkDragRootElement",".cdk-overlay-pane","cdkDragHandle","",1,"title-container"],[1,"title"],[1,"description"],["mat-dialog-content","",1,"dialog-content"],["border","0","cellspacing","0","cellpadding","0",1,"rules-table"],[1,"no-rules-message"],["mat-dialog-actions","",1,"btns-container"],[1,"left-btns"],["mat-flat-button","","color","primary",1,"action-button","add-rule",3,"click"],["mat-flat-button","","color","primary",1,"action-button","load-rules",3,"click"],["mat-flat-button","","color","primary",1,"action-button","save-rules",3,"click"],["type","file","accept","application/JSON",1,"import-rules-input",3,"change"],["mat-button","","mat-dialog-close","",1,"close"],[1,"query"],[1,"query-header-container"],[1,"icon-container",3,"bubble","overlaySize","hoverDelayMs"],[1,"styles"],[1,"action-btns"],[1,"model-explorer-help-popup"],[1,"bold"],[3,"queriesUpdated","queries"],[1,"node-list-viewers-container"],[1,"node-list-viewer-container"],[1,"styles-container"],[1,"color-style-container"],[1,"action-buttons-container"],["matTooltip","Move up",1,"icon-container","move-up"],["matTooltip","Move down",1,"icon-container","move-down"],["matTooltip","Duplicate rule",1,"icon-container","duplicate-rule",3,"click"],["matTooltip","Delete rule",1,"icon-container","delete-rule",3,"click"],["labelSuffix","matched node",3,"nodes","rendererId"],[1,"label"],[1,"style-name-container"],["type","checkbox",3,"change","checked"],[3,"click"],[1,"color-picker-container"],["type","color",3,"change","value"],["type","text",3,"change","value"],[1,"number-editor-container"],[3,"change","value"],["matTooltip","Move up",1,"icon-container","move-up",3,"click"],["matTooltip","Move down",1,"icon-container","move-down",3,"click"]],template:function(n,r){if(n&1){let o=ie();v(0,"div",6)(1,"div",7),S(2,"Node styler"),b(),v(3,"div",8),S(4," Use the buttons below to apply styling rules to this graph "),b()(),v(5,"div",9),W(6,K_e,16,3,"table",10)(7,J_e,2,0,"div",11),b(),v(8,"div",12)(9,"div",13)(10,"button",14),H("click",function(){return V(o),z(r.handleClickAddRule())}),v(11,"mat-icon"),S(12,"add"),b(),S(13," Add rule "),b(),v(14,"button",15),H("click",function(){V(o);let a=ve(23);return z(a.click())}),v(15,"mat-icon"),S(16,"file_upload"),b(),S(17," Import rules "),b(),v(18,"button",16),H("click",function(){return V(o),z(r.handleClickExportRules())}),v(19,"mat-icon"),S(20,"file_download"),b(),S(21," Export rules "),b(),v(22,"input",17,0),H("change",function(){V(o);let a=ve(23);return z(r.handleClickImportRules(a))}),b()(),v(24,"button",18),S(25,"Done"),b()()}n&2&&(w(6),ae(r.hasRules()?6:7))},dependencies:[$n,Ae,f5,p5,h5,u5,In,zi,ma,cf,df,hf,uf,it,_t,ca,Jt,Wn,m5],styles:[`*[_ngcontent-%COMP%]:not(mat-icon){font-family:Google Sans Text,Arial,Helvetica,sans-serif!important;letter-spacing:normal!important}.title-container[_ngcontent-%COMP%]{position:relative}.title[_ngcontent-%COMP%]{font-size:24px;font-weight:500;margin-top:-30px}.description[_ngcontent-%COMP%]{line-height:14px;font-size:12px;color:#777;margin-top:6px;margin-bottom:4px;font-weight:400}.btns-container[_ngcontent-%COMP%]{width:100%;display:flex;align-items:center;justify-content:space-between;padding:0 24px}.action-button[_ngcontent-%COMP%]{height:30px;padding:0 10px;font-size:13px}.action-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-right:2px}.import-rules-input[_ngcontent-%COMP%]{display:none}.dialog-content[_ngcontent-%COMP%]{padding:0;box-sizing:border-box;border-top:1px solid #e6e6e6;border-bottom:1px solid #e6e6e6;background-color:#f9f9f9;overflow:hidden auto}.dialog-content[_ngcontent-%COMP%] .no-rules-message[_ngcontent-%COMP%]{padding:12px 24px;font-size:12px;color:#777}.common-input[_ngcontent-%COMP%]{padding:0 4px;border:1px solid #ccc;border-radius:4px;height:22px;box-sizing:border-box;outline:none}.common-input[_ngcontent-%COMP%]:focus{border-color:#1a73e8;outline:1px solid #1a73e8}.rules-table[_ngcontent-%COMP%]{width:100%;font-size:12px}.rules-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:not(.action-btns), .rules-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:not(.action-btns){border-right:1px solid #e6e6e6}.rules-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{border-bottom:1px solid #e6e6e6}.rules-table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%]{text-align:left;height:32px;position:sticky;top:0;background-color:#f1f1f1;z-index:100}.rules-table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{font-weight:500;border-bottom:1px solid #e6e6e6}.rules-table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th.query[_ngcontent-%COMP%]{padding-left:24px;width:410px}.rules-table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th.query[_ngcontent-%COMP%] .query-header-container[_ngcontent-%COMP%]{display:flex;align-items:center}.rules-table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th.query[_ngcontent-%COMP%] .query-header-container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]{width:16px;height:16px;opacity:.6;cursor:pointer;margin-left:4px}.rules-table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th.query[_ngcontent-%COMP%] .query-header-container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]:hover{opacity:1}.rules-table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th.query[_ngcontent-%COMP%] .query-header-container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px}.rules-table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th.target[_ngcontent-%COMP%]{padding-left:12px}.rules-table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th.styles[_ngcontent-%COMP%]{padding-left:12px;min-width:254px}.rules-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding-top:8px;padding-bottom:8px}.rules-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td.query[_ngcontent-%COMP%]{padding-left:24px;padding-right:12px;vertical-align:top}.rules-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td.query[_ngcontent-%COMP%] .node-list-viewers-container[_ngcontent-%COMP%]{display:flex;gap:12px}.rules-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td.query[_ngcontent-%COMP%] .node-list-viewer-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:fit-content;margin-top:12px}.rules-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td.query[_ngcontent-%COMP%] .node-list-viewer-container[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{line-height:18px}.rules-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td.target[_ngcontent-%COMP%]{vertical-align:top;padding-left:12px;padding-right:12px}.rules-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td.styles[_ngcontent-%COMP%]{padding-left:12px;padding-right:18px;vertical-align:top}.rules-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td.styles[_ngcontent-%COMP%] .styles-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2px}.rules-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td.action-btns[_ngcontent-%COMP%]{vertical-align:top;padding-right:12px;width:80px}.rules-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td.action-btns[_ngcontent-%COMP%] .action-buttons-container[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;gap:2px}.rules-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td.action-btns[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]{display:flex;opacity:.6;cursor:pointer;margin-top:2px}.rules-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td.action-btns[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]:hover{opacity:1}.rules-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td.action-btns[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px}.rules-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] .color-style-container[_ngcontent-%COMP%]{display:flex;align-items:center}.rules-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] .color-style-container[_ngcontent-%COMP%] .style-name-container[_ngcontent-%COMP%]{display:flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;width:100px}.rules-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] .color-style-container[_ngcontent-%COMP%] .style-name-container[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{cursor:pointer}.rules-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] .color-style-container[_ngcontent-%COMP%] .color-picker-container[_ngcontent-%COMP%]{display:flex;align-items:center;overflow:hidden;border-radius:4px;border:1px solid #ccc;margin-left:4px;width:fit-content;background-color:#fff;box-sizing:border-box;height:24px;position:relative}.rules-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] .color-style-container[_ngcontent-%COMP%] .color-picker-container[_ngcontent-%COMP%]:focus-within{border-color:#1a73e8;outline:1px solid #1a73e8}.rules-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] .color-style-container[_ngcontent-%COMP%] .color-picker-container[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:inline-block;width:16px;height:16px;margin:2px;background-color:red;border-radius:4px;cursor:pointer;border:1px solid #ddd}.rules-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] .color-style-container[_ngcontent-%COMP%] .color-picker-container[_ngcontent-%COMP%] label[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{visibility:hidden}.rules-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] .color-style-container[_ngcontent-%COMP%] .color-picker-container[_ngcontent-%COMP%] input[type=text][_ngcontent-%COMP%]{width:100px;border:none;height:100%;background-color:transparent;outline:none}.rules-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] .color-style-container[_ngcontent-%COMP%] .number-editor-container[_ngcontent-%COMP%]{display:flex;align-items:center;overflow:hidden;margin-left:4px;width:fit-content}.rules-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] .color-style-container[_ngcontent-%COMP%] .number-editor-container[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:80px;height:28px;border:1px solid #ccc;border-radius:4px;background-color:transparent;box-sizing:border-box;padding:0 4px;outline:none} +`],changeDetection:0})}return i})();function cve(i,e){if(i&1&&(v(0,"div",3),ee(1,"io-tree",4),b()),i&2){let t=I();w(),R("data",t.curIoTreeData)("rendererId",t.rendererId)("tooltipPosition","right")}}var C5=(()=>{class i{nodes=[];rendererId="";labelSuffix="node";popupSize={minWidth:320,maxWidth:640,minHeight:0};curIoTreeData=[];ngOnChanges(t){t.nodes&&(this.curIoTreeData=uc(this.nodes,[],"incoming"))}get label(){let t=this.nodes.length;return`${t} ${this.labelSuffix}${t===1?"":"s"}`}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=ce({type:i,selectors:[["node-list-viewer"]],inputs:{nodes:"nodes",rendererId:"rendererId",labelSuffix:"labelSuffix"},standalone:!0,features:[dn,le],decls:5,vars:5,consts:[["nodeList",""],[1,"container"],["panelClass","model-explorer-node-list-panel",1,"label-container",3,"bubbleClick","overlaySize"],[1,"model-explorer-node-list"],[3,"data","rendererId","tooltipPosition"]],template:function(n,r){if(n&1&&(v(0,"div",1)(1,"div",2),S(2),b(),$(3,cve,2,3,"ng-template",null,0,Tt),b()),n&2){let o=ve(4);w(),re("disabled",r.nodes.length===0),R("bubbleClick",o)("overlaySize",r.popupSize),w(),Se(" ",r.label," ")}},dependencies:[Is,Ae,Sl,tt],styles:[`.container[_ngcontent-%COMP%]{display:flex;position:relative}.label-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;padding:4px 6px;border-radius:4px;background-color:#a3c9ff;line-height:14px;cursor:pointer;-webkit-user-select:none;user-select:none;opacity:.8}.label-container[_ngcontent-%COMP%]:hover{opacity:1}.label-container.disabled[_ngcontent-%COMP%]{pointer-events:none;background-color:#ddd} .model-explorer-node-list{font-size:12px;background-color:#fff;line-height:normal} .model-explorer-node-list-panel bubble-container{width:100%} @@ -4072,7 +4073,7 @@ Alt+click: select`;getNamespaceLabel=cd;constValuesPopupSize={minWidth:100,minHe -`],changeDetection:0})}return i})();var _5=(()=>{class i{dialog;nodeStylerService;viewContainerRef;hasNonEmptyNodeStylerRules;constructor(t,n,r){this.dialog=t,this.nodeStylerService=n,this.viewContainerRef=r,this.hasNonEmptyNodeStylerRules=this.nodeStylerService.hasNonEmptyNodeStylerRules}handleClickOpenDialog(){this.dialog.open(g5,{width:"800px",height:"600px",viewContainerRef:this.viewContainerRef,hasBackdrop:!1,autoFocus:!1})}static \u0275fac=function(n){return new(n||i)(M(Su),M(ua),M(Yt))};static \u0275cmp=le({type:i,selectors:[["node-styler"]],standalone:!0,features:[ce],decls:3,vars:2,consts:[["mat-icon-button","","aria-label","node-styler","matTooltip","Style nodes with custom rules",3,"click"]],template:function(n,r){n&1&&(v(0,"button",0),H("click",function(){return r.handleClickOpenDialog()}),v(1,"mat-icon"),S(2,"palette"),b()()),n&2&&(w(),se("highlight",r.hasNonEmptyNodeStylerRules()))},dependencies:[Ae,In,Ho,ma,it,_t,Jt,Wn],styles:[`button[_ngcontent-%COMP%] mat-icon.highlight[_ngcontent-%COMP%]{background:linear-gradient(45deg,#0089ff 0 30%,#f1af00 70% 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent} +`],changeDetection:0})}return i})();var lve=(i,e)=>e.id;function dve(i,e){i&1&&(v(0,"div",24),S(1," Rules use your defined queries to match nodes for styling. All queries within a rule are connected with "),v(2,"span",25),S(3,"AND"),b(),S(4," logic. "),b())}function uve(i,e){if(i&1&&(v(0,"div",28),ee(1,"node-list-viewer",36),b()),i&2){let t=I().$index,n=I(2);w(),R("nodes",n.getMatchedNodes(t,0))("rendererId",n.leftPaneRendererId)}}function hve(i,e){if(i&1&&(v(0,"div",28)(1,"div",37),S(2,"Left pane"),b(),ee(3,"node-list-viewer",36),b(),v(4,"div",28)(5,"div",37),S(6,"Right pane"),b(),ee(7,"node-list-viewer",36),b()),i&2){let t=I().$index,n=I(2);w(3),R("nodes",n.getMatchedNodes(t,0))("rendererId",n.leftPaneRendererId),w(4),R("nodes",n.getMatchedNodes(t,1))("rendererId",n.rightPaneRendererId)}}function pve(i,e){if(i&1){let t=ne();v(0,"div",41)(1,"label")(2,"input",42,3),H("change",function(){B(t);let r=ve(3),o=I(2).$implicit,s=I().$index,a=I(2);return V(a.handleStyleColorChanged(s,o,r.value))}),b()(),v(4,"input",43,4),H("change",function(){B(t);let r=ve(5),o=I(2).$implicit,s=I().$index,a=I(2);return V(a.handleStyleColorChanged(s,o,r.value))}),b()()}if(i&2){let t=I(2).$implicit,n=I().$implicit,r=I(2);w(),Jt("background-color",r.getSerializedStyleValue(n,t)),w(),R("value",r.getSerializedStyleValue(n,t)),w(2),R("value",r.getSerializedStyleValue(n,t))}}function fve(i,e){if(i&1&&$(0,pve,6,4,"div",41),i&2){let t=I().$implicit,n=I().$implicit,r=I(2);oe(r.getIsStyleEnabled(n,t)?0:-1)}}function mve(i,e){if(i&1){let t=ne();v(0,"div",44)(1,"input",45,5),H("change",function(){B(t);let r=ve(2),o=I(2).$implicit,s=I().$index,a=I(2);return V(a.handleStyleColorChanged(s,o,r.value))}),b()()}if(i&2){let t=I(2).$implicit,n=I().$implicit,r=I(2);w(),R("value",r.getSerializedStyleValue(n,t))}}function gve(i,e){if(i&1&&$(0,mve,3,1,"div",44),i&2){let t=I().$implicit,n=I().$implicit,r=I(2);oe(r.getIsStyleEnabled(n,t)?0:-1)}}function _ve(i,e){if(i&1){let t=ne();v(0,"div",30)(1,"div",38)(2,"input",39,2),H("change",function(){let r=B(t).$implicit,o=ve(3),s=I().$index,a=I(2);return V(a.handleToggleStyle(s,r,o.checked))}),b(),v(4,"div",40),H("click",function(){let r=B(t).$implicit,o=I().$index,s=I(2);return V(s.handleToggleStyle(o,r))}),S(5),b()(),$(6,fve,1,1)(7,gve,1,1),b()}if(i&2){let t,n=e.$implicit,r=I().$implicit,o=I(2);w(2),R("checked",o.getIsStyleEnabled(r,n)),w(3),Se(" ",n.label," "),w(),oe((t=n.type)===o.StyleType.COLOR?6:t===o.StyleType.NUMBER?7:-1)}}function vve(i,e){if(i&1){let t=ne();v(0,"div",46),H("click",function(){B(t);let r=I().$index,o=I(2);return V(o.handleMoveUpRule(r))}),v(1,"mat-icon"),S(2,"arrow_upward_alt"),b()()}}function bve(i,e){if(i&1){let t=ne();v(0,"div",47),H("click",function(){B(t);let r=I().$index,o=I(2);return V(o.handleMoveDownRule(r))}),v(1,"mat-icon"),S(2,"arrow_downward_alt"),b()()}}function yve(i,e){if(i&1){let t=ne();v(0,"tr")(1,"td",19)(2,"complex-queries",26),H("queriesUpdated",function(r){let o=B(t).$index,s=I(2);return V(s.handleQueriesUpdated(o,r))}),b(),v(3,"div",27),$(4,uve,2,2,"div",28)(5,hve,8,4),b()(),v(6,"td",22)(7,"div",29),rn(8,_ve,8,3,"div",30,lve),b()(),v(10,"td",23)(11,"div",31),$(12,vve,3,0,"div",32)(13,bve,3,0,"div",33),v(14,"div",34),H("click",function(){let r=B(t).$index,o=I(2);return V(o.handleDuplicateRule(r))}),v(15,"mat-icon"),S(16,"content_copy"),b()(),v(17,"div",35),H("click",function(){let r=B(t).$index,o=I(2);return V(o.handleDeleteRule(r))}),v(18,"mat-icon"),S(19,"delete"),b()()()()()}if(i&2){let t=e.$implicit,n=e.$index,r=e.$count,o=I(2);w(2),R("queries",t.queries),w(2),oe(o.panesCount===1?4:o.panesCount===2?5:-1),w(4),on(o.allStyles),w(4),oe(n!==0?12:-1),w(),oe(n!==r-1?13:-1)}}function xve(i,e){if(i&1&&(v(0,"table",10)(1,"thead")(2,"th",19)(3,"div",20),S(4," Queries to match nodes "),v(5,"div",21)(6,"mat-icon"),S(7,"help_outline"),b()(),$(8,dve,5,0,"ng-template",null,1,Tt),b()(),v(10,"th",22),S(11,"Styles to apply"),b(),ee(12,"th",23),b(),v(13,"tbody"),rn(14,yve,20,4,"tr",null,gr),b()()),i&2){let t=ve(9),n=I();w(5),R("bubble",t)("overlaySize",n.helpPopupSize)("hoverDelayMs",10),w(9),on(n.rules())}}function wve(i,e){i&1&&(v(0,"div",11),S(1,' No rules configured. Click the "Add rule" button below to get started. '),b())}var S5=(()=>{class i{appService;changeDetectorRef;nodeStylerService;rules;hasNonEmptyNodeStylerRules;hasRules=Bt(()=>this.rules().length>0);StyleType=cf;NodeStylerQueryType=Vn;allStyles=zG;allSearchMatchTypeOptions=[{type:xt.NODE_LABEL,tooltip:"Match label"},{type:xt.ATTRIBUTE,tooltip:"Match attributes"},{type:xt.INPUT_METADATA,tooltip:"Match inputs (op node only)"},{type:xt.OUTPUT_METADATA,tooltip:"Match outputs (op node only)"}];allSearchNodeTypes=[{type:_r.OP_NODES,label:"Ops only"},{type:_r.LAYER_NODES,label:"Layers only"},{type:_r.OP_AND_LAYER_NODES,label:"Ops & layers"}];allQueryTypes=[{type:Vn.REGEX,label:"Regex"},{type:Vn.ATTR_VALUE_RANGE,label:"Attribute value range"}];helpPopupSize={minWidth:0,minHeight:0,maxWidth:340};curMatchedNodes={};constructor(t,n,r){this.appService=t,this.changeDetectorRef=n,this.nodeStylerService=r,this.rules=this.nodeStylerService.rules,this.hasNonEmptyNodeStylerRules=this.nodeStylerService.hasNonEmptyNodeStylerRules,lt(()=>{this.curMatchedNodes=this.nodeStylerService.matchedNodes(),this.changeDetectorRef.markForCheck()})}handleClickAddRule(){this.nodeStylerService.addNewRule()}handleClickExportRules(){let t=document.createElement("a");t.download="node_styler_rules.json";let n=`data:text/json;charset=utf-8, ${encodeURIComponent(JSON.stringify(this.rules(),null,2))}`;dc(t,n),t.click()}handleClickImportRules(t){if(!t.files||t.files.length===0)return;let n=new FileReader;n.onload=r=>{let o=JSON.parse(r.target?.result);this.nodeStylerService.updateRules(o)},n.readAsText(t.files[0])}handleQueriesUpdated(t,n){this.nodeStylerService.updateQueries(t,n)}handleToggleStyle(t,n,r){this.nodeStylerService.toggleStyle(t,n,r)}handleStyleColorChanged(t,n,r){let o=r;r.startsWith("rgb")?o=this.rgbToHex(r):r.startsWith("#")||(o=Jb[r]||r),this.nodeStylerService.updateStyleValue(t,n,o)}handleNumberChanged(t,n,r){let o=Number(r);isNaN(o)||(o=Math.min(10,Math.max(.001,o)),this.nodeStylerService.updateStyleValue(t,n,`${o}`))}handleMoveUpRule(t){this.nodeStylerService.moveUpRule(t)}handleMoveDownRule(t){this.nodeStylerService.moveDownRule(t)}handleDuplicateRule(t){this.nodeStylerService.duplicateRule(t)}handleDeleteRule(t){this.nodeStylerService.deleteRule(t)}getIsStyleEnabled(t,n){return t.styles[n.id]!=null}getSerializedStyleValue(t,n){return fd(t,n.id)}getMatchedNodes(t,n){return(this.curMatchedNodes[t]||{})[n]||[]}get panesCount(){return this.appService.panes().length}get leftPaneRendererId(){return this.appService.panes()[0].id}get rightPaneRendererId(){return this.appService.panes()[1].id}rgbToHex(t){let n=t.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(\d+\.{0,1}\d*))?\)$/);if(n){let r=n.slice(1,4).map(o=>Number(o).toString(16).padStart(2,"0")).join("");return r[0]===r[1]&&r[2]===r[3]&&r[4]===r[5]?`#${r[0]}${r[2]}${r[4]}`:`#${r}`}return"unknown"}static \u0275fac=function(n){return new(n||i)(M(at),M(Ne),M(pa))};static \u0275cmp=ce({type:i,selectors:[["node-styler-dialog"]],standalone:!0,features:[le],decls:26,vars:1,consts:[["input",""],["helpQuery",""],["cb",""],["colorPicker",""],["colorInput",""],["numberInput",""],["mat-dialog-title","","cdkDrag","","cdkDragRootElement",".cdk-overlay-pane","cdkDragHandle","",1,"title-container"],[1,"title"],[1,"description"],["mat-dialog-content","",1,"dialog-content"],["border","0","cellspacing","0","cellpadding","0",1,"rules-table"],[1,"no-rules-message"],["mat-dialog-actions","",1,"btns-container"],[1,"left-btns"],["mat-flat-button","","color","primary",1,"action-button","add-rule",3,"click"],["mat-flat-button","","color","primary",1,"action-button","load-rules",3,"click"],["mat-flat-button","","color","primary",1,"action-button","save-rules",3,"click"],["type","file","accept","application/JSON",1,"import-rules-input",3,"change"],["mat-button","","mat-dialog-close","",1,"close"],[1,"query"],[1,"query-header-container"],[1,"icon-container",3,"bubble","overlaySize","hoverDelayMs"],[1,"styles"],[1,"action-btns"],[1,"model-explorer-help-popup"],[1,"bold"],[3,"queriesUpdated","queries"],[1,"node-list-viewers-container"],[1,"node-list-viewer-container"],[1,"styles-container"],[1,"color-style-container"],[1,"action-buttons-container"],["matTooltip","Move up",1,"icon-container","move-up"],["matTooltip","Move down",1,"icon-container","move-down"],["matTooltip","Duplicate rule",1,"icon-container","duplicate-rule",3,"click"],["matTooltip","Delete rule",1,"icon-container","delete-rule",3,"click"],["labelSuffix","matched node",3,"nodes","rendererId"],[1,"label"],[1,"style-name-container"],["type","checkbox",3,"change","checked"],[3,"click"],[1,"color-picker-container"],["type","color",3,"change","value"],["type","text",3,"change","value"],[1,"number-editor-container"],[3,"change","value"],["matTooltip","Move up",1,"icon-container","move-up",3,"click"],["matTooltip","Move down",1,"icon-container","move-down",3,"click"]],template:function(n,r){if(n&1){let o=ne();v(0,"div",6)(1,"div",7),S(2,"Node styler"),b(),v(3,"div",8),S(4," Use the buttons below to apply styling rules to this graph "),b()(),v(5,"div",9),$(6,xve,16,3,"table",10)(7,wve,2,0,"div",11),b(),v(8,"div",12)(9,"div",13)(10,"button",14),H("click",function(){return B(o),V(r.handleClickAddRule())}),v(11,"mat-icon"),S(12,"add"),b(),S(13," Add rule "),b(),v(14,"button",15),H("click",function(){B(o);let a=ve(23);return V(a.click())}),v(15,"mat-icon"),S(16,"file_upload"),b(),S(17," Import rules "),b(),v(18,"button",16),H("click",function(){return B(o),V(r.handleClickExportRules())}),v(19,"mat-icon"),S(20,"file_download"),b(),S(21," Export rules "),b(),v(22,"input",17,0),H("change",function(){B(o);let a=ve(23);return V(r.handleClickImportRules(a))}),b()(),v(24,"button",18),S(25,"Done"),b()()}n&2&&(w(6),oe(r.hasRules()?6:7))},dependencies:[Hn,Ae,w5,x5,y5,b5,xn,Ti,_a,pf,ff,gf,mf,tt,pt,ua,Xt,Yn,C5],styles:[`*[_ngcontent-%COMP%]:not(mat-icon){font-family:Google Sans Text,Arial,Helvetica,sans-serif!important;letter-spacing:normal!important}.title-container[_ngcontent-%COMP%]{position:relative}.title[_ngcontent-%COMP%]{font-size:24px;font-weight:500;margin-top:-30px}.description[_ngcontent-%COMP%]{line-height:14px;font-size:12px;color:#777;margin-top:6px;margin-bottom:4px;font-weight:400}.btns-container[_ngcontent-%COMP%]{width:100%;display:flex;align-items:center;justify-content:space-between;padding:0 24px}.action-button[_ngcontent-%COMP%]{height:30px;padding:0 10px;font-size:13px}.action-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-right:2px}.import-rules-input[_ngcontent-%COMP%]{display:none}.dialog-content[_ngcontent-%COMP%]{padding:0;box-sizing:border-box;border-top:1px solid #e6e6e6;border-bottom:1px solid #e6e6e6;background-color:#f9f9f9;overflow:hidden auto}.dialog-content[_ngcontent-%COMP%] .no-rules-message[_ngcontent-%COMP%]{padding:12px 24px;font-size:12px;color:#777}.common-input[_ngcontent-%COMP%]{padding:0 4px;border:1px solid #ccc;border-radius:4px;height:22px;box-sizing:border-box;outline:none}.common-input[_ngcontent-%COMP%]:focus{border-color:#1a73e8;outline:1px solid #1a73e8}.rules-table[_ngcontent-%COMP%]{width:100%;font-size:12px}.rules-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:not(.action-btns), .rules-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:not(.action-btns){border-right:1px solid #e6e6e6}.rules-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{border-bottom:1px solid #e6e6e6}.rules-table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%]{text-align:left;height:32px;position:sticky;top:0;background-color:#f1f1f1;z-index:100}.rules-table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{font-weight:500;border-bottom:1px solid #e6e6e6}.rules-table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th.query[_ngcontent-%COMP%]{padding-left:24px;width:410px}.rules-table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th.query[_ngcontent-%COMP%] .query-header-container[_ngcontent-%COMP%]{display:flex;align-items:center}.rules-table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th.query[_ngcontent-%COMP%] .query-header-container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]{width:16px;height:16px;opacity:.6;cursor:pointer;margin-left:4px}.rules-table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th.query[_ngcontent-%COMP%] .query-header-container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]:hover{opacity:1}.rules-table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th.query[_ngcontent-%COMP%] .query-header-container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px}.rules-table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th.target[_ngcontent-%COMP%]{padding-left:12px}.rules-table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th.styles[_ngcontent-%COMP%]{padding-left:12px;min-width:254px}.rules-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding-top:8px;padding-bottom:8px}.rules-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td.query[_ngcontent-%COMP%]{padding-left:24px;padding-right:12px;vertical-align:top}.rules-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td.query[_ngcontent-%COMP%] .node-list-viewers-container[_ngcontent-%COMP%]{display:flex;gap:12px}.rules-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td.query[_ngcontent-%COMP%] .node-list-viewer-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:fit-content;margin-top:12px}.rules-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td.query[_ngcontent-%COMP%] .node-list-viewer-container[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{line-height:18px}.rules-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td.target[_ngcontent-%COMP%]{vertical-align:top;padding-left:12px;padding-right:12px}.rules-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td.styles[_ngcontent-%COMP%]{padding-left:12px;padding-right:18px;vertical-align:top}.rules-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td.styles[_ngcontent-%COMP%] .styles-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2px}.rules-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td.action-btns[_ngcontent-%COMP%]{vertical-align:top;padding-right:12px;width:80px}.rules-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td.action-btns[_ngcontent-%COMP%] .action-buttons-container[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;gap:2px}.rules-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td.action-btns[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]{display:flex;opacity:.6;cursor:pointer;margin-top:2px}.rules-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td.action-btns[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]:hover{opacity:1}.rules-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td.action-btns[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px}.rules-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] .color-style-container[_ngcontent-%COMP%]{display:flex;align-items:center}.rules-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] .color-style-container[_ngcontent-%COMP%] .style-name-container[_ngcontent-%COMP%]{display:flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;width:100px}.rules-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] .color-style-container[_ngcontent-%COMP%] .style-name-container[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{cursor:pointer}.rules-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] .color-style-container[_ngcontent-%COMP%] .color-picker-container[_ngcontent-%COMP%]{display:flex;align-items:center;overflow:hidden;border-radius:4px;border:1px solid #ccc;margin-left:4px;width:fit-content;background-color:#fff;box-sizing:border-box;height:24px;position:relative}.rules-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] .color-style-container[_ngcontent-%COMP%] .color-picker-container[_ngcontent-%COMP%]:focus-within{border-color:#1a73e8;outline:1px solid #1a73e8}.rules-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] .color-style-container[_ngcontent-%COMP%] .color-picker-container[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:inline-block;width:16px;height:16px;margin:2px;background-color:red;border-radius:4px;cursor:pointer;border:1px solid #ddd}.rules-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] .color-style-container[_ngcontent-%COMP%] .color-picker-container[_ngcontent-%COMP%] label[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{visibility:hidden}.rules-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] .color-style-container[_ngcontent-%COMP%] .color-picker-container[_ngcontent-%COMP%] input[type=text][_ngcontent-%COMP%]{width:100px;border:none;height:100%;background-color:transparent;outline:none}.rules-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] .color-style-container[_ngcontent-%COMP%] .number-editor-container[_ngcontent-%COMP%]{display:flex;align-items:center;overflow:hidden;margin-left:4px;width:fit-content}.rules-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] .color-style-container[_ngcontent-%COMP%] .number-editor-container[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:80px;height:28px;border:1px solid #ccc;border-radius:4px;background-color:transparent;box-sizing:border-box;padding:0 4px;outline:none} @@ -4090,7 +4091,7 @@ Alt+click: select`;getNamespaceLabel=cd;constValuesPopupSize={minWidth:100,minHe -`],changeDetection:0})}return i})();var eve=["*"],v5=(()=>{class i{appService;titleClicked=new Ie;constructor(t){this.appService=t}get disableTitleTooltip(){return this.appService.testMode}static \u0275fac=function(n){return new(n||i)(M(st))};static \u0275cmp=le({type:i,selectors:[["title-bar"]],outputs:{titleClicked:"titleClicked"},standalone:!0,features:[ce],ngContentSelectors:eve,decls:22,vars:1,consts:[[1,"container"],["matTooltip","Back home",1,"title",3,"click","matTooltipDisabled"],[1,"right-container"],[1,"divider"],[1,"divider","tighter-right"],[1,"icons-container"],["href","https://github.com/google-ai-edge/model-explorer","target","_blank"],["mat-icon-button","","aria-label","doc","matTooltip","GitHub"],["href","https://github.com/google-ai-edge/model-explorer/issues","target","_blank"],["mat-icon-button","","aria-label","bug","matTooltip","File issue or feature request"]],template:function(n,r){n&1&&(Ln(),v(0,"div",0)(1,"div",1),H("click",function(){return r.titleClicked.emit()}),ee(2,"me-logo"),S(3," Model Explorer "),ee(4,"new-version-chip"),b(),v(5,"div",2),ee(6,"node-data-provider-dropdown")(7,"div",3)(8,"graph-selector")(9,"div",4)(10,"node-styler"),v(11,"div",5)(12,"a",6)(13,"button",7)(14,"mat-icon"),S(15,"article"),b()()(),v(16,"a",8)(17,"button",9)(18,"mat-icon"),S(19,"bug_report"),b()()()(),ee(20,"open-in-new-tab-button"),$t(21),b()()),n&2&&(w(),N("matTooltipDisabled",r.disableTitleTooltip))},dependencies:[Ae,Oj,Jp,In,Ho,it,_t,Jt,Wn,qC,Nj,_5,jC],styles:[`.container[_ngcontent-%COMP%]{width:100%;height:100%;padding:8px 8px 8px 12px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ddd}.container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:400;cursor:pointer;color:#444746;font-size:20px;display:flex;align-items:center}.container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%] me-logo[_ngcontent-%COMP%]{margin-right:6px}.container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%] new-version-chip[_ngcontent-%COMP%]{margin-left:16px}.container[_ngcontent-%COMP%] .right-container[_ngcontent-%COMP%]{display:flex;align-items:center}.container[_ngcontent-%COMP%] .divider[_ngcontent-%COMP%]{width:1px;height:28px;border-left:1px solid #ccc;margin:0 16px}.container[_ngcontent-%COMP%] .divider.tighter-right[_ngcontent-%COMP%]{margin-right:4px}.container[_ngcontent-%COMP%] .icons-container[_ngcontent-%COMP%]{display:flex;align-items:center}.container[_ngcontent-%COMP%] .icons-container[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;color:#000}.container[_ngcontent-%COMP%] open-in-new-tab-button[_ngcontent-%COMP%]{margin-left:8px} +`],changeDetection:0})}return i})();var M5=(()=>{class i{dialog;nodeStylerService;viewContainerRef;hasNonEmptyNodeStylerRules;constructor(t,n,r){this.dialog=t,this.nodeStylerService=n,this.viewContainerRef=r,this.hasNonEmptyNodeStylerRules=this.nodeStylerService.hasNonEmptyNodeStylerRules}handleClickOpenDialog(){this.dialog.open(S5,{width:"800px",height:"600px",viewContainerRef:this.viewContainerRef,hasBackdrop:!1,autoFocus:!1})}static \u0275fac=function(n){return new(n||i)(M(Iu),M(pa),M(Zt))};static \u0275cmp=ce({type:i,selectors:[["node-styler"]],standalone:!0,features:[le],decls:3,vars:2,consts:[["mat-icon-button","","aria-label","node-styler","matTooltip","Style nodes with custom rules",3,"click"]],template:function(n,r){n&1&&(v(0,"button",0),H("click",function(){return r.handleClickOpenDialog()}),v(1,"mat-icon"),S(2,"palette"),b()()),n&2&&(w(),re("highlight",r.hasNonEmptyNodeStylerRules()))},dependencies:[Ae,xn,Wo,_a,tt,pt,Xt,Yn],styles:[`button[_ngcontent-%COMP%] mat-icon.highlight[_ngcontent-%COMP%]{background:linear-gradient(45deg,#0089ff 0 30%,#f1af00 70% 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent} @@ -4108,7 +4109,7 @@ Alt+click: select`;getNamespaceLabel=cd;constValuesPopupSize={minWidth:100,minHe -`],changeDetection:0})}return i})();var tve=["*"];function nve(i,e){i&1&&ee(0,"benchmark-runner")}function ive(i,e){if(i&1){let t=ie();v(0,"title-bar",4),H("titleClicked",function(){V(t);let r=I(3);return z(r.titleClicked.emit())}),$t(1),b()}}function rve(i,e){i&1&&(v(0,"div",3),S(1,"No graphs"),b())}function ove(i,e){i&1&&ee(0,"split-panes-container")}function sve(i,e){if(i&1&&(W(0,ive,2,0,"title-bar"),v(1,"div",2),W(2,rve,2,0,"div",3)(3,ove,1,0,"split-panes-container"),b()),i&2){let t=I(2);ae(t.showTitleBar?0:-1),w(2),ae(t.hasNoGraphs?2:3)}}function ave(i,e){if(i&1){let t=ie();v(0,"div",1),H("dragover",function(r){V(t);let o=I();return z(o.handleDragOver(r))})("drop",function(r){V(t);let o=I();return z(o.handleDrop(r))}),W(1,nve,1,0,"benchmark-runner")(2,sve,4,2,"div",2),b()}if(i&2){let t=I();w(),ae(t.benchmark?1:2)}}var nS=(()=>{class i{appService;changeDetectorRef;destroyRef;el;snackBar;threejsService;uiStateService;nodeDataProviderExtensionService;nodeStylerService;graphCollections;config;initialUiState;benchmark=!1;nodeDataSources=[];titleClicked=new Ie;uiStateChanged=new Ie;modelGraphProcessed=new Ie;remoteNodeDataPathsChanged=new Ie;selectedNodeChanged=new Ie;hoveredNodeChanged=new Ie;doubleClickedNodeChanged=new Ie;curProcessedModelGraph;ready=!1;mouseDownHandler=t=>{window.parent.postMessage({cmd:"model-explorer-mousedown"},"*")};constructor(t,n,r,o,s,a,l,c,d){this.appService=t,this.changeDetectorRef=n,this.destroyRef=r,this.el=o,this.snackBar=s,this.threejsService=a,this.uiStateService=l,this.nodeDataProviderExtensionService=c,this.nodeStylerService=d,lt(()=>{let u=this.uiStateService.curUiState();u&&this.uiStateChanged.emit(u)}),lt(()=>{this.remoteNodeDataPathsChanged.emit(this.appService.remoteNodeDataPaths())}),lt(()=>{this.selectedNodeChanged.emit(this.appService.selectedNode())}),lt(()=>{this.hoveredNodeChanged.emit(this.appService.hoveredNode())}),lt(()=>{this.doubleClickedNodeChanged.emit(this.appService.doubleClickedNode())}),window.addEventListener("message",u=>{let h=u.data;switch(h.cmd){case"model-explorer-load-node-data-file":let p=h.path;p&&this.handleGetNodeDataPathFromPostMessage(p);break;case"model-explorer-select-node-by-output-tensor-name":let f=h.tensorName;f&&this.handleSelectNodeByOutputTensorNameFromPostMessage(f);break;case"model-explorer-select-node-by-node-id":let m=h.nodeId;m&&this.handleSelectNodeByNodeIdFromPostMessage(m);break;default:break}}),this.appService.modelGraphProcessed$.pipe(Vi(this.destroyRef)).subscribe(u=>{this.modelGraphProcessed.next(u)}),this.initThreejs()}ngOnInit(){if(this.appService.config.set(this.config||{}),this.appService.addGraphCollections(this.graphCollections),this.appService.curInitialUiState.set(this.initialUiState),this.config?.nodeStylerRules&&this.nodeStylerService.rules.set(this.config.nodeStylerRules),!this.initialUiState||this.initialUiState.paneStates.length===0){if(this.graphCollections.length>0&&this.graphCollections[0].graphs.length>0){let n=[...this.graphCollections[0].graphs].sort((r,o)=>o.nodes.length-r.nodes.length)[0];this.appService.selectGraphInCurrentPane(n)}}else if(this.initialUiState.paneStates.length===1){let t=this.initialUiState.paneStates[0],n=t.selectedNodeId===""&&t.deepestExpandedGroupNodeIds.length===0,r=this.findGraphFromCollections(t.selectedCollectionLabel,t.selectedGraphId),o=t.flattenLayers===!0;if(r)this.appService.selectGraphInCurrentPane(r,o,void 0,n);else{let s=this.graphCollections[0].graphs[0];this.appService.selectGraphInCurrentPane(s,o,void 0,n)}this.appService.setFlattenLayersInCurrentPane(o)}else if(this.initialUiState.paneStates.length===2){let t=this.initialUiState.paneStates[0],n=this.findGraphFromCollections(t.selectedCollectionLabel,t.selectedGraphId),r=t.flattenLayers===!0;if(n)this.appService.selectGraphInCurrentPane(n,r);else{let l=this.graphCollections[0].graphs[0];this.appService.selectGraphInCurrentPane(l,r)}this.appService.setFlattenLayersInCurrentPane(r);let o=this.initialUiState.paneStates[1],s=o.flattenLayers===!0,a=this.findGraphFromCollections(o.selectedCollectionLabel,o.selectedGraphId);if(a)this.appService.openGraphInSplitPane(a,s);else{let l=this.graphCollections[0].graphs[0];this.appService.openGraphInSplitPane(l,s)}t.selected?this.appService.selectPaneByIndex(0):o.selected&&this.appService.selectPaneByIndex(1),this.appService.setPaneWidthFraction(t.widthFraction)}this.el.nativeElement.addEventListener("mousedown",this.mouseDownHandler,!0)}ngOnChanges(t){t.graphCollections&&(t.graphCollections.isFirstChange()||(this.appService.reset(),this.uiStateService.reset(),this.cleanUp(),this.ngOnInit()))}ngOnDestroy(){this.cleanUp()}handleKeyboardEvent(t){t.key===" "?Kb()||this.appService.spaceKeyToZoomFitClicked.next({}):t.key==="f"&&(t.ctrlKey||t.metaKey)&&(this.config?.hideTitleBar||t.preventDefault(),this.appService.searchKeyClicked.next({}))}handleDragOver(t){t.preventDefault()}handleDrop(t){return At(this,null,function*(){if(!t.dataTransfer)return;t.stopPropagation(),t.preventDefault();let n=[];t.dataTransfer?.items?Array.from(t.dataTransfer.items).forEach((o,s)=>{if(o.kind==="file"){let a=o.getAsFile();a&&n.push(a)}}):n.push(...Array.from(t.dataTransfer?.files||[]));let r=!1;if(n.length!==0)for(let o of n){if(!o.name.endsWith(".json"))continue;let s=new FileReader,a=yield new Promise(l=>{s.onload=c=>{let d=JSON.parse(c.target?.result);l(d)},s.readAsText(o)});a.results!=null&&a.results.results==null?(this.addNodeDataProviderData(o.name,a),r=!0):Object.values(a).some(l=>l.results!=null)&&(this.addNodeDataProviderDataWithGraphIndex(o.name,a),r=!0)}r||this.snackBar.open("File(s) not supported","Dismiss")})}selectNode(t,n,r,o=0){let s=this.graphCollections;if(r){let c=this.appService.curGraphCollections().find(d=>d.label.toLowerCase()===r.toLowerCase());if(!c){console.warn(`Failed to locate collection with label "${r}"`);return}s=[c]}let a;for(let c of s){let d=c.graphs.find(u=>u.id===n);if(d){a=d;break}}if(!a){console.warn(`Failed to locate graph with id "${n}"`);return}this.appService.selectGraphInPane(a,o);let l=this.appService.panes()[o].id;this.appService.curInitialUiState.set(void 0),this.appService.selectNode(l,void 0),this.appService.curToLocateNodeInfo.set(void 0),this.appService.setNodeToReveal(l,t)}addNodeDataProviderData(t,n,r=0,o=!1){let s=this.appService.getModelGraphFromPaneIndex(r);if(!s){console.warn(`Model graph in pane with index ${r} doesn't exist`);return}this.nodeDataProviderExtensionService.addRun(Fr(),t,"",s,{[s.id]:n},o)}addNodeDataProviderDataWithGraphIndex(t,n,r=0,o=!1){let s=this.appService.getModelGraphFromPaneIndex(r);if(!s){console.warn(`Model graph in pane with index ${r} doesn't exist`);return}this.nodeDataProviderExtensionService.addRun(Fr(),t,"",s,n,o)}loadRemoteNodeDataPaths(t,n){return At(this,null,function*(){yield Promise.all(t.map(r=>this.nodeDataProviderExtensionService.addRunFromRemoteSource(r,n)))})}get hasNoGraphs(){return this.graphCollections.reduce((t,n)=>t+n.graphs.length,0)===0}get showTitleBar(){return!this.config?.hideTitleBar}findGraphFromCollections(t,n){for(let r of this.graphCollections)for(let o of r.graphs)if(o.id===n&&(t===""||o.collectionLabel===t))return o}handleGetNodeDataPathFromPostMessage(t){let n=this.appService.getModelGraphFromPaneIndex(0);if(!n){console.warn("Model graph in pane with index 0 doesn't exist");return}this.loadRemoteNodeDataPaths([t],n)}handleSelectNodeByOutputTensorNameFromPostMessage(t){let n=this.appService.getModelGraphFromSelectedPane();if(!n)return;let r;for(let o of n.nodes)if(Et(o)){let s=o.outputsMetadata||{};for(let a of Object.keys(s)){let l=s[a];if(t===l.tensor_name){r=o;break}}if(r)break}r&&this.selectNode(r.id,n.id)}handleSelectNodeByNodeIdFromPostMessage(t){let n=this.appService.getModelGraphFromSelectedPane();if(!n)return;let r=n.nodesById[t];r&&this.selectNode(r.id,n.id)}initThreejs(){return At(this,null,function*(){yield this.threejsService.depsLoadedPromise,this.ready=!0,this.changeDetectorRef.markForCheck()})}cleanUp(){this.el.nativeElement.removeEventListener("mousedown",this.mouseDownHandler,!0)}static \u0275fac=function(n){return new(n||i)(M(st),M(Fe),M(Ni),M(Re),M(wu),M(wr),M(zl),M(Cr),M(ua))};static \u0275cmp=le({type:i,selectors:[["model-graph-visualizer"]],hostBindings:function(n,r){n&1&&H("keydown",function(s){return r.handleKeyboardEvent(s)},!1,W0)},inputs:{graphCollections:"graphCollections",config:"config",initialUiState:"initialUiState",benchmark:"benchmark",nodeDataSources:"nodeDataSources"},outputs:{titleClicked:"titleClicked",uiStateChanged:"uiStateChanged",modelGraphProcessed:"modelGraphProcessed",remoteNodeDataPathsChanged:"remoteNodeDataPathsChanged",selectedNodeChanged:"selectedNodeChanged",hoveredNodeChanged:"hoveredNodeChanged",doubleClickedNodeChanged:"doubleClickedNodeChanged"},standalone:!0,features:[Bt([st,jG,Cr,ua,zl,Ul]),dn,ce],ngContentSelectors:tve,decls:1,vars:1,consts:[["class","container",3,"dragover","drop",4,"ngIf"],[1,"container",3,"dragover","drop"],[1,"main"],[1,"no-graphs-message"],[3,"titleClicked"]],template:function(n,r){n&1&&(Ln(),W(0,ave,3,1,"div",0)),n&2&&N("ngIf",r.ready)},dependencies:[GG,Ae,Mn,v5,Ij],styles:[`.container[_ngcontent-%COMP%]{width:100%;height:100%;display:flex;flex-direction:column;position:relative}.container[_ngcontent-%COMP%] benchmark-runner[_ngcontent-%COMP%]{flex-grow:1}.container[_ngcontent-%COMP%] title-bar[_ngcontent-%COMP%]{height:48px;min-height:48px}.container[_ngcontent-%COMP%] .main[_ngcontent-%COMP%]{flex-grow:1;display:flex;position:relative;overflow:hidden}.container[_ngcontent-%COMP%] .main[_ngcontent-%COMP%] .no-graphs-message[_ngcontent-%COMP%]{position:absolute;top:0;left:0;width:100%;height:100%;z-index:200;display:flex;align-items:center;justify-content:center;color:#999}.container[_ngcontent-%COMP%] .main[_ngcontent-%COMP%] split-panes-container[_ngcontent-%COMP%]{flex-grow:1}.container[_ngcontent-%COMP%] .main[_ngcontent-%COMP%] graph-selector[_ngcontent-%COMP%]{position:absolute;top:12px;left:12px;z-index:100} .model-explorer-help-popup{font-size:12px;padding:8px;background-color:#fff;line-height:normal} .model-explorer-help-popup .bold{font-weight:700} .model-explorer-help-popup .shortcut{display:flex;align-items:center;color:#777;margin-top:8px} .model-explorer-help-popup .shortcut mat-icon{font-size:20px;width:20px;height:20px;margin-right:2px;color:#777} .model-explorer-help-popup .description{color:#777;margin-top:8px} +`],changeDetection:0})}return i})();var Cve=["*"],E5=(()=>{class i{appService;titleClicked=new Ie;constructor(t){this.appService=t}get disableTitleTooltip(){return this.appService.testMode}static \u0275fac=function(n){return new(n||i)(M(at))};static \u0275cmp=ce({type:i,selectors:[["title-bar"]],outputs:{titleClicked:"titleClicked"},standalone:!0,features:[le],ngContentSelectors:Cve,decls:22,vars:1,consts:[[1,"container"],["matTooltip","Back home",1,"title",3,"click","matTooltipDisabled"],[1,"right-container"],[1,"divider"],[1,"divider","tighter-right"],[1,"icons-container"],["href","https://github.com/google-ai-edge/model-explorer","target","_blank"],["mat-icon-button","","aria-label","doc","matTooltip","GitHub"],["href","https://github.com/google-ai-edge/model-explorer/issues","target","_blank"],["mat-icon-button","","aria-label","bug","matTooltip","File issue or feature request"]],template:function(n,r){n&1&&(In(),v(0,"div",0)(1,"div",1),H("click",function(){return r.titleClicked.emit()}),ee(2,"me-logo"),S(3," Model Explorer "),ee(4,"new-version-chip"),b(),v(5,"div",2),ee(6,"node-data-provider-dropdown")(7,"div",3)(8,"graph-selector")(9,"div",4)(10,"node-styler"),v(11,"div",5)(12,"a",6)(13,"button",7)(14,"mat-icon"),S(15,"article"),b()()(),v(16,"a",8)(17,"button",9)(18,"mat-icon"),S(19,"bug_report"),b()()()(),ee(20,"open-in-new-tab-button"),Wt(21),b()()),n&2&&(w(),R("matTooltipDisabled",r.disableTitleTooltip))},dependencies:[Ae,Vj,rf,xn,Wo,tt,pt,Xt,Yn,YC,Hj,M5,WC],styles:[`.container[_ngcontent-%COMP%]{width:100%;height:100%;padding:8px 8px 8px 12px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ddd}.container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:400;cursor:pointer;color:#444746;font-size:20px;display:flex;align-items:center}.container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%] me-logo[_ngcontent-%COMP%]{margin-right:6px}.container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%] new-version-chip[_ngcontent-%COMP%]{margin-left:16px}.container[_ngcontent-%COMP%] .right-container[_ngcontent-%COMP%]{display:flex;align-items:center}.container[_ngcontent-%COMP%] .divider[_ngcontent-%COMP%]{width:1px;height:28px;border-left:1px solid #ccc;margin:0 16px}.container[_ngcontent-%COMP%] .divider.tighter-right[_ngcontent-%COMP%]{margin-right:4px}.container[_ngcontent-%COMP%] .icons-container[_ngcontent-%COMP%]{display:flex;align-items:center}.container[_ngcontent-%COMP%] .icons-container[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;color:#000}.container[_ngcontent-%COMP%] open-in-new-tab-button[_ngcontent-%COMP%]{margin-left:8px} @@ -4126,7 +4127,7 @@ Alt+click: select`;getNamespaceLabel=cd;constValuesPopupSize={minWidth:100,minHe -`],changeDetection:0})}return i})();function lve(i,e){if(i&1&&ee(0,"model-graph-visualizer",1),i&2){let t=I();N("graphCollections",t.graphCollections)("config",t.config)}}var cve="https://storage.googleapis.com/tfweb/model-graph-vis-v2-test-models/coco-ssd.tflite%20(10).json",dve="https://storage.googleapis.com/tfweb/model-graph-vis-v2-test-models/coco-ssd-tf.json",b5=(()=>{class i{graphCollections=[];config={nodeLabelsToHide:["Const","pseudo_const","ReadVariableOp"],defaultRenderer:kI.WEBGL,maxConstValueCount:16,enableSubgraphSelection:!0,enableExportToResource:!0};ngOnInit(){Promise.all([this.fetch(cve),this.fetch(dve)]).then(t=>{this.graphCollections=t})}fetch(t){return new Promise(n=>{fetch(t).then(r=>{r.json().then(o=>{o.label==null&&o.graphs==null?n({label:"unnamed collection",graphs:o}):n(o)})})})}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=le({type:i,selectors:[["demo-page"]],standalone:!0,features:[ce],decls:2,vars:1,consts:[[1,"container"],[3,"graphCollections","config"]],template:function(n,r){n&1&&(v(0,"div",0),W(1,lve,1,2,"model-graph-visualizer",1),b()),n&2&&(w(),ae(r.graphCollections.length>0?1:-1))},dependencies:[Ae,nS],styles:[`.container[_ngcontent-%COMP%]{width:100%;height:100%;overflow:hidden;display:flex}.container[_ngcontent-%COMP%] model-graph-visualizer[_ngcontent-%COMP%]{width:100%;height:100%} +`],changeDetection:0})}return i})();var Sve=["*"];function Mve(i,e){i&1&&ee(0,"benchmark-runner")}function Eve(i,e){if(i&1){let t=ne();v(0,"title-bar",4),H("titleClicked",function(){B(t);let r=I(3);return V(r.titleClicked.emit())}),Wt(1),b()}}function Ive(i,e){i&1&&(v(0,"div",3),S(1,"No graphs"),b())}function Tve(i,e){i&1&&ee(0,"split-panes-container")}function Dve(i,e){if(i&1&&($(0,Eve,2,0,"title-bar"),v(1,"div",2),$(2,Ive,2,0,"div",3)(3,Tve,1,0,"split-panes-container"),b()),i&2){let t=I(2);oe(t.showTitleBar?0:-1),w(2),oe(t.hasNoGraphs?2:3)}}function Pve(i,e){if(i&1){let t=ne();v(0,"div",1),H("dragover",function(r){B(t);let o=I();return V(o.handleDragOver(r))})("drop",function(r){B(t);let o=I();return V(o.handleDrop(r))}),$(1,Mve,1,0,"benchmark-runner")(2,Dve,4,2,"div",2),b()}if(i&2){let t=I();w(),oe(t.benchmark?1:2)}}var iS=(()=>{class i{appService;changeDetectorRef;destroyRef;el;snackBar;threejsService;uiStateService;nodeDataProviderExtensionService;nodeStylerService;syncNavigationService;graphCollections;config;initialUiState;benchmark=!1;nodeDataSources=[];titleClicked=new Ie;uiStateChanged=new Ie;modelGraphProcessed=new Ie;remoteNodeDataPathsChanged=new Ie;syncNavigationModeChanged=new Ie;selectedNodeChanged=new Ie;hoveredNodeChanged=new Ie;doubleClickedNodeChanged=new Ie;curProcessedModelGraph;ready=!1;mouseDownHandler=t=>{window.parent.postMessage({cmd:"model-explorer-mousedown"},"*")};constructor(t,n,r,o,s,a,c,l,d,u){this.appService=t,this.changeDetectorRef=n,this.destroyRef=r,this.el=o,this.snackBar=s,this.threejsService=a,this.uiStateService=c,this.nodeDataProviderExtensionService=l,this.nodeStylerService=d,this.syncNavigationService=u,lt(()=>{let h=this.uiStateService.curUiState();h&&this.uiStateChanged.emit(h)}),lt(()=>{this.remoteNodeDataPathsChanged.emit(this.appService.remoteNodeDataPaths())}),lt(()=>{this.selectedNodeChanged.emit(this.appService.selectedNode())}),lt(()=>{this.hoveredNodeChanged.emit(this.appService.hoveredNode())}),lt(()=>{this.doubleClickedNodeChanged.emit(this.appService.doubleClickedNode())}),window.addEventListener("message",h=>{let p=h.data;switch(p.cmd){case"model-explorer-load-node-data-file":let f=p.path;f&&this.handleGetNodeDataPathFromPostMessage(f);break;case"model-explorer-select-node-by-output-tensor-name":let m=p.tensorName;m&&this.handleSelectNodeByOutputTensorNameFromPostMessage(m);break;case"model-explorer-select-node-by-node-id":let y=p.nodeId;y&&this.handleSelectNodeByNodeIdFromPostMessage(y);break;default:break}}),this.appService.modelGraphProcessed$.pipe(Ei(this.destroyRef)).subscribe(h=>{this.modelGraphProcessed.next(h)}),this.syncNavigationService.syncNavigationModeChanged$.pipe(Ei(this.destroyRef)).subscribe(h=>{this.syncNavigationModeChanged.next(h)}),this.initThreejs()}ngOnInit(){if(this.appService.config.set(this.config||{}),this.appService.addGraphCollections(this.graphCollections),this.appService.curInitialUiState.set(this.initialUiState),this.config?.nodeStylerRules&&this.nodeStylerService.rules.set(this.config.nodeStylerRules),!this.initialUiState||this.initialUiState.paneStates.length===0){if(this.graphCollections.length>0&&this.graphCollections[0].graphs.length>0){let n=[...this.graphCollections[0].graphs].sort((r,o)=>o.nodes.length-r.nodes.length)[0];this.appService.selectGraphInCurrentPane(n)}}else if(this.initialUiState.paneStates.length===1){let t=this.initialUiState.paneStates[0],n=t.selectedNodeId===""&&t.deepestExpandedGroupNodeIds.length===0,r=this.findGraphFromCollections(t.selectedCollectionLabel,t.selectedGraphId),o=t.flattenLayers===!0;if(r)this.appService.selectGraphInCurrentPane(r,o,void 0,n);else{let s=this.graphCollections[0].graphs[0];this.appService.selectGraphInCurrentPane(s,o,void 0,n)}this.appService.setFlattenLayersInCurrentPane(o)}else if(this.initialUiState.paneStates.length===2){let t=this.initialUiState.paneStates[0],n=this.findGraphFromCollections(t.selectedCollectionLabel,t.selectedGraphId),r=t.flattenLayers===!0;if(n)this.appService.selectGraphInCurrentPane(n,r);else{let c=this.graphCollections[0].graphs[0];this.appService.selectGraphInCurrentPane(c,r)}this.appService.setFlattenLayersInCurrentPane(r);let o=this.initialUiState.paneStates[1],s=o.flattenLayers===!0,a=this.findGraphFromCollections(o.selectedCollectionLabel,o.selectedGraphId);if(a)this.appService.openGraphInSplitPane(a,s);else{let c=this.graphCollections[0].graphs[0];this.appService.openGraphInSplitPane(c,s)}t.selected?this.appService.selectPaneByIndex(0):o.selected&&this.appService.selectPaneByIndex(1),this.appService.setPaneWidthFraction(t.widthFraction)}this.el.nativeElement.addEventListener("mousedown",this.mouseDownHandler,!0)}ngOnChanges(t){t.graphCollections&&(t.graphCollections.isFirstChange()||(this.appService.reset(),this.uiStateService.reset(),this.cleanUp(),this.ngOnInit()))}ngOnDestroy(){this.cleanUp()}handleKeyboardEvent(t){t.key===" "?ty()||this.appService.spaceKeyToZoomFitClicked.next({}):t.key==="f"&&(t.ctrlKey||t.metaKey)&&(this.config?.hideTitleBar||t.preventDefault(),this.appService.searchKeyClicked.next({}))}handleDragOver(t){t.preventDefault()}handleDrop(t){return It(this,null,function*(){if(!t.dataTransfer)return;t.stopPropagation(),t.preventDefault();let n=[];t.dataTransfer?.items?Array.from(t.dataTransfer.items).forEach((o,s)=>{if(o.kind==="file"){let a=o.getAsFile();a&&n.push(a)}}):n.push(...Array.from(t.dataTransfer?.files||[]));let r=!1;if(n.length!==0)for(let o of n){if(!o.name.endsWith(".json"))continue;let s=new FileReader,a=yield new Promise(c=>{s.onload=l=>{let d=JSON.parse(l.target?.result);c(d)},s.readAsText(o)});a.results!=null&&a.results.results==null?(this.addNodeDataProviderData(o.name,a),r=!0):Object.values(a).some(c=>c.results!=null)&&(this.addNodeDataProviderDataWithGraphIndex(o.name,a),r=!0)}r||this.snackBar.open("File(s) not supported","Dismiss")})}selectNode(t,n,r,o=0){let s=this.graphCollections;if(r){let l=this.appService.curGraphCollections().find(d=>d.label.toLowerCase()===r.toLowerCase());if(!l){console.warn(`Failed to locate collection with label "${r}"`);return}s=[l]}let a;for(let l of s){let d=l.graphs.find(u=>u.id===n);if(d){a=d;break}}if(!a){console.warn(`Failed to locate graph with id "${n}"`);return}this.appService.selectGraphInPane(a,o);let c=this.appService.panes()[o].id;this.appService.curInitialUiState.set(void 0),this.appService.selectNode(c,void 0),this.appService.curToLocateNodeInfo.set(void 0),this.appService.setNodeToReveal(c,t)}addNodeDataProviderData(t,n,r=0,o=!1){let s=this.appService.getModelGraphFromPaneIndex(r);if(!s){console.warn(`Model graph in pane with index ${r} doesn't exist`);return}this.nodeDataProviderExtensionService.addRun(Ur(),t,"",s,{[s.id]:n},o)}addNodeDataProviderDataWithGraphIndex(t,n,r=0,o=!1){let s=this.appService.getModelGraphFromPaneIndex(r);if(!s){console.warn(`Model graph in pane with index ${r} doesn't exist`);return}this.nodeDataProviderExtensionService.addRun(Ur(),t,"",s,n,o)}loadRemoteNodeDataPaths(t,n){return It(this,null,function*(){yield Promise.all(t.map(r=>this.nodeDataProviderExtensionService.addRunFromRemoteSource(r,n)))})}get hasNoGraphs(){return this.graphCollections.reduce((t,n)=>t+n.graphs.length,0)===0}get showTitleBar(){return!this.config?.hideTitleBar}findGraphFromCollections(t,n){for(let r of this.graphCollections)for(let o of r.graphs)if(o.id===n&&(t===""||o.collectionLabel===t))return o}handleGetNodeDataPathFromPostMessage(t){let n=this.appService.getModelGraphFromPaneIndex(0);if(!n){console.warn("Model graph in pane with index 0 doesn't exist");return}this.loadRemoteNodeDataPaths([t],n)}handleSelectNodeByOutputTensorNameFromPostMessage(t){let n=this.appService.getModelGraphFromSelectedPane();if(!n)return;let r;for(let o of n.nodes)if(St(o)){let s=o.outputsMetadata||{};for(let a of Object.keys(s)){let c=s[a];if(t===c.tensor_name){r=o;break}}if(r)break}r&&this.selectNode(r.id,n.id)}handleSelectNodeByNodeIdFromPostMessage(t){let n=this.appService.getModelGraphFromSelectedPane();if(!n)return;let r=n.nodesById[t];r&&this.selectNode(r.id,n.id)}initThreejs(){return It(this,null,function*(){yield this.threejsService.depsLoadedPromise,this.ready=!0,this.changeDetectorRef.markForCheck()})}cleanUp(){this.el.nativeElement.removeEventListener("mousedown",this.mouseDownHandler,!0)}static \u0275fac=function(n){return new(n||i)(M(at),M(Ne),M(Fi),M(Re),M(hc),M(Sr),M(Gc),M(Mr),M(pa),M(Ml))};static \u0275cmp=ce({type:i,selectors:[["model-graph-visualizer"]],hostBindings:function(n,r){n&1&&H("keydown",function(s){return r.handleKeyboardEvent(s)},!1,Y0)},inputs:{graphCollections:"graphCollections",config:"config",initialUiState:"initialUiState",benchmark:"benchmark",nodeDataSources:"nodeDataSources"},outputs:{titleClicked:"titleClicked",uiStateChanged:"uiStateChanged",modelGraphProcessed:"modelGraphProcessed",remoteNodeDataPathsChanged:"remoteNodeDataPathsChanged",syncNavigationModeChanged:"syncNavigationModeChanged",selectedNodeChanged:"selectedNodeChanged",hoveredNodeChanged:"hoveredNodeChanged",doubleClickedNodeChanged:"doubleClickedNodeChanged"},standalone:!0,features:[Ft([at,ZG,Mr,pa,Ml,Gc,jc]),dn,le],ngContentSelectors:Sve,decls:1,vars:1,consts:[["class","container",3,"dragover","drop",4,"ngIf"],[1,"container",3,"dragover","drop"],[1,"main"],[1,"no-graphs-message"],[3,"titleClicked"]],template:function(n,r){n&1&&(In(),$(0,Pve,3,1,"div",0)),n&2&&R("ngIf",r.ready)},dependencies:[XG,Ae,Tn,E5,kj],styles:[`.container[_ngcontent-%COMP%]{width:100%;height:100%;display:flex;flex-direction:column;position:relative}.container[_ngcontent-%COMP%] benchmark-runner[_ngcontent-%COMP%]{flex-grow:1}.container[_ngcontent-%COMP%] title-bar[_ngcontent-%COMP%]{height:48px;min-height:48px}.container[_ngcontent-%COMP%] .main[_ngcontent-%COMP%]{flex-grow:1;display:flex;position:relative;overflow:hidden}.container[_ngcontent-%COMP%] .main[_ngcontent-%COMP%] .no-graphs-message[_ngcontent-%COMP%]{position:absolute;top:0;left:0;width:100%;height:100%;z-index:200;display:flex;align-items:center;justify-content:center;color:#999}.container[_ngcontent-%COMP%] .main[_ngcontent-%COMP%] split-panes-container[_ngcontent-%COMP%]{flex-grow:1}.container[_ngcontent-%COMP%] .main[_ngcontent-%COMP%] graph-selector[_ngcontent-%COMP%]{position:absolute;top:12px;left:12px;z-index:100} .model-explorer-help-popup{font-size:12px;padding:8px;background-color:#fff;line-height:normal} .model-explorer-help-popup .bold{font-weight:700} .model-explorer-help-popup .shortcut{display:flex;align-items:center;color:#777;margin-top:8px} .model-explorer-help-popup .shortcut mat-icon{font-size:20px;width:20px;height:20px;margin-right:2px;color:#777} .model-explorer-help-popup .description{color:#777;margin-top:8px} @@ -4144,7 +4145,7 @@ Alt+click: select`;getNamespaceLabel=cd;constValuesPopupSize={minWidth:100,minHe -`]})}return i})();var Mo=function(i){return i.CONST_ELEMENT_COUNT_LIMIT="const_element_count_limit",i.SHOW_WELCOME_CARD="show_welcome_card",i.HIDE_OP_NODES_WITH_LABELS="hide_op_nodes_with_labels",i.ARTIFICIAL_LAYER_NODE_COUNT_THRESHOLD="artificial_layer_node_count_threshold",i.EDGE_LABEL_FONT_SIZE="edge_label_font_size",i.EDGE_COLOR="edge_color",i.DISALLOW_VERTICAL_EDGE_LABELS="disallow_vertical_edge_labels",i.KEEP_LAYERS_WITH_A_SINGLE_CHILD="keep_layers_with_a_single_child",i.SHOW_OP_NODE_OUT_OF_LAYER_EDGES_WITHOUT_SELECTING="show_op_node_out_of_layer_edges_without_selecting",i}(Mo||{}),no=function(i){return i[i.BOOLEAN=0]="BOOLEAN",i[i.NUMBER=1]="NUMBER",i[i.TEXT_MULTILINE=2]="TEXT_MULTILINE",i[i.COLOR=3]="COLOR",i}(no||{}),JO={label:"Maximum element count for constant tensor values",key:Mo.CONST_ELEMENT_COUNT_LIMIT,type:no.NUMBER,defaultValue:16,help:"Controls the number of values extracted from the constant tensors during model processing. Increasing this number may impact performance due to larger payload sizes."},uve={label:"Show welcome card",key:Mo.SHOW_WELCOME_CARD,type:no.BOOLEAN,defaultValue:!0},eR={label:"Hide op nodes with labels below (comma separated)",key:Mo.HIDE_OP_NODES_WITH_LABELS,type:no.TEXT_MULTILINE,defaultValue:"Const,pseudo_const,pseudo_qconst,ReadVariableOp",help:"Removes op nodes from model graphs if their label matches any of the labels entered below."},tR={label:"Maximum number of nodes in an artificial layer",key:Mo.ARTIFICIAL_LAYER_NODE_COUNT_THRESHOLD,type:no.NUMBER,defaultValue:Tm,help:"Controls the maximum number of immediate child nodes displayed under a layer. When the number of child nodes exceeds this limit, Model Explorer automatically groups them into smaller, more manageable artificial layers to improve layout performance and readability."},nR={label:"Edge label font size",key:Mo.EDGE_LABEL_FONT_SIZE,type:no.NUMBER,defaultValue:Xb},iR={label:"Edge color",key:Mo.EDGE_COLOR,type:no.COLOR,defaultValue:"#aaaaaa"},rR={label:"Disallow vertical edge labels",key:Mo.DISALLOW_VERTICAL_EDGE_LABELS,type:no.BOOLEAN,defaultValue:!1,help:"-"},oR={label:"Keep layers with a single op node child",key:Mo.KEEP_LAYERS_WITH_A_SINGLE_CHILD,type:no.BOOLEAN,defaultValue:!1,help:"By default, layers with a single op node as its child are automatically removed to improve graph readability. Turn this toggle on to keep those layers."},sR={label:"Show op node out-of-layer edges without selecting",key:Mo.SHOW_OP_NODE_OUT_OF_LAYER_EDGES_WITHOUT_SELECTING,type:no.BOOLEAN,defaultValue:!1,help:"By default, an op node's edges that go out of the layer is only visible when the op node is selected. Turn this toggle on to see those edges without needing to select the node. \u26A0\uFE0F This feature will make the model graph look more noisy and harder to read especially for larger models."},iS="model_explorer_settings",rS=[JO,eR,tR,nR,iR,oR,uve,rR,sR],ff=(()=>{class i{localStorageService;savedSettings;constructor(t){this.localStorageService=t;let n=this.localStorageService.getItem(iS)||"";this.savedSettings=n===""?{}:JSON.parse(n)}getBooleanValue(t){return this.savedSettings[t.key]==null?t.defaultValue===!0:this.savedSettings[t.key]===!0}getNumberValue(t){let n=this.savedSettings[t.key];return n!=null?Number(n):t.defaultValue||0}getStringValue(t){let n=this.savedSettings[t.key];return n??(t.defaultValue||"")}saveBooleanValue(t,n){this.savedSettings[n]=t,this.localStorageService.setItem(iS,JSON.stringify(this.savedSettings))}saveNumberValue(t,n){isNaN(t)||(this.savedSettings[n]=t,this.localStorageService.setItem(iS,JSON.stringify(this.savedSettings)))}saveStringValue(t,n){this.savedSettings[n]=t,this.localStorageService.setItem(iS,JSON.stringify(this.savedSettings))}getAllSettingsValues(){let t={};for(let n of rS)switch(n.type){case no.BOOLEAN:t[n.key]=this.getBooleanValue(n);break;case no.NUMBER:t[n.key]=this.getNumberValue(n);break;default:break}return t}getSettingByKey(t){return rS.find(n=>n.key===t)}static \u0275fac=function(n){return new(n||i)(X(Vo))};static \u0275prov=J({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();var hve=["panel"],pve=["*"];function fve(i,e){if(i&1){let t=ie();v(0,"div",1,0),H("@panelAnimation.done",function(r){V(t);let o=I();return z(o._animationDone.next(r))}),$t(2),b()}if(i&2){let t=e.id,n=I();kr(n._classList),se("mat-mdc-autocomplete-visible",n.showPanel)("mat-mdc-autocomplete-hidden",!n.showPanel)("mat-primary",n._color==="primary")("mat-accent",n._color==="accent")("mat-warn",n._color==="warn"),N("id",n.id)("@panelAnimation",n.isOpen?"visible":"hidden"),Ze("aria-label",n.ariaLabel||null)("aria-labelledby",n._getPanelAriaLabelledby(t))}}var mve=ai("panelAnimation",[mi("void, hidden",Qt({opacity:0,transform:"scaleY(0.8)"})),On(":enter, hidden => visible",[hF([Pn("0.03s linear",Qt({opacity:1})),Pn("0.12s cubic-bezier(0, 0, 0.2, 1)",Qt({transform:"scaleY(1)"}))])]),On(":leave, visible => hidden",[Pn("0.075s linear",Qt({opacity:0}))])]),gve=0,lR=class{constructor(e,t){this.source=e,this.option=t}},y5=new ge("mat-autocomplete-default-options",{providedIn:"root",factory:_ve});function _ve(){return{autoActiveFirstOption:!1,autoSelectActiveOption:!1,hideSingleSelectionIndicator:!1,requireSelection:!1}}var x5=(()=>{let e=class e{get isOpen(){return this._isOpen&&this.showPanel}_setColor(n){this._color=n,this._changeDetectorRef.markForCheck()}set classList(n){this._classList=n,this._elementRef.nativeElement.className=""}get hideSingleSelectionIndicator(){return this._hideSingleSelectionIndicator}set hideSingleSelectionIndicator(n){this._hideSingleSelectionIndicator=n,this._syncParentProperties()}_syncParentProperties(){if(this.options)for(let n of this.options)n._changeDetectorRef.markForCheck()}constructor(n,r,o,s){this._changeDetectorRef=n,this._elementRef=r,this._defaults=o,this._activeOptionChanges=Ct.EMPTY,this._animationDone=new Ie,this.showPanel=!1,this._isOpen=!1,this.displayWith=null,this.optionSelected=new Ie,this.opened=new Ie,this.closed=new Ie,this.optionActivated=new Ie,this.id=`mat-autocomplete-${gve++}`,this.inertGroups=s?.SAFARI||!1,this.autoActiveFirstOption=!!o.autoActiveFirstOption,this.autoSelectActiveOption=!!o.autoSelectActiveOption,this.requireSelection=!!o.requireSelection,this._hideSingleSelectionIndicator=this._defaults.hideSingleSelectionIndicator??!1}ngAfterContentInit(){this._keyManager=new Ph(this.options).withWrap().skipPredicate(this._skipPredicate),this._activeOptionChanges=this._keyManager.change.subscribe(n=>{this.isOpen&&this.optionActivated.emit({source:this,option:this.options.toArray()[n]||null})}),this._setVisibility()}ngOnDestroy(){this._keyManager?.destroy(),this._activeOptionChanges.unsubscribe(),this._animationDone.complete()}_setScrollTop(n){this.panel&&(this.panel.nativeElement.scrollTop=n)}_getScrollTop(){return this.panel?this.panel.nativeElement.scrollTop:0}_setVisibility(){this.showPanel=!!this.options.length,this._changeDetectorRef.markForCheck()}_emitSelectEvent(n){let r=new lR(this,n);this.optionSelected.emit(r)}_getPanelAriaLabelledby(n){if(this.ariaLabel)return null;let r=n?n+" ":"";return this.ariaLabelledby?r+this.ariaLabelledby:n}_skipPredicate(){return!1}};e.\u0275fac=function(r){return new(r||e)(M(Fe),M(Re),M(y5),M(gn))},e.\u0275cmp=le({type:e,selectors:[["mat-autocomplete"]],contentQueries:function(r,o,s){if(r&1&&(wi(s,ql,5),wi(s,Fh,5)),r&2){let a;be(a=ye())&&(o.options=a),be(a=ye())&&(o.optionGroups=a)}},viewQuery:function(r,o){if(r&1&&(Te(Hn,7),Te(hve,5)),r&2){let s;be(s=ye())&&(o.template=s.first),be(s=ye())&&(o.panel=s.first)}},hostAttrs:[1,"mat-mdc-autocomplete"],inputs:{ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],displayWith:"displayWith",autoActiveFirstOption:[2,"autoActiveFirstOption","autoActiveFirstOption",at],autoSelectActiveOption:[2,"autoSelectActiveOption","autoSelectActiveOption",at],requireSelection:[2,"requireSelection","requireSelection",at],panelWidth:"panelWidth",disableRipple:[2,"disableRipple","disableRipple",at],classList:[0,"class","classList"],hideSingleSelectionIndicator:[2,"hideSingleSelectionIndicator","hideSingleSelectionIndicator",at]},outputs:{optionSelected:"optionSelected",opened:"opened",closed:"closed",optionActivated:"optionActivated"},exportAs:["matAutocomplete"],standalone:!0,features:[Bt([{provide:Lh,useExisting:e}]),an,ce],ngContentSelectors:pve,decls:1,vars:0,consts:[["panel",""],["role","listbox",1,"mat-mdc-autocomplete-panel","mdc-menu-surface","mdc-menu-surface--open",3,"id"]],template:function(r,o){r&1&&(Ln(),W(0,fve,3,16,"ng-template"))},styles:["div.mat-mdc-autocomplete-panel{width:100%;max-height:256px;visibility:hidden;transform-origin:center top;overflow:auto;padding:8px 0;box-sizing:border-box;position:static;border-radius:var(--mat-autocomplete-container-shape);box-shadow:var(--mat-autocomplete-container-elevation-shadow);background-color:var(--mat-autocomplete-background-color)}.cdk-high-contrast-active div.mat-mdc-autocomplete-panel{outline:solid 1px}.cdk-overlay-pane:not(.mat-mdc-autocomplete-panel-above) div.mat-mdc-autocomplete-panel{border-top-left-radius:0;border-top-right-radius:0}.mat-mdc-autocomplete-panel-above div.mat-mdc-autocomplete-panel{border-bottom-left-radius:0;border-bottom-right-radius:0;transform-origin:center bottom}div.mat-mdc-autocomplete-panel.mat-mdc-autocomplete-visible{visibility:visible}div.mat-mdc-autocomplete-panel.mat-mdc-autocomplete-hidden{visibility:hidden;pointer-events:none}mat-autocomplete{display:none}"],encapsulation:2,data:{animation:[mve]},changeDetection:0});let i=e;return i})();var vve={provide:La,useExisting:Zr(()=>rv),multi:!0};var w5=new ge("mat-autocomplete-scroll-strategy",{providedIn:"root",factory:()=>{let i=te(Gt);return()=>i.scrollStrategies.reposition()}});function bve(i){return()=>i.scrollStrategies.reposition()}var yve={provide:w5,deps:[Gt],useFactory:bve},rv=(()=>{let e=class e{constructor(n,r,o,s,a,l,c,d,u,h,p){this._element=n,this._overlay=r,this._viewContainerRef=o,this._zone=s,this._changeDetectorRef=a,this._dir=c,this._formField=d,this._document=u,this._viewportRuler=h,this._defaults=p,this._componentDestroyed=!1,this._manuallyFloatingLabel=!1,this._viewportSubscription=Ct.EMPTY,this._breakpointObserver=te(Th),this._handsetLandscapeSubscription=Ct.EMPTY,this._canOpenOnNextFocus=!0,this._closeKeyEventStream=new me,this._windowBlurHandler=()=>{this._canOpenOnNextFocus=this._document.activeElement!==this._element.nativeElement||this.panelOpen},this._onChange=()=>{},this._onTouched=()=>{},this.position="auto",this.autocompleteAttribute="off",this._initialized=new me,this._injector=te(xt),this._aboveClass="mat-mdc-autocomplete-panel-above",this._overlayAttached=!1,this.optionSelections=Io(()=>{let f=this.autocomplete?this.autocomplete.options:null;return f?f.changes.pipe(fi(f),Xn(()=>Yn(...f.map(m=>m.onSelectionChange)))):this._initialized.pipe(Xn(()=>this.optionSelections))}),this._handlePanelKeydown=f=>{(f.keyCode===27&&!gi(f)||f.keyCode===38&&gi(f,"altKey"))&&(this._pendingAutoselectedOption&&(this._updateNativeInputValue(this._valueBeforeAutoSelection??""),this._pendingAutoselectedOption=null),this._closeKeyEventStream.next(),this._resetActiveItem(),f.stopPropagation(),f.preventDefault())},this._trackedModal=null,this._scrollStrategy=l}ngAfterViewInit(){this._initialized.next(),this._initialized.complete();let n=this._getWindow();typeof n<"u"&&this._zone.runOutsideAngular(()=>n.addEventListener("blur",this._windowBlurHandler))}ngOnChanges(n){n.position&&this._positionStrategy&&(this._setStrategyPositions(this._positionStrategy),this.panelOpen&&this._overlayRef.updatePosition())}ngOnDestroy(){let n=this._getWindow();typeof n<"u"&&n.removeEventListener("blur",this._windowBlurHandler),this._handsetLandscapeSubscription.unsubscribe(),this._viewportSubscription.unsubscribe(),this._componentDestroyed=!0,this._destroyPanel(),this._closeKeyEventStream.complete(),this._clearFromModal()}get panelOpen(){return this._overlayAttached&&this.autocomplete.showPanel}openPanel(){this._openPanelInternal()}closePanel(){this._resetLabel(),this._overlayAttached&&(this.panelOpen&&this._zone.run(()=>{this.autocomplete.closed.emit()}),this.autocomplete._latestOpeningTrigger===this&&(this.autocomplete._isOpen=!1,this.autocomplete._latestOpeningTrigger=null),this._overlayAttached=!1,this._pendingAutoselectedOption=null,this._overlayRef&&this._overlayRef.hasAttached()&&(this._overlayRef.detach(),this._closingActionsSubscription.unsubscribe()),this._updatePanelState(),this._componentDestroyed||this._changeDetectorRef.detectChanges(),this._trackedModal&&Wl(this._trackedModal,"aria-owns",this.autocomplete.id))}updatePosition(){this._overlayAttached&&this._overlayRef.updatePosition()}get panelClosingActions(){return Yn(this.optionSelections,this.autocomplete._keyManager.tabOut.pipe(jt(()=>this._overlayAttached)),this._closeKeyEventStream,this._getOutsideClickStream(),this._overlayRef?this._overlayRef.detachments().pipe(jt(()=>this._overlayAttached)):Ke()).pipe(Je(n=>n instanceof Hm?n:null))}get activeOption(){return this.autocomplete&&this.autocomplete._keyManager?this.autocomplete._keyManager.activeItem:null}_getOutsideClickStream(){return Yn(yn(this._document,"click"),yn(this._document,"auxclick"),yn(this._document,"touchend")).pipe(jt(n=>{let r=Mi(n),o=this._formField?this._formField.getConnectedOverlayOrigin().nativeElement:null,s=this.connectedTo?this.connectedTo.elementRef.nativeElement:null;return this._overlayAttached&&r!==this._element.nativeElement&&this._document.activeElement!==this._element.nativeElement&&(!o||!o.contains(r))&&(!s||!s.contains(r))&&!!this._overlayRef&&!this._overlayRef.overlayElement.contains(r)}))}writeValue(n){Promise.resolve(null).then(()=>this._assignOptionValue(n))}registerOnChange(n){this._onChange=n}registerOnTouched(n){this._onTouched=n}setDisabledState(n){this._element.nativeElement.disabled=n}_handleKeydown(n){let r=n.keyCode,o=gi(n);if(r===27&&!o&&n.preventDefault(),this._valueOnLastKeydown=this._element.nativeElement.value,this.activeOption&&r===13&&this.panelOpen&&!o)this.activeOption._selectViaInteraction(),this._resetActiveItem(),n.preventDefault();else if(this.autocomplete){let s=this.autocomplete._keyManager.activeItem,a=r===38||r===40;r===9||a&&!o&&this.panelOpen?this.autocomplete._keyManager.onKeydown(n):a&&this._canOpen()&&this._openPanelInternal(this._valueOnLastKeydown),(a||this.autocomplete._keyManager.activeItem!==s)&&(this._scrollToOption(this.autocomplete._keyManager.activeItemIndex||0),this.autocomplete.autoSelectActiveOption&&this.activeOption&&(this._pendingAutoselectedOption||(this._valueBeforeAutoSelection=this._valueOnLastKeydown),this._pendingAutoselectedOption=this.activeOption,this._assignOptionValue(this.activeOption.value)))}}_handleInput(n){let r=n.target,o=r.value;if(r.type==="number"&&(o=o==""?null:parseFloat(o)),this._previousValue!==o){if(this._previousValue=o,this._pendingAutoselectedOption=null,(!this.autocomplete||!this.autocomplete.requireSelection)&&this._onChange(o),!o)this._clearPreviousSelectedOption(null,!1);else if(this.panelOpen&&!this.autocomplete.requireSelection){let s=this.autocomplete.options?.find(a=>a.selected);if(s){let a=this._getDisplayValue(s.value);o!==a&&s.deselect(!1)}}if(this._canOpen()&&this._document.activeElement===n.target){let s=this._valueOnLastKeydown??this._element.nativeElement.value;this._valueOnLastKeydown=null,this._openPanelInternal(s)}}}_handleFocus(){this._canOpenOnNextFocus?this._canOpen()&&(this._previousValue=this._element.nativeElement.value,this._attachOverlay(this._previousValue),this._floatLabel(!0)):this._canOpenOnNextFocus=!0}_handleClick(){this._canOpen()&&!this.panelOpen&&this._openPanelInternal()}_floatLabel(n=!1){this._formField&&this._formField.floatLabel==="auto"&&(n?this._formField._animateAndLockLabel():this._formField.floatLabel="always",this._manuallyFloatingLabel=!0)}_resetLabel(){this._manuallyFloatingLabel&&(this._formField&&(this._formField.floatLabel="auto"),this._manuallyFloatingLabel=!1)}_subscribeToClosingActions(){let n=new Mt(o=>{fr(()=>{o.next()},{injector:this._injector})}),r=this.autocomplete.options.changes.pipe(Sn(()=>this._positionStrategy.reapplyLastPosition()),Lu(0));return Yn(n,r).pipe(Xn(()=>this._zone.run(()=>{let o=this.panelOpen;return this._resetActiveItem(),this._updatePanelState(),this._changeDetectorRef.detectChanges(),this.panelOpen&&this._overlayRef.updatePosition(),o!==this.panelOpen&&(this.panelOpen?this._emitOpened():this.autocomplete.closed.emit()),this.panelClosingActions})),_n(1)).subscribe(o=>this._setValueAndClose(o))}_emitOpened(){this.autocomplete.opened.emit()}_destroyPanel(){this._overlayRef&&(this.closePanel(),this._overlayRef.dispose(),this._overlayRef=null)}_getDisplayValue(n){let r=this.autocomplete;return r&&r.displayWith?r.displayWith(n):n}_assignOptionValue(n){let r=this._getDisplayValue(n);n==null&&this._clearPreviousSelectedOption(null,!1),this._updateNativeInputValue(r??"")}_updateNativeInputValue(n){this._formField?this._formField._control.value=n:this._element.nativeElement.value=n,this._previousValue=n}_setValueAndClose(n){let r=this.autocomplete,o=n?n.source:this._pendingAutoselectedOption;o?(this._clearPreviousSelectedOption(o),this._assignOptionValue(o.value),this._onChange(o.value),r._emitSelectEvent(o),this._element.nativeElement.focus()):r.requireSelection&&this._element.nativeElement.value!==this._valueOnAttach&&(this._clearPreviousSelectedOption(null),this._assignOptionValue(null),r._animationDone?r._animationDone.pipe(_n(1)).subscribe(()=>this._onChange(null)):this._onChange(null)),this.closePanel()}_clearPreviousSelectedOption(n,r){this.autocomplete?.options?.forEach(o=>{o!==n&&o.selected&&o.deselect(r)})}_openPanelInternal(n=this._element.nativeElement.value){if(this._attachOverlay(n),this._floatLabel(),this._trackedModal){let r=this.autocomplete.id;Ah(this._trackedModal,"aria-owns",r)}}_attachOverlay(n){this.autocomplete;let r=this._overlayRef;r?(this._positionStrategy.setOrigin(this._getConnectedElement()),r.updateSize({width:this._getPanelWidth()})):(this._portal=new Wr(this.autocomplete.template,this._viewContainerRef,{id:this._formField?.getLabelId()}),r=this._overlay.create(this._getOverlayConfig()),this._overlayRef=r,this._viewportSubscription=this._viewportRuler.change().subscribe(()=>{this.panelOpen&&r&&r.updateSize({width:this._getPanelWidth()})}),this._handsetLandscapeSubscription=this._breakpointObserver.observe(_y.HandsetLandscape).subscribe(s=>{s.matches?this._positionStrategy.withFlexibleDimensions(!0).withGrowAfterOpen(!0).withViewportMargin(8):this._positionStrategy.withFlexibleDimensions(!1).withGrowAfterOpen(!1).withViewportMargin(0)})),r&&!r.hasAttached()&&(r.attach(this._portal),this._valueOnAttach=n,this._valueOnLastKeydown=null,this._closingActionsSubscription=this._subscribeToClosingActions());let o=this.panelOpen;this.autocomplete._isOpen=this._overlayAttached=!0,this.autocomplete._latestOpeningTrigger=this,this.autocomplete._setColor(this._formField?.color),this._updatePanelState(),this._applyModalPanelOwnership(),this.panelOpen&&o!==this.panelOpen&&this._emitOpened()}_updatePanelState(){if(this.autocomplete._setVisibility(),this.panelOpen){let n=this._overlayRef;this._keydownSubscription||(this._keydownSubscription=n.keydownEvents().subscribe(this._handlePanelKeydown)),this._outsideClickSubscription||(this._outsideClickSubscription=n.outsidePointerEvents().subscribe())}else this._keydownSubscription?.unsubscribe(),this._outsideClickSubscription?.unsubscribe(),this._keydownSubscription=this._outsideClickSubscription=null}_getOverlayConfig(){return new hi({positionStrategy:this._getOverlayPosition(),scrollStrategy:this._scrollStrategy(),width:this._getPanelWidth(),direction:this._dir??void 0,panelClass:this._defaults?.overlayPanelClass})}_getOverlayPosition(){let n=this._overlay.position().flexibleConnectedTo(this._getConnectedElement()).withFlexibleDimensions(!1).withPush(!1);return this._setStrategyPositions(n),this._positionStrategy=n,n}_setStrategyPositions(n){let r=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],o=this._aboveClass,s=[{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom",panelClass:o},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom",panelClass:o}],a;this.position==="above"?a=s:this.position==="below"?a=r:a=[...r,...s],n.withPositions(a)}_getConnectedElement(){return this.connectedTo?this.connectedTo.elementRef:this._formField?this._formField.getConnectedOverlayOrigin():this._element}_getPanelWidth(){return this.autocomplete.panelWidth||this._getHostWidth()}_getHostWidth(){return this._getConnectedElement().nativeElement.getBoundingClientRect().width}_resetActiveItem(){let n=this.autocomplete;if(n.autoActiveFirstOption){let r=-1;for(let o=0;o .cdk-overlay-container [aria-modal="true"]');if(!n)return;let r=this.autocomplete.id;this._trackedModal&&Wl(this._trackedModal,"aria-owns",r),Ah(n,"aria-owns",r),this._trackedModal=n}_clearFromModal(){if(this._trackedModal){let n=this.autocomplete.id;Wl(this._trackedModal,"aria-owns",n),this._trackedModal=null}}};e.\u0275fac=function(r){return new(r||e)(M(Re),M(Gt),M(Yt),M(Le),M(Fe),M(w5),M(li,8),M(Z_,9),M(Ye,8),M(aa),M(y5,8))},e.\u0275dir=ze({type:e,selectors:[["input","matAutocomplete",""],["textarea","matAutocomplete",""]],hostAttrs:[1,"mat-mdc-autocomplete-trigger"],hostVars:7,hostBindings:function(r,o){r&1&&H("focusin",function(){return o._handleFocus()})("blur",function(){return o._onTouched()})("input",function(a){return o._handleInput(a)})("keydown",function(a){return o._handleKeydown(a)})("click",function(){return o._handleClick()}),r&2&&Ze("autocomplete",o.autocompleteAttribute)("role",o.autocompleteDisabled?null:"combobox")("aria-autocomplete",o.autocompleteDisabled?null:"list")("aria-activedescendant",o.panelOpen&&o.activeOption?o.activeOption.id:null)("aria-expanded",o.autocompleteDisabled?null:o.panelOpen.toString())("aria-controls",o.autocompleteDisabled||!o.panelOpen||o.autocomplete==null?null:o.autocomplete.id)("aria-haspopup",o.autocompleteDisabled?null:"listbox")},inputs:{autocomplete:[0,"matAutocomplete","autocomplete"],position:[0,"matAutocompletePosition","position"],connectedTo:[0,"matAutocompleteConnectedTo","connectedTo"],autocompleteAttribute:[0,"autocomplete","autocompleteAttribute"],autocompleteDisabled:[2,"matAutocompleteDisabled","autocompleteDisabled",at]},exportAs:["matAutocompleteTrigger"],standalone:!0,features:[Bt([vve]),an,dn]});let i=e;return i})(),C5=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=ot({type:e}),e.\u0275inj=rt({providers:[yve],imports:[eo,Bh,qt,Ae,Zo,Bh,qt]});let i=e;return i})();var oS="graphs://",S5="data-nexus://";var Cc=function(i){return i.TFLITE_MLIR="builtin_tflite_mlir",i.TFLITE_FLATBUFFER="builtin_tflite_flatbuffer",i.TF_MLIR="builtin_tf_mlir",i.TF_DIRECT="builtin_tf_direct",i.GRAPHDEF="builtin_graphdef",i.MLIR="builtin_mlir",i.JSON_LOADER="builtin_json",i.DATA_NEXUS="builtin_data_nexus",i}(Cc||{}),cR=function(i){return i.ADAPTER="adapter",i.NODE_DATA_PROVIDER="node_data_provider",i}(cR||{}),ni=function(i){return i.LOCAL="local",i.REMOTE="remote",i.DATA_NEXUS="data_nexus",i.GRAPH_JSONS_FROM_SERVER="graphs_json_from_server",i.FILE_PATH="file_path",i}(ni||{}),kn=function(i){return i.NOT_STARTED="Not started",i.PROCESSING="Converting",i.UPLOADING="Uploading",i.DONE="Done",i.ERROR="Error",i}(kn||{});var wve=(i,e)=>e.id;function Cve(i,e){i&1&&(v(0,"span",4),S(1,"Default"),b())}function Sve(i,e){if(i&1){let t=ie();v(0,"div",2),H("click",function(){let r=V(t).$implicit,o=I();return z(o.handleSelectCandidate(r))}),v(1,"div",3),S(2),W(3,Cve,2,0,"span",4),b(),v(4,"div",5),S(5),b()()}if(i&2){let t=e.$implicit,n=e.$index,r=I();se("selected",(r.selectedAdapter==null?null:r.selectedAdapter.id)===t.id),w(2),Me(" ",t.name||t.id," "),w(),ae(n===0?3:-1),w(2),Me(" ",t.description||"-"," ")}}var M5=(()=>{class i{candidates=[];selectedAdapter;onClose=new Ie;handleSelectCandidate(t){this.onClose.next(t)}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=le({type:i,selectors:[["adapter-selector-panel"]],inputs:{candidates:"candidates",selectedAdapter:"selectedAdapter"},outputs:{onClose:"onClose"},standalone:!0,features:[ce],decls:3,vars:1,consts:[[1,"container"],[1,"candidate-container",3,"selected"],[1,"candidate-container",3,"click"],[1,"name"],[1,"default-label"],[1,"description"]],template:function(n,r){n&1&&(v(0,"div",0),ln(1,Sve,6,5,"div",1,wve),b()),n&2&&(N("@transformPanel","showing"),w(),cn(r.candidates))},dependencies:[Ae,pa,it,fa,Jt,_r],styles:[`.container[_ngcontent-%COMP%]{box-shadow:0 2px 6px 2px #00000026,0 1px 2px #0000004d;transform-origin:top center;font-size:13px;padding:8px 0;border-radius:8px;background-color:#fff}.container[_ngcontent-%COMP%] .candidate-container[_ngcontent-%COMP%]{padding:8px 16px}.container[_ngcontent-%COMP%] .candidate-container.selected[_ngcontent-%COMP%]{background-color:#c2e7ff}.container[_ngcontent-%COMP%] .candidate-container[_ngcontent-%COMP%]:hover:not(.selected){background-color:#f2f2f2;cursor:pointer}.container[_ngcontent-%COMP%] .candidate-container[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{font-size:14px;color:#1f1f1f;line-height:20px;margin-bottom:2px;display:flex;align-items:center}.container[_ngcontent-%COMP%] .candidate-container[_ngcontent-%COMP%] .name[_ngcontent-%COMP%] .default-label[_ngcontent-%COMP%]{display:inline-block;padding:0 10px;box-sizing:border-box;background-color:#f3e0b4;color:#70571e;border:1px solid #dbac41;font-size:11px;line-height:14px;border-radius:99px;margin-left:8px}.container[_ngcontent-%COMP%] .candidate-container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{font-size:12px;color:#444746} +`],changeDetection:0})}return i})();function Ove(i,e){if(i&1&&ee(0,"model-graph-visualizer",1),i&2){let t=I();R("graphCollections",t.graphCollections)("config",t.config)}}var Rve="https://storage.googleapis.com/tfweb/model-graph-vis-v2-test-models/coco-ssd.tflite%20(10).json",Ave="https://storage.googleapis.com/tfweb/model-graph-vis-v2-test-models/coco-ssd-tf.json",I5=(()=>{class i{graphCollections=[];config={nodeLabelsToHide:["Const","pseudo_const","ReadVariableOp"],defaultRenderer:kI.WEBGL,maxConstValueCount:16,enableSubgraphSelection:!0,enableExportToResource:!0};ngOnInit(){Promise.all([this.fetch(Rve),this.fetch(Ave)]).then(t=>{this.graphCollections=t})}fetch(t){return new Promise(n=>{fetch(t).then(r=>{r.json().then(o=>{o.label==null&&o.graphs==null?n({label:"unnamed collection",graphs:o}):n(o)})})})}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=ce({type:i,selectors:[["demo-page"]],standalone:!0,features:[le],decls:2,vars:1,consts:[[1,"container"],[3,"graphCollections","config"]],template:function(n,r){n&1&&(v(0,"div",0),$(1,Ove,1,2,"model-graph-visualizer",1),b()),n&2&&(w(),oe(r.graphCollections.length>0?1:-1))},dependencies:[Ae,iS],styles:[`.container[_ngcontent-%COMP%]{width:100%;height:100%;overflow:hidden;display:flex}.container[_ngcontent-%COMP%] model-graph-visualizer[_ngcontent-%COMP%]{width:100%;height:100%} @@ -4162,7 +4163,7 @@ Alt+click: select`;getNamespaceLabel=cd;constValuesPopupSize={minWidth:100,minHe -`],data:{animation:[ai("transformPanel",[mi("void",Qt({opacity:0,transform:"scale(1, 0.8)"})),On("void => showing",Pn("120ms cubic-bezier(0, 0, 0.2, 1)",Qt({opacity:1,transform:"scale(1, 1)"}))),On("* => void",Pn("100ms linear",Qt({opacity:0})))])]},changeDetection:0})}return i})();function ov(i,e,t){let n=i.split("/").filter(s=>s!==""),o=n[n.length-1].split(".");if(!t&&i.startsWith("http"))return e.getExtensionsForHttpUrls();if(o.length>1){let s=o[o.length-1];return e.getExtensionsByFileExt(s)}return!t&&WC(i)?e.getExtensionsForGoogleStorageDir():[]}var Mve="/api/v1/get_extensions",Eve="/api/v1/send_command",Ive="/apipost/v1/send_command",mf=(()=>{class i{loading=ut(!0);internalColab=lf;extensions=[];constructor(){this.loadExtensions()}sendCommandToExtension(t){return At(this,null,function*(){try{let n;if(this.internalColab){let r=`${Eve}?json=${JSON.stringify(t)}`;n=yield fetch(r)}else{let r={method:"POST",headers:{"Content-Type":"application/json"}};r.body=JSON.stringify(t),n=yield fetch(Ive,r)}return n.ok?{cmdResp:yield n.json()}:{otherError:`Failed to convert model. ${n.status}`}}catch(n){return{otherError:n}}})}loadExtensions(){return At(this,null,function*(){let t=[];t=yield this.getExtensionsForExternal(),this.extensions=t,this.loading.set(!1)})}getExtensionsForExternal(){return At(this,null,function*(){try{let t=yield fetch(Mve,{credentials:"include"});return t.ok?yield t.json():(console.error(`Failed to get extensions: ${t.status}`),[])}catch(t){return console.error("Failed to get extensions.",t),[]}})}static \u0275fac=function(n){return new(n||i)};static \u0275prov=J({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();var uR=class{registry={};getExtensionsByFileExt(e){return this.registry[e]||[]}getExtensionById(e){for(let t of Object.values(this.registry))for(let n of t)if(n.id===e)return n}getExtensionsForGoogleStorageDir(){let e=[];for(let t of Object.values(this.registry))for(let n of t)n.matchGoogleStorageDir&&!e.includes(n)&&e.push(n);return e}getExtensionsForHttpUrls(){let e=[];for(let t of Object.values(this.registry))for(let n of t)n.matchHttpUrl&&e.push(n);return e}register(e){for(let t of e.fileExts){this.registry[t]==null&&(this.registry[t]=[]);let n=this.registry[t];if(n.find(r=>r.id===e.id)!=null){console.warn("Adapter extension exists",e);continue}n.push(e)}}},E5=(()=>{class i extends uR{extensionService;constructor(t){super(),this.extensionService=t,lt(()=>{if(!this.extensionService.loading())for(let n of this.extensionService.extensions)n.type===cR.ADAPTER&&this.register(n)})}static \u0275fac=function(n){return new(n||i)(X(mf))};static \u0275prov=J({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();var qr=function(i){return i.DATA="data",i.RENDERER="renderer",i.SHOW_OPEN_IN_NEW_TAB="show_open_in_new_tab",i.BENCHMARK="benchmark",i.ENABLE_SUBGRAPH_SELECTION="ess",i.ENABLE_EXPORT_TO_RESOURCE="eetr",i.INTERNAL_COLAB="internal_colab",i}(qr||{}),sS=(()=>{class i{router;models=[];nodeData=[];nodeDataTargets=[];uiState;prevQueryParamStr="";renderer="webgl";showOpenInNewTab=!1;internalColab=!1;benchmark=!1;enableSubgraphSelection=!1;enableExportToResource=!1;constructor(t){this.router=t,this.decodeUrl()}setModels(t){this.models=t,this.updateUrl()}getModels(){return this.models}setUiState(t){this.uiState=t,this.updateUrl()}getUiState(){return this.uiState}getNodeDataSources(){return this.nodeData||[]}setNodeDataSources(t){this.nodeData=t,this.updateUrl()}getNodeDataTargets(){return this.nodeDataTargets||[]}setNodeDataTargets(t){this.nodeDataTargets=t,this.updateUrl()}updateUrl(){let t={};if(this.benchmark)t[qr.BENCHMARK]="1";else{let r={models:this.models,nodeData:this.nodeData,nodeDataTargets:this.nodeDataTargets,uiState:this.uiState};t[qr.DATA]=JSON.stringify(r),t[qr.RENDERER]=this.renderer,t[qr.SHOW_OPEN_IN_NEW_TAB]=this.showOpenInNewTab?"1":"0",t[qr.INTERNAL_COLAB]=this.internalColab?"1":"0",t[qr.ENABLE_SUBGRAPH_SELECTION]=this.enableSubgraphSelection?"1":"0",t[qr.ENABLE_EXPORT_TO_RESOURCE]=this.enableExportToResource?"1":"0"}let n=JSON.stringify(t);n!==this.prevQueryParamStr&&(this.prevQueryParamStr=n,this.router.navigate([],{queryParams:t,queryParamsHandling:"",replaceUrl:!1}))}decodeUrl(){let t=new URLSearchParams(document.location.search),n=t.get(qr.DATA);if(n){let o=JSON.parse(n),s=o,a=o;a.modelUrl!=null&&(s={models:[{url:a.modelUrl}],uiState:{paneStates:[{deepestExpandedGroupNodeIds:a.deepestExpandedGroupNodeIds||[],selectedNodeId:a.selectedNodeId||"",selectedGraphId:a.selectedGraphId||"",selectedCollectionLabel:"",widthFraction:1}]}}),this.models=s.models,this.uiState=s.uiState,this.nodeData=s.nodeData,this.nodeDataTargets=s.nodeDataTargets}let r=t.get(qr.RENDERER);this.renderer=r||"webgl",this.showOpenInNewTab=t.get(qr.SHOW_OPEN_IN_NEW_TAB)==="1",this.internalColab=t.get(qr.INTERNAL_COLAB)==="1",this.enableSubgraphSelection=t.get(qr.ENABLE_SUBGRAPH_SELECTION)==="1",this.enableExportToResource=t.get(qr.ENABLE_EXPORT_TO_RESOURCE)==="1",this.benchmark=t.get(qr.BENCHMARK)==="1"}static \u0275fac=function(n){return new(n||i)(X(fh))};static \u0275prov=J({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();var Dve=["modelPathInput"];function Pve(i,e){if(i&1){let t=ie();v(0,"mat-option",22)(1,"div",31),S(2),v(3,"div",32)(4,"div",33),H("click",function(r){let o=V(t).$index,s=I();return z(s.handleEditAutocompleteModelPath(r,o))}),v(5,"mat-icon"),S(6,"edit"),b()(),v(7,"div",33),H("click",function(r){let o=V(t).$index,s=I();return z(s.handleClickDeleteAutocompleteModelPath(r,o))}),v(8,"mat-icon"),S(9,"delete"),b()()()()()}if(i&2){let t=e.$implicit;N("value",t),w(2),Me(" ",t," ")}}function Ove(i,e){i&1&&(v(0,"div",25),S(1,"or"),b())}function Rve(i,e){if(i&1){let t=ie();v(0,"button",34),H("click",function(){V(t),I();let r=ve(40);return z(r.click())}),S(1," Select from your computer "),b()}if(i&2){let t=I();N("disabled",t.hasReachedMaxModelsCount||t.loading())}}function Ave(i,e){i&1&&(v(0,"div",28),S(1," You have selected maximum number of models "),b())}function Nve(i,e){i&1&&ee(0,"mat-spinner",44)}function kve(i,e){if(i&1&&(v(0,"div",50),S(1),b()),i&2){let t=I(2).$implicit;w(),Me(" ",t.errorMessage," ")}}function Lve(i,e){if(i&1&&(v(0,"div",49)(1,"mat-icon"),S(2,"info"),b()(),W(3,kve,2,1,"ng-template",null,6,kt)),i&2){let t=ve(4),n=I(3);N("bubble",t)("overlaySize",n.errorInfoPopupSize)("hoverDelayMs",50)}}function Fve(i,e){if(i&1){let t=ie();v(0,"div",51,7),H("click",function(){V(t);let r=ve(1),o=I().$implicit,s=I(2);return z(s.handleClickOpenAdapterDropdown(o,r))}),v(2,"div",52),S(3),b(),v(4,"mat-icon"),S(5,"arrow_drop_down"),b()()}if(i&2){let t=I().$implicit,n=I(2);se("disabled",n.loading()),w(3),Me(" ",n.getSelectedAdapterName(t)," ")}}function Bve(i,e){i&1&&(v(0,"div",47),S(1," No supported adapter "),b())}function Vve(i,e){if(i&1){let t=ie();v(0,"tr")(1,"td")(2,"div",40)(3,"mat-checkbox",41,5),H("change",function(r){let o=V(t).$implicit,s=I(2);return z(s.handleModelSelectionChanged(o,r.checked))}),b(),v(5,"div",42),H("click",function(){let r=V(t).$implicit,o=ve(4),s=I(2);return z(s.handleModelSelectionChanged(r,!o.checked))}),S(6),b()()(),v(7,"td")(8,"div",43),W(9,Nve,1,0,"mat-spinner",44),v(10,"div",45),S(11),b(),W(12,Lve,5,3),b()(),v(13,"td"),W(14,Fve,6,3,"div",46)(15,Bve,2,0,"div",47),b(),v(16,"td")(17,"button",48),H("click",function(){let r=V(t).index,o=I(2);return z(o.handleDeleteModel(r))}),v(18,"mat-icon"),S(19,"delete"),b()()()()}if(i&2){let t=e.$implicit,n=I(2);w(2),se("disabled",!n.hasSupportedAdapter(t)),w(),N("checked",t.selected)("disabled",!n.hasSupportedAdapter(t)||n.loading()),w(2),se("disabled",!n.hasSupportedAdapter(t)||n.loading()),w(),Me(" ",t.path," "),w(3),ae(n.showSpinner(t)?9:-1),w(),se("done",t.status()===n.ModelItemStatus.DONE)("error",n.hasError(t)),w(),Me(" ",n.getModelItemStatusString(t)," "),w(),ae(n.hasError(t)?12:-1),w(2),ae(n.hasSupportedAdapter(t)?14:15),w(3),N("disabled",n.loading())}}function zve(i,e){if(i&1&&(v(0,"div",29)(1,"table")(2,"thead")(3,"tr")(4,"th",35),S(5,"Model name"),b(),v(6,"th"),S(7,"Status"),b(),v(8,"th")(9,"div",36),S(10," Adapter "),v(11,"div",37)(12,"mat-icon",38),S(13,"help_outline"),b()()()(),v(14,"th"),S(15,"Delete"),b()()(),v(16,"tbody"),W(17,Vve,20,16,"tr",39),b()()()),i&2){let t=I(),n=ve(47);w(11),N("bubble",n)("overlayPositions",t.adapterHelpPopupPosition)("hoverDelayMs",100),w(6),N("ngForOf",t.modelItems)("ngForTrackBy",t.trackByModelData)}}function Uve(i,e){if(i&1){let t=ie();v(0,"div",30)(1,"div",53)(2,"button",54),H("click",function(){V(t);let r=I();return z(r.handleDeselectAllModels())}),v(3,"mat-icon"),S(4,"close"),b()(),S(5),b(),v(6,"button",55),H("click",function(){V(t);let r=I();return z(r.handleClickViewSelectedModels())}),S(7," View selected models "),b()()}if(i&2){let t=I();w(),se("hide",t.selectedModelsCount===0),w(),N("disabled",t.loading()),w(3),Me(" ",t.selectedModelsCount," selected "),w(),N("disabled",t.selectedModelsCount===0||t.loading())}}function Hve(i,e){i&1&&(v(0,"div",56)(1,"div"),S(2," Support TF, TFL and StableHLO dialect. "),b()())}function Gve(i,e){i&1&&(v(0,"div",57)(1,"span",58),S(2,"Adapters"),b(),S(3,' transform model files into an intermediate format that Model Explorer can understand and visualize. For certain model types, multiple adapters may exist, offering different transformation approaches. The "default" adapter should cover the majority of common scenarios. '),ee(4,"br")(5,"br"),S(6," You can also create your own "),v(7,"span",58),S(8,"adapter extensions"),b(),S(9," to add support for more model formats. See "),v(10,"a",59),S(11,"this guide"),b(),S(12," for instructions. "),b())}var hR=10,pR="model_explorer_model_paths",T5=50,D5=(()=>{class i{changeDetectorRef;adapterExtensionService;destroyRef;localStorageService;modelLoaderService;overlay;urlService;viewContainerRef;modelPathInput;matAutocompleteTrigger;curFilePath=new gr("");modelItems=[];modelInputAutocompleteOptions=[];filteredModelInputAutocompleteOptions=[];ModelItemStatus=kn;modelFormatHelpPopupSize={maxWidth:400,minHeight:0};errorInfoPopupSize={minHeight:0};adapterHelpPopupPosition=[{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom",offsetY:-4}];loading=ut(!1);hasUploadedModels=ut(!1);internalColab=lf;portal=null;constructor(t,n,r,o,s,a,l,c){this.changeDetectorRef=t,this.adapterExtensionService=n,this.destroyRef=r,this.localStorageService=o,this.modelLoaderService=s,this.overlay=a,this.urlService=l,this.viewContainerRef=c,this.curFilePath.valueChanges.pipe(Vi(this.destroyRef)).subscribe(d=>{this.updateFilteredAutocompleteOptions()}),this.modelInputAutocompleteOptions=this.loadSavedModelPathsForAutocomplete(),this.updateFilteredAutocompleteOptions()}startProcessingModelSource(t){this.modelItems=t.map(n=>{if(n.url.startsWith(oS)){let r=this.adapterExtensionService.getExtensionById(Cc.JSON_LOADER),o=r==null?[]:[r];return{path:n.url,type:ni.GRAPH_JSONS_FROM_SERVER,status:ut(kn.NOT_STARTED),selected:o.length>0,adapterCandidates:o,selectedAdapter:r}}else if(n.url.startsWith(S5)){let r=this.adapterExtensionService.getExtensionById(Cc.DATA_NEXUS),o=r==null?[]:[r];return{path:n.url,type:ni.DATA_NEXUS,status:ut(kn.NOT_STARTED),selected:!0,adapterCandidates:o,selectedAdapter:r}}else{let r=ov(n.url,this.adapterExtensionService,!0),o=this.adapterExtensionService.getExtensionById(n.converterId||n.adapterId||"");return o||(o=r.length>0?r[0]:void 0),{path:n.url,type:ni.FILE_PATH,status:ut(kn.NOT_STARTED),selected:r.length>0,adapterCandidates:r,selectedAdapter:o}}}),this.changeDetectorRef.detectChanges(),this.modelItems.some(n=>n.selected)&&this.handleClickViewSelectedModels()}startWithUrlEncodedData(t,n){if(t){let r=this.adapterExtensionService.getExtensionById(Cc.JSON_LOADER);if(!r)return;this.addModelItems([{path:"",type:ni.GRAPH_JSONS_FROM_SERVER,status:ut(kn.NOT_STARTED),selected:!0,adapterCandidates:[r],selectedAdapter:r}])}if(n.length>0){let r=n.map(o=>{let s=ov(o,this.adapterExtensionService,!0);return{path:o,type:ni.FILE_PATH,status:ut(kn.NOT_STARTED),selected:s.length>0,adapterCandidates:s,selectedAdapter:s.length>0?s[0]:void 0}});this.addModelItems(r),this.addPathsToAutocompleteHistory(n),this.updateFilteredAutocompleteOptions()}this.changeDetectorRef.detectChanges(),t&&n.length===0&&this.handleClickViewSelectedModels()}handleClickAddEnteredModelPath(){return At(this,null,function*(){yield new Promise(r=>{setTimeout(r)});let t=this.curFilePath.value;if(t==null)return;let n=t.trim().split(",").filter(r=>r.trim()!=="").map(r=>{let o=ov(r,this.adapterExtensionService,!0);return{path:r,type:this.isInternal?ni.REMOTE:ni.FILE_PATH,status:ut(kn.NOT_STARTED),selected:o.length>0,adapterCandidates:o,selectedAdapter:o.length>0?o[0]:void 0}});this.addModelItems(n),this.addPathsToAutocompleteHistory(n.map(r=>r.path)),this.curFilePath.setValue(""),setTimeout(()=>{this.matAutocompleteTrigger?.closePanel(),this.modelPathInput.nativeElement.blur()})})}handleAutocompleteOptionSelected(t){this.disableAddEnteredModelPathButton||(t.option.deselect(),this.handleClickAddEnteredModelPath())}handleModelSelectionChanged(t,n){t.selected=n}handleDeleteModel(t){this.modelItems.splice(t,1),this.changeDetectorRef.markForCheck()}handleDeselectAllModels(){for(let t of this.modelItems)t.selected=!1}handleEditAutocompleteModelPath(t,n){t.stopPropagation(),this.curFilePath.setValue(this.modelInputAutocompleteOptions[n].path),this.modelPathInput.nativeElement.focus()}handleClickDeleteAutocompleteModelPath(t,n){t.stopPropagation(),this.modelInputAutocompleteOptions.splice(n,1),this.updateFilteredAutocompleteOptions(),this.localStorageService.setItem(pR,JSON.stringify(this.modelInputAutocompleteOptions))}handleClickUpload(t){let n=t.files;if(!n)return;let r=[];for(let o=0;o0,adapterCandidates:l,selectedAdapter:l.length>0?l[0]:void 0}):n.push({path:o.name,type:ni.LOCAL,status:ut(kn.NOT_STARTED),selected:l.length>0,file:o,adapterCandidates:l,selectedAdapter:l.length>0?l[0]:void 0})}this.addModelItems(n)}handleClickOpenAdapterDropdown(t,n){let r=t.selectedAdapter?.id,o=this.createOverlay(n),s=o.attach(this.portal);s.instance.selectedAdapter=t.selectedAdapter,s.instance.candidates=t.adapterCandidates||[],s.instance.onClose.subscribe(a=>{o.dispose(),a?.id!==r&&t.errorMessage!=null&&(t.status.set(kn.NOT_STARTED),t.errorMessage=void 0,t.selected=!0),t.selectedAdapter=a,this.changeDetectorRef.markForCheck()})}handleClickViewSelectedModels(){this.loading.set(!0);let t=this.modelItems.filter(n=>n.selected);this.modelLoaderService.loadModels(t).then(()=>{this.loading.set(!1)}),this.urlService.setUiState(void 0),this.urlService.setModels(t.filter(n=>n.type===ni.REMOTE||n.type===ni.GRAPH_JSONS_FROM_SERVER||n.type===ni.FILE_PATH).map(n=>({url:n.path,adapterId:n.selectedAdapter?.id}))),this.hasUploadedModels.set(t.some(n=>n.type===ni.LOCAL))}trackByModelData(t,n){return`${n.path}_${n.file?.size}_${n.file?.lastModified}`}isNotStarted(t){return t.status()===kn.NOT_STARTED}getSelectedAdapterName(t){return t.selectedAdapter==null?"?":(t.adapterCandidates||[]).indexOf(t.selectedAdapter)===0?"Default":t.selectedAdapter?.name||"?"}hasSupportedAdapter(t){return(t.adapterCandidates||[]).length>0}hasMultipleSupportedAdapters(t){return(t.adapterCandidates||[]).length>1}showSpinner(t){return t.status()===kn.PROCESSING||t.status()===kn.UPLOADING}hasError(t){return t.status()===kn.ERROR}getModelItemStatusString(t){let n=t.status();return n===kn.UPLOADING?"Processing":n}get disableAddEnteredModelPathButton(){if(this.hasReachedMaxModelsCount)return!0;if(this.isInternal){let t=(this.curFilePath.value||"").toLowerCase().trim();return t!==""&&!WC(t)&&!t.startsWith("http")||t===""}else{let t=(this.curFilePath.value||"").trim();return t===""||t!==""&&!t.startsWith("/")&&!t.startsWith("~")}}get isInternal(){return!!0}get isExternal(){return!0}get selectedModelsCount(){return this.modelItems.filter(t=>t.selected).length}get hasReachedMaxModelsCount(){return this.modelItems.length===hR}get modelPathInputPlaceholder(){return"Absolute file paths (recommended for large models)"}updateFilteredAutocompleteOptions(){let n=(this.curFilePath.value||"").toLowerCase();this.filteredModelInputAutocompleteOptions=this.modelInputAutocompleteOptions.filter(r=>r.path.toLowerCase().includes(n)).map(r=>r.path),this.changeDetectorRef.markForCheck()}addPathsToAutocompleteHistory(t){let n=this.loadSavedModelPathsForAutocomplete();for(let r of t){let o=n.findIndex(s=>s.path===r);if(o>=0){let s=n.splice(o,1);s&&s.length>0&&(s[0].ts=Date.now(),n.unshift(s[0]))}else n.unshift({path:r,ts:Date.now()})}n.length>T5&&n.splice(T5),this.localStorageService.setItem(pR,JSON.stringify(n)),this.modelInputAutocompleteOptions=n}addModelItems(t){let n=t.filter(r=>this.modelItems.find(o=>o.path===r.path&&o.file?.size===r.file?.size&&o.file?.lastModified===r.file?.lastModified)==null);this.modelItems.push(...n),this.modelItems.length>hR&&this.modelItems.splice(hR),this.changeDetectorRef.markForCheck()}loadSavedModelPathsForAutocomplete(){return JSON.parse(this.localStorageService.getItem(pR)||"[]")}createOverlay(t){let n=new hi({positionStrategy:this.overlay.position().flexibleConnectedTo(t).withPositions([{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"}]),hasBackdrop:!0,backdropClass:"cdk-overlay-transparent-backdrop",scrollStrategy:this.overlay.scrollStrategies.reposition(),maxWidth:"380px",panelClass:"graph-selector-panel"}),r=this.overlay.create(n);return this.portal=new Pi(M5,this.viewContainerRef),r.backdropClick().subscribe(()=>{r.dispose()}),r}static \u0275fac=function(n){return new(n||i)(M(Fe),M(E5),M(Ni),M(Vo),M("ModelLoaderService"),M(Gt),M(sS),M(Yt))};static \u0275cmp=le({type:i,selectors:[["model-source-input"]],viewQuery:function(n,r){if(n&1&&(Te(Dve,5),Te(rv,5)),n&2){let o;be(o=ye())&&(r.modelPathInput=o.first),be(o=ye())&&(r.matAutocompleteTrigger=o.first)}},standalone:!0,features:[ce],decls:48,vars:16,consts:[["auto","matAutocomplete"],["modelPathInput",""],["uploadInput",""],["externalMlirHelp",""],["adapterHelp",""],["checkbox",""],["errorInfo",""],["selector",""],[1,"container"],[1,"content"],[1,"title"],[1,"description-container"],[1,"description"],["href","https://www.tensorflow.org/","target","_blank"],["href","https://www.tensorflow.org/lite","target","_blank"],["href","https://www.tensorflow.org/js","target","_blank"],["href","https://www.tensorflow.org/guide/jax2tf","target","_blank"],["href","https://github.com/google-ai-edge/model-explorer/wiki/2.-User-Guide#how-to-select-pytorch-models","target","_blank"],[1,"help-trigger","external",3,"bubble","overlaySize","hoverDelayMs"],[1,"source-input-container"],[1,"input-container"],[1,"model-path-autocomplete",3,"optionSelected"],[3,"value"],[3,"keydown.enter","placeholder","formControl","matAutocomplete"],["mat-raised-button","",1,"btn-add-model-path",3,"click","disabled"],[1,"or-label"],["mat-flat-button","",1,"btn-upload",3,"disabled"],["type","file","multiple","",1,"upload-input",3,"change"],[1,"model-count-warning"],[1,"models-table"],[1,"table-action-bar"],[1,"option-container"],[1,"icons-container"],[1,"mat-icon-container",3,"click"],["mat-flat-button","",1,"btn-upload",3,"click","disabled"],[1,"model-name-col"],[1,"adapter-header"],[1,"icon-container",3,"bubble","overlayPositions","hoverDelayMs"],["fontSet","google-material-icons"],[4,"ngFor","ngForOf","ngForTrackBy"],[1,"model-name-container"],[3,"change","checked","disabled"],[1,"model-path",3,"click"],[1,"model-status-container"],["color","primary","diameter","16"],[1,"model-status-label-container"],[1,"selected-adapter-container",3,"disabled"],[1,"no-supported-adapter-msg"],["mat-icon-button","",1,"btn-delete-model-item",3,"click","disabled"],[1,"error-info-container",3,"bubble","overlaySize","hoverDelayMs"],[1,"model-explorer-error-info-popup"],[1,"selected-adapter-container",3,"click"],[1,"selected-adapter-label"],[1,"selection-status"],["mat-icon-button","",1,"btn-deselect-all",3,"click","disabled"],["mat-flat-button","","color","primary",1,"btn-view-models",3,"click","disabled"],[1,"model-explorer-model-format-help-popup"],[1,"model-explorer-adapter-help-popup"],[1,"bold"],["href","https://github.com/google-ai-edge/model-explorer/wiki/6.-Develop-Adapter-Extension","target","_blank"]],template:function(n,r){if(n&1){let o=ie();v(0,"div",8)(1,"div",9)(2,"div",10),S(3," Select Models "),b(),v(4,"div",11)(5,"div",12),S(6," Select models from your comupter or enter the file paths directly (up to 10 in total)."),ee(7,"br"),S(8," Supported model formats: "),v(9,"a",13),S(10,"TF"),b(),S(11," (.pb, .pbtxt, .graphdef), "),v(12,"a",14),S(13,"TFLite"),b(),S(14," (.tflite), "),v(15,"a",15),S(16,"TFJS"),b(),S(17," (.json), "),v(18,"a",16),S(19,"JAX"),b(),S(20," (.pb), "),v(21,"a",17),S(22,"PyTorch ExportedProgram"),b(),S(23," (.pt2), "),v(24,"span",18),S(25," MLIR "),b(),S(26," (.mlir, .mlirbc). "),b()(),v(27,"div",19)(28,"div",20)(29,"mat-autocomplete",21,0),H("optionSelected",function(a){return V(o),z(r.handleAutocompleteOptionSelected(a))}),ln(31,Pve,10,2,"mat-option",22,Kr),b(),v(33,"input",23,1),H("keydown.enter",function(){return V(o),z(!r.disableAddEnteredModelPathButton&&r.handleClickAddEnteredModelPath())}),b(),v(35,"button",24),H("click",function(){return V(o),z(r.handleClickAddEnteredModelPath())}),S(36," Add "),b()(),W(37,Ove,2,0,"div",25)(38,Rve,2,1,"button",26),v(39,"input",27,2),H("change",function(){V(o);let a=ve(40);return z(r.handleClickUpload(a))}),b()(),W(41,Ave,2,0,"div",28)(42,zve,18,5,"div",29),b(),W(43,Uve,8,5,"div",30),b(),W(44,Hve,3,0,"ng-template",null,3,kt)(46,Gve,13,0,"ng-template",null,4,kt)}if(n&2){let o=ve(30),s=ve(45);w(),se("no-models",r.modelItems.length===0),w(23),N("bubble",s)("overlaySize",r.modelFormatHelpPopupSize)("hoverDelayMs",50),w(3),se("reverse",r.isExternal),w(4),cn(r.filteredModelInputAutocompleteOptions),w(2),N("placeholder",r.modelPathInputPlaceholder)("formControl",r.curFilePath)("matAutocomplete",o),w(2),N("disabled",r.disableAddEnteredModelPathButton||r.loading()),w(2),ae(r.internalColab?-1:37),w(),ae(r.internalColab?-1:38),w(3),ae(r.hasReachedMaxModelsCount?41:-1),w(),ae(r.modelItems.length>0?42:-1),w(),ae(r.modelItems.length>0?43:-1)}},dependencies:[$n,Ae,Si,C5,x5,ql,rv,In,zi,Ho,LC,kC,pa,ns,ha,fa,Jt,it,_t,_r,qs,zo,po],styles:[`.container[_ngcontent-%COMP%]{width:100%;height:100%;box-sizing:border-box;display:flex;align-items:flex-start;flex-direction:column;border:1px solid #dadce0;border-radius:8px;overflow:hidden}.container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{width:100%;box-sizing:border-box;padding:24px 24px 0;overflow:hidden;display:flex;flex-direction:column}.container[_ngcontent-%COMP%] .content.no-models[_ngcontent-%COMP%]{padding-bottom:24px}.container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{color:#1f1f1f;font-size:24px}.container[_ngcontent-%COMP%] .description-container[_ngcontent-%COMP%]{color:#444746;font-size:14px;margin-top:8px}.container[_ngcontent-%COMP%] .description-container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{line-height:20px}.container[_ngcontent-%COMP%] .description-container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%] .tfhub[_ngcontent-%COMP%]{display:inline-block;text-decoration:underline;text-decoration-color:#aaa;cursor:help}.container[_ngcontent-%COMP%] .description-container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%] .help-trigger[_ngcontent-%COMP%]{display:inline-block;margin-right:6px;text-decoration:underline;text-decoration-color:#aaa;cursor:help}.container[_ngcontent-%COMP%] .description-container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%] .help-trigger.external[_ngcontent-%COMP%]{margin-right:0}.container[_ngcontent-%COMP%] .description-container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:inherit}.container[_ngcontent-%COMP%] .source-input-container[_ngcontent-%COMP%]{display:flex;height:56px;box-sizing:border-box;width:100%;margin-top:8px;padding:8px 0;align-items:center;flex-shrink:0}.container[_ngcontent-%COMP%] .source-input-container.reverse[_ngcontent-%COMP%]{flex-direction:row-reverse}.container[_ngcontent-%COMP%] .source-input-container[_ngcontent-%COMP%] .input-container[_ngcontent-%COMP%]{height:100%;box-sizing:border-box;background-color:#f0f4f9;border-radius:99px;flex-grow:1;display:flex;align-items:center;padding-left:18px}.container[_ngcontent-%COMP%] .source-input-container[_ngcontent-%COMP%] .input-container[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{height:100%;flex-grow:1;border:none;outline:none;background-color:transparent;color:#444746;font-size:14px;margin-right:16px}.container[_ngcontent-%COMP%] .source-input-container[_ngcontent-%COMP%] .input-container[_ngcontent-%COMP%] .btn-add-model-path[_ngcontent-%COMP%]{background-color:#fff;border-radius:99px;color:#0b57d0;height:40px}.container[_ngcontent-%COMP%] .source-input-container[_ngcontent-%COMP%] .input-container[_ngcontent-%COMP%] .btn-add-model-path[disabled][_ngcontent-%COMP%]{background-color:#1f1f1f1f;color:#1f1f1f61}.container[_ngcontent-%COMP%] .source-input-container[_ngcontent-%COMP%] .or-label[_ngcontent-%COMP%]{font-size:14px;margin:0 20px;color:#5f6368}.container[_ngcontent-%COMP%] .source-input-container[_ngcontent-%COMP%] .btn-upload[_ngcontent-%COMP%]{height:100%;background-color:#c2e7ff;border-radius:99px;color:#001d35}.container[_ngcontent-%COMP%] .source-input-container[_ngcontent-%COMP%] .btn-upload[disabled][_ngcontent-%COMP%]{background-color:#1f1f1f1f;color:#1f1f1f61}.container[_ngcontent-%COMP%] .source-input-container[_ngcontent-%COMP%] .upload-input[_ngcontent-%COMP%]{display:none}.container[_ngcontent-%COMP%] .model-count-warning[_ngcontent-%COMP%]{color:#ab6c17;background-color:#ffefd9;margin:4px 0;width:fit-content;padding:2px 9px;border-radius:4px;font-size:13px;font-weight:500}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%]{width:100%;color:#1f1f1f;font-size:14px;margin-top:18px;overflow:hidden auto}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%]{width:100%;border-spacing:0;border-collapse:collapse;padding:0}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%]{position:sticky;top:0;z-index:100;box-shadow:inset 0 -1px #c4c7c5;background-color:#fff}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] .model-name-col[_ngcontent-%COMP%]{width:100%}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] .adapter-header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:4px}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] .adapter-header[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]{display:flex;align-items:center;cursor:pointer;opacity:.8}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] .adapter-header[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]:hover{opacity:1}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] .adapter-header[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px;color:#777}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{height:49px;text-align:left;padding:0;font-weight:500}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]{height:49px;text-align:left;padding:0}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:not(:last-child){border-bottom:1px solid #c4c7c5}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:0}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .model-name-container[_ngcontent-%COMP%]{display:flex;align-items:center;padding-left:12px;margin-right:12px;word-break:break-all}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .model-name-container.disabled[_ngcontent-%COMP%]{pointer-events:none}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .model-name-container[_ngcontent-%COMP%] mat-checkbox[_ngcontent-%COMP%]{margin-right:2px}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .model-name-container[_ngcontent-%COMP%] .model-path[_ngcontent-%COMP%]{cursor:pointer;line-height:16px;padding:8px 0}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .model-name-container[_ngcontent-%COMP%] .model-path.disabled[_ngcontent-%COMP%]{pointer-events:none}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .selected-adapter-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;cursor:pointer;height:48px;margin-right:24px;white-space:nowrap}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .selected-adapter-container.disabled[_ngcontent-%COMP%]{opacity:.5;pointer-events:none}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .selected-adapter-container[_ngcontent-%COMP%]:hover mat-icon[_ngcontent-%COMP%]{opacity:1}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .selected-adapter-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{opacity:.7}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .no-supported-adapter-msg[_ngcontent-%COMP%]{color:#ab6c17;background-color:#ffefd9;padding:2px 8px;width:fit-content;border-radius:4px;font-size:12px;margin-right:24px;white-space:nowrap;font-weight:500}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .model-status-container[_ngcontent-%COMP%]{display:flex;align-items:center;margin-right:32px}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .model-status-container[_ngcontent-%COMP%] mat-spinner[_ngcontent-%COMP%]{margin-right:4px}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .model-status-container[_ngcontent-%COMP%] .model-status-label-container[_ngcontent-%COMP%]{font-size:12px;padding:2px 8px;background-color:#f1f3f4;display:flex;align-items:center;justify-content:center;color:#3c4043;width:fit-content;border-radius:4px;white-space:nowrap;font-weight:500}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .model-status-container[_ngcontent-%COMP%] .model-status-label-container.done[_ngcontent-%COMP%]{color:#0d652d;background-color:#e6f4ea}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .model-status-container[_ngcontent-%COMP%] .model-status-label-container.error[_ngcontent-%COMP%]{color:#a50e0e;background-color:#fce8e6}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .model-status-container[_ngcontent-%COMP%] .error-info-container[_ngcontent-%COMP%]{width:20px;display:flex;align-items:center;justify-content:center;margin-left:4px;cursor:pointer}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .model-status-container[_ngcontent-%COMP%] .error-info-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{width:20px;height:20px;font-size:20px}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .btn-delete-model-item[_ngcontent-%COMP%]{width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .btn-delete-model-item[disabled][_ngcontent-%COMP%]{opacity:.5}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .btn-delete-model-item[_ngcontent-%COMP%] mat-icon{font-size:20px;width:20px;height:20px;color:#444746}.container[_ngcontent-%COMP%] .table-action-bar[_ngcontent-%COMP%]{flex-shrink:0;height:60px;width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;background-color:#f0f4f9;padding:0 24px 0 38px}.container[_ngcontent-%COMP%] .table-action-bar[_ngcontent-%COMP%] .selection-status[_ngcontent-%COMP%]{display:flex;align-items:center;font-size:14px;color:#444746}.container[_ngcontent-%COMP%] .table-action-bar[_ngcontent-%COMP%] .selection-status.hide[_ngcontent-%COMP%]{visibility:hidden}.container[_ngcontent-%COMP%] .table-action-bar[_ngcontent-%COMP%] .btn-deselect-all[_ngcontent-%COMP%]{width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center}.container[_ngcontent-%COMP%] .table-action-bar[_ngcontent-%COMP%] .btn-deselect-all[_ngcontent-%COMP%] mat-icon{font-size:20px;width:20px;height:20px;color:#444746}.container[_ngcontent-%COMP%] .table-action-bar[_ngcontent-%COMP%] .btn-view-models[_ngcontent-%COMP%]{height:40px;border-radius:99px}.container[_ngcontent-%COMP%] .instructions-container[_ngcontent-%COMP%]{font-size:13px;color:#555;margin-top:24px;display:none}.container[_ngcontent-%COMP%] .instructions-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:18px;width:18px;height:18px;margin-right:4px}.container[_ngcontent-%COMP%] .instructions-container[_ngcontent-%COMP%] .instruction-title[_ngcontent-%COMP%]{display:flex;align-items:center}.container[_ngcontent-%COMP%] .instructions-container[_ngcontent-%COMP%] .instruction-title[_ngcontent-%COMP%] .model-format[_ngcontent-%COMP%]{color:#333;margin-right:4px;margin-left:4px;border:1px solid #ccc;border-radius:4px;padding:2px 4px;cursor:pointer}.container[_ngcontent-%COMP%] .instructions-container[_ngcontent-%COMP%] .instruction-title[_ngcontent-%COMP%] .model-format[_ngcontent-%COMP%]:hover{background-color:#eee} .model-explorer-upload-help-popup{padding:12px;font-weight:400;color:#555;line-height:14px;font-size:12px;font-family:Google Sans Text,Arial,Helvetica,sans-serif} .model-explorer-adapter-help-popup{padding:12px;font-weight:400;color:#555;line-height:15px;font-size:12px;font-family:Google Sans Text,Arial,Helvetica,sans-serif} .model-explorer-adapter-help-popup .bold{font-weight:700} .model-explorer-model-format-help-popup{padding:12px;font-weight:400;color:#555;line-height:15px;font-size:12px;font-family:Google Sans Text,Arial,Helvetica,sans-serif;letter-spacing:normal} .model-explorer-model-format-help-popup a{color:inherit} .model-explorer-model-format-help-popup .example{margin-top:8px;color:#aaa} .model-explorer-model-format-help-popup .example ul{margin:4px 0;padding-inline-start:28px} .model-explorer-model-format-help-popup .example li{margin-top:4px} .model-explorer-model-format-help-popup .info{display:inline-block;background-color:#ffd1a8} .model-explorer-error-info-popup{padding:12px;font-weight:400;background-color:#f0f4f9;line-height:14px;font-size:12px;font-family:Google Sans Text,Arial,Helvetica,sans-serif} .model-path-autocomplete mat-option{min-height:13px;font-size:13px;line-height:13px;padding-top:5px;padding-bottom:5px} .model-path-autocomplete mat-option:hover .option-container .mat-icon-container{visibility:visible} .model-path-autocomplete mat-option>span{width:100%} .model-path-autocomplete mat-option .option-container{width:100%;display:flex;align-items:center;justify-content:space-between;word-break:break-all} .model-path-autocomplete mat-option .option-container .icons-container{display:flex;align-items:center;gap:4px;min-width:50px;justify-content:flex-end} .model-path-autocomplete mat-option .option-container .mat-icon-container{visibility:hidden;display:flex;align-items:center;justify-content:center;opacity:.6;width:18px} .model-path-autocomplete mat-option .option-container .mat-icon-container:hover{opacity:1} .model-path-autocomplete mat-option .option-container .mat-icon-container mat-icon{font-size:18px;width:18px;height:18px} +`]})}return i})();var To=function(i){return i.CONST_ELEMENT_COUNT_LIMIT="const_element_count_limit",i.SHOW_WELCOME_CARD="show_welcome_card",i.HIDE_OP_NODES_WITH_LABELS="hide_op_nodes_with_labels",i.ARTIFICIAL_LAYER_NODE_COUNT_THRESHOLD="artificial_layer_node_count_threshold",i.EDGE_LABEL_FONT_SIZE="edge_label_font_size",i.EDGE_COLOR="edge_color",i.DISALLOW_VERTICAL_EDGE_LABELS="disallow_vertical_edge_labels",i.KEEP_LAYERS_WITH_A_SINGLE_CHILD="keep_layers_with_a_single_child",i.SHOW_OP_NODE_OUT_OF_LAYER_EDGES_WITHOUT_SELECTING="show_op_node_out_of_layer_edges_without_selecting",i}(To||{}),co=function(i){return i[i.BOOLEAN=0]="BOOLEAN",i[i.NUMBER=1]="NUMBER",i[i.TEXT_MULTILINE=2]="TEXT_MULTILINE",i[i.COLOR=3]="COLOR",i}(co||{}),nR={label:"Maximum element count for constant tensor values",key:To.CONST_ELEMENT_COUNT_LIMIT,type:co.NUMBER,defaultValue:16,help:"Controls the number of values extracted from the constant tensors during model processing. Increasing this number may impact performance due to larger payload sizes."},Nve={label:"Show welcome card",key:To.SHOW_WELCOME_CARD,type:co.BOOLEAN,defaultValue:!0},iR={label:"Hide op nodes with labels below (comma separated)",key:To.HIDE_OP_NODES_WITH_LABELS,type:co.TEXT_MULTILINE,defaultValue:"Const,pseudo_const,pseudo_qconst,ReadVariableOp",help:"Removes op nodes from model graphs if their label matches any of the labels entered below."},rR={label:"Maximum number of nodes in an artificial layer",key:To.ARTIFICIAL_LAYER_NODE_COUNT_THRESHOLD,type:co.NUMBER,defaultValue:Rm,help:"Controls the maximum number of immediate child nodes displayed under a layer. When the number of child nodes exceeds this limit, Model Explorer automatically groups them into smaller, more manageable artificial layers to improve layout performance and readability."},oR={label:"Edge label font size",key:To.EDGE_LABEL_FONT_SIZE,type:co.NUMBER,defaultValue:Kb},sR={label:"Edge color",key:To.EDGE_COLOR,type:co.COLOR,defaultValue:"#aaaaaa"},aR={label:"Disallow vertical edge labels",key:To.DISALLOW_VERTICAL_EDGE_LABELS,type:co.BOOLEAN,defaultValue:!1,help:"-"},cR={label:"Keep layers with a single op node child",key:To.KEEP_LAYERS_WITH_A_SINGLE_CHILD,type:co.BOOLEAN,defaultValue:!1,help:"By default, layers with a single op node as its child are automatically removed to improve graph readability. Turn this toggle on to keep those layers."},lR={label:"Show op node out-of-layer edges without selecting",key:To.SHOW_OP_NODE_OUT_OF_LAYER_EDGES_WITHOUT_SELECTING,type:co.BOOLEAN,defaultValue:!1,help:"By default, an op node's edges that go out of the layer is only visible when the op node is selected. Turn this toggle on to see those edges without needing to select the node. \u26A0\uFE0F This feature will make the model graph look more noisy and harder to read especially for larger models."},rS="model_explorer_settings",oS=[nR,iR,rR,oR,sR,cR,Nve,aR,lR],vf=(()=>{class i{localStorageService;savedSettings;constructor(t){this.localStorageService=t;let n=this.localStorageService.getItem(rS)||"";this.savedSettings=n===""?{}:JSON.parse(n)}getBooleanValue(t){return this.savedSettings[t.key]==null?t.defaultValue===!0:this.savedSettings[t.key]===!0}getNumberValue(t){let n=this.savedSettings[t.key];return n!=null?Number(n):t.defaultValue||0}getStringValue(t){let n=this.savedSettings[t.key];return n??(t.defaultValue||"")}saveBooleanValue(t,n){this.savedSettings[n]=t,this.localStorageService.setItem(rS,JSON.stringify(this.savedSettings))}saveNumberValue(t,n){isNaN(t)||(this.savedSettings[n]=t,this.localStorageService.setItem(rS,JSON.stringify(this.savedSettings)))}saveStringValue(t,n){this.savedSettings[n]=t,this.localStorageService.setItem(rS,JSON.stringify(this.savedSettings))}getAllSettingsValues(){let t={};for(let n of oS)switch(n.type){case co.BOOLEAN:t[n.key]=this.getBooleanValue(n);break;case co.NUMBER:t[n.key]=this.getNumberValue(n);break;default:break}return t}getSettingByKey(t){return oS.find(n=>n.key===t)}static \u0275fac=function(n){return new(n||i)(X(no))};static \u0275prov=J({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();var kve=["panel"],Lve=["*"];function Fve(i,e){if(i&1){let t=ne();v(0,"div",1,0),H("@panelAnimation.done",function(r){B(t);let o=I();return V(o._animationDone.next(r))}),Wt(2),b()}if(i&2){let t=e.id,n=I();Vr(n._classList),re("mat-mdc-autocomplete-visible",n.showPanel)("mat-mdc-autocomplete-hidden",!n.showPanel)("mat-primary",n._color==="primary")("mat-accent",n._color==="accent")("mat-warn",n._color==="warn"),R("id",n.id)("@panelAnimation",n.isOpen?"visible":"hidden"),Ye("aria-label",n.ariaLabel||null)("aria-labelledby",n._getPanelAriaLabelledby(t))}}var Bve=li("panelAnimation",[vi("void, hidden",Kt({opacity:0,transform:"scaleY(0.8)"})),An(":enter, hidden => visible",[mF([Rn("0.03s linear",Kt({opacity:1})),Rn("0.12s cubic-bezier(0, 0, 0.2, 1)",Kt({transform:"scaleY(1)"}))])]),An(":leave, visible => hidden",[Rn("0.075s linear",Kt({opacity:0}))])]),Vve=0,uR=class{constructor(e,t){this.source=e,this.option=t}},T5=new me("mat-autocomplete-default-options",{providedIn:"root",factory:zve});function zve(){return{autoActiveFirstOption:!1,autoSelectActiveOption:!1,hideSingleSelectionIndicator:!1,requireSelection:!1}}var D5=(()=>{let e=class e{get isOpen(){return this._isOpen&&this.showPanel}_setColor(n){this._color=n,this._changeDetectorRef.markForCheck()}set classList(n){this._classList=n,this._elementRef.nativeElement.className=""}get hideSingleSelectionIndicator(){return this._hideSingleSelectionIndicator}set hideSingleSelectionIndicator(n){this._hideSingleSelectionIndicator=n,this._syncParentProperties()}_syncParentProperties(){if(this.options)for(let n of this.options)n._changeDetectorRef.markForCheck()}constructor(n,r,o,s){this._changeDetectorRef=n,this._elementRef=r,this._defaults=o,this._activeOptionChanges=Ct.EMPTY,this._animationDone=new Ie,this.showPanel=!1,this._isOpen=!1,this.displayWith=null,this.optionSelected=new Ie,this.opened=new Ie,this.closed=new Ie,this.optionActivated=new Ie,this.id=`mat-autocomplete-${Vve++}`,this.inertGroups=s?.SAFARI||!1,this.autoActiveFirstOption=!!o.autoActiveFirstOption,this.autoSelectActiveOption=!!o.autoSelectActiveOption,this.requireSelection=!!o.requireSelection,this._hideSingleSelectionIndicator=this._defaults.hideSingleSelectionIndicator??!1}ngAfterContentInit(){this._keyManager=new Ah(this.options).withWrap().skipPredicate(this._skipPredicate),this._activeOptionChanges=this._keyManager.change.subscribe(n=>{this.isOpen&&this.optionActivated.emit({source:this,option:this.options.toArray()[n]||null})}),this._setVisibility()}ngOnDestroy(){this._keyManager?.destroy(),this._activeOptionChanges.unsubscribe(),this._animationDone.complete()}_setScrollTop(n){this.panel&&(this.panel.nativeElement.scrollTop=n)}_getScrollTop(){return this.panel?this.panel.nativeElement.scrollTop:0}_setVisibility(){this.showPanel=!!this.options.length,this._changeDetectorRef.markForCheck()}_emitSelectEvent(n){let r=new uR(this,n);this.optionSelected.emit(r)}_getPanelAriaLabelledby(n){if(this.ariaLabel)return null;let r=n?n+" ":"";return this.ariaLabelledby?r+this.ariaLabelledby:n}_skipPredicate(){return!1}};e.\u0275fac=function(r){return new(r||e)(M(Ne),M(Re),M(T5),M(gn))},e.\u0275cmp=ce({type:e,selectors:[["mat-autocomplete"]],contentQueries:function(r,o,s){if(r&1&&(_i(s,Zc,5),_i(s,zh,5)),r&2){let a;be(a=ye())&&(o.options=a),be(a=ye())&&(o.optionGroups=a)}},viewQuery:function(r,o){if(r&1&&(Ee(Wn,7),Ee(kve,5)),r&2){let s;be(s=ye())&&(o.template=s.first),be(s=ye())&&(o.panel=s.first)}},hostAttrs:[1,"mat-mdc-autocomplete"],inputs:{ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],displayWith:"displayWith",autoActiveFirstOption:[2,"autoActiveFirstOption","autoActiveFirstOption",et],autoSelectActiveOption:[2,"autoSelectActiveOption","autoSelectActiveOption",et],requireSelection:[2,"requireSelection","requireSelection",et],panelWidth:"panelWidth",disableRipple:[2,"disableRipple","disableRipple",et],classList:[0,"class","classList"],hideSingleSelectionIndicator:[2,"hideSingleSelectionIndicator","hideSingleSelectionIndicator",et]},outputs:{optionSelected:"optionSelected",opened:"opened",closed:"closed",optionActivated:"optionActivated"},exportAs:["matAutocomplete"],standalone:!0,features:[Ft([{provide:Vh,useExisting:e}]),nn,le],ngContentSelectors:Lve,decls:1,vars:0,consts:[["panel",""],["role","listbox",1,"mat-mdc-autocomplete-panel","mdc-menu-surface","mdc-menu-surface--open",3,"id"]],template:function(r,o){r&1&&(In(),$(0,Fve,3,16,"ng-template"))},styles:["div.mat-mdc-autocomplete-panel{width:100%;max-height:256px;visibility:hidden;transform-origin:center top;overflow:auto;padding:8px 0;box-sizing:border-box;position:static;border-radius:var(--mat-autocomplete-container-shape);box-shadow:var(--mat-autocomplete-container-elevation-shadow);background-color:var(--mat-autocomplete-background-color)}.cdk-high-contrast-active div.mat-mdc-autocomplete-panel{outline:solid 1px}.cdk-overlay-pane:not(.mat-mdc-autocomplete-panel-above) div.mat-mdc-autocomplete-panel{border-top-left-radius:0;border-top-right-radius:0}.mat-mdc-autocomplete-panel-above div.mat-mdc-autocomplete-panel{border-bottom-left-radius:0;border-bottom-right-radius:0;transform-origin:center bottom}div.mat-mdc-autocomplete-panel.mat-mdc-autocomplete-visible{visibility:visible}div.mat-mdc-autocomplete-panel.mat-mdc-autocomplete-hidden{visibility:hidden;pointer-events:none}mat-autocomplete{display:none}"],encapsulation:2,data:{animation:[Bve]},changeDetection:0});let i=e;return i})();var Uve={provide:Ba,useExisting:kr(()=>av),multi:!0};var P5=new me("mat-autocomplete-scroll-strategy",{providedIn:"root",factory:()=>{let i=te($t);return()=>i.scrollStrategies.reposition()}});function Hve(i){return()=>i.scrollStrategies.reposition()}var Gve={provide:P5,deps:[$t],useFactory:Hve},av=(()=>{let e=class e{constructor(n,r,o,s,a,c,l,d,u,h,p){this._element=n,this._overlay=r,this._viewContainerRef=o,this._zone=s,this._changeDetectorRef=a,this._dir=l,this._formField=d,this._document=u,this._viewportRuler=h,this._defaults=p,this._componentDestroyed=!1,this._manuallyFloatingLabel=!1,this._viewportSubscription=Ct.EMPTY,this._breakpointObserver=te(Oh),this._handsetLandscapeSubscription=Ct.EMPTY,this._canOpenOnNextFocus=!0,this._closeKeyEventStream=new pe,this._windowBlurHandler=()=>{this._canOpenOnNextFocus=this._document.activeElement!==this._element.nativeElement||this.panelOpen},this._onChange=()=>{},this._onTouched=()=>{},this.position="auto",this.autocompleteAttribute="off",this._initialized=new pe,this._injector=te(vt),this._aboveClass="mat-mdc-autocomplete-panel-above",this._overlayAttached=!1,this.optionSelections=Po(()=>{let f=this.autocomplete?this.autocomplete.options:null;return f?f.changes.pipe(gi(f),Qn(()=>Zn(...f.map(m=>m.onSelectionChange)))):this._initialized.pipe(Qn(()=>this.optionSelections))}),this._handlePanelKeydown=f=>{(f.keyCode===27&&!bi(f)||f.keyCode===38&&bi(f,"altKey"))&&(this._pendingAutoselectedOption&&(this._updateNativeInputValue(this._valueBeforeAutoSelection??""),this._pendingAutoselectedOption=null),this._closeKeyEventStream.next(),this._resetActiveItem(),f.stopPropagation(),f.preventDefault())},this._trackedModal=null,this._scrollStrategy=c}ngAfterViewInit(){this._initialized.next(),this._initialized.complete();let n=this._getWindow();typeof n<"u"&&this._zone.runOutsideAngular(()=>n.addEventListener("blur",this._windowBlurHandler))}ngOnChanges(n){n.position&&this._positionStrategy&&(this._setStrategyPositions(this._positionStrategy),this.panelOpen&&this._overlayRef.updatePosition())}ngOnDestroy(){let n=this._getWindow();typeof n<"u"&&n.removeEventListener("blur",this._windowBlurHandler),this._handsetLandscapeSubscription.unsubscribe(),this._viewportSubscription.unsubscribe(),this._componentDestroyed=!0,this._destroyPanel(),this._closeKeyEventStream.complete(),this._clearFromModal()}get panelOpen(){return this._overlayAttached&&this.autocomplete.showPanel}openPanel(){this._openPanelInternal()}closePanel(){this._resetLabel(),this._overlayAttached&&(this.panelOpen&&this._zone.run(()=>{this.autocomplete.closed.emit()}),this.autocomplete._latestOpeningTrigger===this&&(this.autocomplete._isOpen=!1,this.autocomplete._latestOpeningTrigger=null),this._overlayAttached=!1,this._pendingAutoselectedOption=null,this._overlayRef&&this._overlayRef.hasAttached()&&(this._overlayRef.detach(),this._closingActionsSubscription.unsubscribe()),this._updatePanelState(),this._componentDestroyed||this._changeDetectorRef.detectChanges(),this._trackedModal&&Yc(this._trackedModal,"aria-owns",this.autocomplete.id))}updatePosition(){this._overlayAttached&&this._overlayRef.updatePosition()}get panelClosingActions(){return Zn(this.optionSelections,this.autocomplete._keyManager.tabOut.pipe(qt(()=>this._overlayAttached)),this._closeKeyEventStream,this._getOutsideClickStream(),this._overlayRef?this._overlayRef.detachments().pipe(qt(()=>this._overlayAttached)):Ke()).pipe(Je(n=>n instanceof $m?n:null))}get activeOption(){return this.autocomplete&&this.autocomplete._keyManager?this.autocomplete._keyManager.activeItem:null}_getOutsideClickStream(){return Zn(yn(this._document,"click"),yn(this._document,"auxclick"),yn(this._document,"touchend")).pipe(qt(n=>{let r=Ii(n),o=this._formField?this._formField.getConnectedOverlayOrigin().nativeElement:null,s=this.connectedTo?this.connectedTo.elementRef.nativeElement:null;return this._overlayAttached&&r!==this._element.nativeElement&&this._document.activeElement!==this._element.nativeElement&&(!o||!o.contains(r))&&(!s||!s.contains(r))&&!!this._overlayRef&&!this._overlayRef.overlayElement.contains(r)}))}writeValue(n){Promise.resolve(null).then(()=>this._assignOptionValue(n))}registerOnChange(n){this._onChange=n}registerOnTouched(n){this._onTouched=n}setDisabledState(n){this._element.nativeElement.disabled=n}_handleKeydown(n){let r=n.keyCode,o=bi(n);if(r===27&&!o&&n.preventDefault(),this._valueOnLastKeydown=this._element.nativeElement.value,this.activeOption&&r===13&&this.panelOpen&&!o)this.activeOption._selectViaInteraction(),this._resetActiveItem(),n.preventDefault();else if(this.autocomplete){let s=this.autocomplete._keyManager.activeItem,a=r===38||r===40;r===9||a&&!o&&this.panelOpen?this.autocomplete._keyManager.onKeydown(n):a&&this._canOpen()&&this._openPanelInternal(this._valueOnLastKeydown),(a||this.autocomplete._keyManager.activeItem!==s)&&(this._scrollToOption(this.autocomplete._keyManager.activeItemIndex||0),this.autocomplete.autoSelectActiveOption&&this.activeOption&&(this._pendingAutoselectedOption||(this._valueBeforeAutoSelection=this._valueOnLastKeydown),this._pendingAutoselectedOption=this.activeOption,this._assignOptionValue(this.activeOption.value)))}}_handleInput(n){let r=n.target,o=r.value;if(r.type==="number"&&(o=o==""?null:parseFloat(o)),this._previousValue!==o){if(this._previousValue=o,this._pendingAutoselectedOption=null,(!this.autocomplete||!this.autocomplete.requireSelection)&&this._onChange(o),!o)this._clearPreviousSelectedOption(null,!1);else if(this.panelOpen&&!this.autocomplete.requireSelection){let s=this.autocomplete.options?.find(a=>a.selected);if(s){let a=this._getDisplayValue(s.value);o!==a&&s.deselect(!1)}}if(this._canOpen()&&this._document.activeElement===n.target){let s=this._valueOnLastKeydown??this._element.nativeElement.value;this._valueOnLastKeydown=null,this._openPanelInternal(s)}}}_handleFocus(){this._canOpenOnNextFocus?this._canOpen()&&(this._previousValue=this._element.nativeElement.value,this._attachOverlay(this._previousValue),this._floatLabel(!0)):this._canOpenOnNextFocus=!0}_handleClick(){this._canOpen()&&!this.panelOpen&&this._openPanelInternal()}_floatLabel(n=!1){this._formField&&this._formField.floatLabel==="auto"&&(n?this._formField._animateAndLockLabel():this._formField.floatLabel="always",this._manuallyFloatingLabel=!0)}_resetLabel(){this._manuallyFloatingLabel&&(this._formField&&(this._formField.floatLabel="auto"),this._manuallyFloatingLabel=!1)}_subscribeToClosingActions(){let n=new Et(o=>{Hi(()=>{o.next()},{injector:this._injector})}),r=this.autocomplete.options.changes.pipe(En(()=>this._positionStrategy.reapplyLastPosition()),Vu(0));return Zn(n,r).pipe(Qn(()=>this._zone.run(()=>{let o=this.panelOpen;return this._resetActiveItem(),this._updatePanelState(),this._changeDetectorRef.detectChanges(),this.panelOpen&&this._overlayRef.updatePosition(),o!==this.panelOpen&&(this.panelOpen?this._emitOpened():this.autocomplete.closed.emit()),this.panelClosingActions})),_n(1)).subscribe(o=>this._setValueAndClose(o))}_emitOpened(){this.autocomplete.opened.emit()}_destroyPanel(){this._overlayRef&&(this.closePanel(),this._overlayRef.dispose(),this._overlayRef=null)}_getDisplayValue(n){let r=this.autocomplete;return r&&r.displayWith?r.displayWith(n):n}_assignOptionValue(n){let r=this._getDisplayValue(n);n==null&&this._clearPreviousSelectedOption(null,!1),this._updateNativeInputValue(r??"")}_updateNativeInputValue(n){this._formField?this._formField._control.value=n:this._element.nativeElement.value=n,this._previousValue=n}_setValueAndClose(n){let r=this.autocomplete,o=n?n.source:this._pendingAutoselectedOption;o?(this._clearPreviousSelectedOption(o),this._assignOptionValue(o.value),this._onChange(o.value),r._emitSelectEvent(o),this._element.nativeElement.focus()):r.requireSelection&&this._element.nativeElement.value!==this._valueOnAttach&&(this._clearPreviousSelectedOption(null),this._assignOptionValue(null),r._animationDone?r._animationDone.pipe(_n(1)).subscribe(()=>this._onChange(null)):this._onChange(null)),this.closePanel()}_clearPreviousSelectedOption(n,r){this.autocomplete?.options?.forEach(o=>{o!==n&&o.selected&&o.deselect(r)})}_openPanelInternal(n=this._element.nativeElement.value){if(this._attachOverlay(n),this._floatLabel(),this._trackedModal){let r=this.autocomplete.id;Lh(this._trackedModal,"aria-owns",r)}}_attachOverlay(n){this.autocomplete;let r=this._overlayRef;r?(this._positionStrategy.setOrigin(this._getConnectedElement()),r.updateSize({width:this._getPanelWidth()})):(this._portal=new Zr(this.autocomplete.template,this._viewContainerRef,{id:this._formField?.getLabelId()}),r=this._overlay.create(this._getOverlayConfig()),this._overlayRef=r,this._viewportSubscription=this._viewportRuler.change().subscribe(()=>{this.panelOpen&&r&&r.updateSize({width:this._getPanelWidth()})}),this._handsetLandscapeSubscription=this._breakpointObserver.observe(yy.HandsetLandscape).subscribe(s=>{s.matches?this._positionStrategy.withFlexibleDimensions(!0).withGrowAfterOpen(!0).withViewportMargin(8):this._positionStrategy.withFlexibleDimensions(!1).withGrowAfterOpen(!1).withViewportMargin(0)})),r&&!r.hasAttached()&&(r.attach(this._portal),this._valueOnAttach=n,this._valueOnLastKeydown=null,this._closingActionsSubscription=this._subscribeToClosingActions());let o=this.panelOpen;this.autocomplete._isOpen=this._overlayAttached=!0,this.autocomplete._latestOpeningTrigger=this,this.autocomplete._setColor(this._formField?.color),this._updatePanelState(),this._applyModalPanelOwnership(),this.panelOpen&&o!==this.panelOpen&&this._emitOpened()}_updatePanelState(){if(this.autocomplete._setVisibility(),this.panelOpen){let n=this._overlayRef;this._keydownSubscription||(this._keydownSubscription=n.keydownEvents().subscribe(this._handlePanelKeydown)),this._outsideClickSubscription||(this._outsideClickSubscription=n.outsidePointerEvents().subscribe())}else this._keydownSubscription?.unsubscribe(),this._outsideClickSubscription?.unsubscribe(),this._keydownSubscription=this._outsideClickSubscription=null}_getOverlayConfig(){return new fi({positionStrategy:this._getOverlayPosition(),scrollStrategy:this._scrollStrategy(),width:this._getPanelWidth(),direction:this._dir??void 0,panelClass:this._defaults?.overlayPanelClass})}_getOverlayPosition(){let n=this._overlay.position().flexibleConnectedTo(this._getConnectedElement()).withFlexibleDimensions(!1).withPush(!1);return this._setStrategyPositions(n),this._positionStrategy=n,n}_setStrategyPositions(n){let r=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],o=this._aboveClass,s=[{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom",panelClass:o},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom",panelClass:o}],a;this.position==="above"?a=s:this.position==="below"?a=r:a=[...r,...s],n.withPositions(a)}_getConnectedElement(){return this.connectedTo?this.connectedTo.elementRef:this._formField?this._formField.getConnectedOverlayOrigin():this._element}_getPanelWidth(){return this.autocomplete.panelWidth||this._getHostWidth()}_getHostWidth(){return this._getConnectedElement().nativeElement.getBoundingClientRect().width}_resetActiveItem(){let n=this.autocomplete;if(n.autoActiveFirstOption){let r=-1;for(let o=0;o .cdk-overlay-container [aria-modal="true"]');if(!n)return;let r=this.autocomplete.id;this._trackedModal&&Yc(this._trackedModal,"aria-owns",r),Lh(n,"aria-owns",r),this._trackedModal=n}_clearFromModal(){if(this._trackedModal){let n=this.autocomplete.id;Yc(this._trackedModal,"aria-owns",n),this._trackedModal=null}}};e.\u0275fac=function(r){return new(r||e)(M(Re),M($t),M(Zt),M(Fe),M(Ne),M(P5),M(di,8),M(J_,9),M(Xe,8),M(la),M(T5,8))},e.\u0275dir=Ve({type:e,selectors:[["input","matAutocomplete",""],["textarea","matAutocomplete",""]],hostAttrs:[1,"mat-mdc-autocomplete-trigger"],hostVars:7,hostBindings:function(r,o){r&1&&H("focusin",function(){return o._handleFocus()})("blur",function(){return o._onTouched()})("input",function(a){return o._handleInput(a)})("keydown",function(a){return o._handleKeydown(a)})("click",function(){return o._handleClick()}),r&2&&Ye("autocomplete",o.autocompleteAttribute)("role",o.autocompleteDisabled?null:"combobox")("aria-autocomplete",o.autocompleteDisabled?null:"list")("aria-activedescendant",o.panelOpen&&o.activeOption?o.activeOption.id:null)("aria-expanded",o.autocompleteDisabled?null:o.panelOpen.toString())("aria-controls",o.autocompleteDisabled||!o.panelOpen||o.autocomplete==null?null:o.autocomplete.id)("aria-haspopup",o.autocompleteDisabled?null:"listbox")},inputs:{autocomplete:[0,"matAutocomplete","autocomplete"],position:[0,"matAutocompletePosition","position"],connectedTo:[0,"matAutocompleteConnectedTo","connectedTo"],autocompleteAttribute:[0,"autocomplete","autocompleteAttribute"],autocompleteDisabled:[2,"matAutocompleteDisabled","autocompleteDisabled",et]},exportAs:["matAutocompleteTrigger"],standalone:!0,features:[Ft([Uve]),nn,dn]});let i=e;return i})(),O5=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=rt({type:e}),e.\u0275inj=it({providers:[Gve],imports:[oo,Uh,Ut,Ae,Jo,Uh,Ut]});let i=e;return i})();var sS="graphs://",R5="data-nexus://";var El=function(i){return i.TFLITE_MLIR="builtin_tflite_mlir",i.TFLITE_FLATBUFFER="builtin_tflite_flatbuffer",i.TF_MLIR="builtin_tf_mlir",i.TF_DIRECT="builtin_tf_direct",i.GRAPHDEF="builtin_graphdef",i.MLIR="builtin_mlir",i.JSON_LOADER="builtin_json",i.DATA_NEXUS="builtin_data_nexus",i}(El||{}),hR=function(i){return i.ADAPTER="adapter",i.NODE_DATA_PROVIDER="node_data_provider",i}(hR||{}),ri=function(i){return i.LOCAL="local",i.REMOTE="remote",i.DATA_NEXUS="data_nexus",i.GRAPH_JSONS_FROM_SERVER="graphs_json_from_server",i.FILE_PATH="file_path",i}(ri||{}),Bn=function(i){return i.NOT_STARTED="Not started",i.PROCESSING="Converting",i.UPLOADING="Uploading",i.DONE="Done",i.ERROR="Error",i}(Bn||{});var Wve=(i,e)=>e.id;function $ve(i,e){i&1&&(v(0,"span",4),S(1,"Default"),b())}function qve(i,e){if(i&1){let t=ne();v(0,"div",2),H("click",function(){let r=B(t).$implicit,o=I();return V(o.handleSelectCandidate(r))}),v(1,"div",3),S(2),$(3,$ve,2,0,"span",4),b(),v(4,"div",5),S(5),b()()}if(i&2){let t=e.$implicit,n=e.$index,r=I();re("selected",(r.selectedAdapter==null?null:r.selectedAdapter.id)===t.id),w(2),Se(" ",t.name||t.id," "),w(),oe(n===0?3:-1),w(2),Se(" ",t.description||"-"," ")}}var A5=(()=>{class i{candidates=[];selectedAdapter;onClose=new Ie;handleSelectCandidate(t){this.onClose.next(t)}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=ce({type:i,selectors:[["adapter-selector-panel"]],inputs:{candidates:"candidates",selectedAdapter:"selectedAdapter"},outputs:{onClose:"onClose"},standalone:!0,features:[le],decls:3,vars:1,consts:[[1,"container"],[1,"candidate-container",3,"selected"],[1,"candidate-container",3,"click"],[1,"name"],[1,"default-label"],[1,"description"]],template:function(n,r){n&1&&(v(0,"div",0),rn(1,qve,6,5,"div",1,Wve),b()),n&2&&(R("@transformPanel","showing"),w(),on(r.candidates))},dependencies:[Ae,ma,tt,ga,Xt,br],styles:[`.container[_ngcontent-%COMP%]{box-shadow:0 2px 6px 2px #00000026,0 1px 2px #0000004d;transform-origin:top center;font-size:13px;padding:8px 0;border-radius:8px;background-color:#fff}.container[_ngcontent-%COMP%] .candidate-container[_ngcontent-%COMP%]{padding:8px 16px}.container[_ngcontent-%COMP%] .candidate-container.selected[_ngcontent-%COMP%]{background-color:#c2e7ff}.container[_ngcontent-%COMP%] .candidate-container[_ngcontent-%COMP%]:hover:not(.selected){background-color:#f2f2f2;cursor:pointer}.container[_ngcontent-%COMP%] .candidate-container[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{font-size:14px;color:#1f1f1f;line-height:20px;margin-bottom:2px;display:flex;align-items:center}.container[_ngcontent-%COMP%] .candidate-container[_ngcontent-%COMP%] .name[_ngcontent-%COMP%] .default-label[_ngcontent-%COMP%]{display:inline-block;padding:0 10px;box-sizing:border-box;background-color:#f3e0b4;color:#70571e;border:1px solid #dbac41;font-size:11px;line-height:14px;border-radius:99px;margin-left:8px}.container[_ngcontent-%COMP%] .candidate-container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{font-size:12px;color:#444746} @@ -4180,7 +4181,25 @@ Alt+click: select`;getNamespaceLabel=cd;constValuesPopupSize={minWidth:100,minHe -`],changeDetection:0})}return i})();var jve=(i,e)=>e.name;function Wve(i,e){if(i&1){let t=ie();v(0,"div",11),H("click",function(){V(t);let r=I().$implicit;return z(r.expanded=!r.expanded)}),v(1,"mat-icon"),S(2,"unfold_more"),b()()}}function $ve(i,e){if(i&1&&(v(0,"div",3)(1,"div",6),S(2),b(),v(3,"div",7),S(4),b(),v(5,"div",8)(6,"div",9),S(7),b(),W(8,Wve,3,0,"div",10),b()()),i&2){let t=e.$implicit;w(2),nt(t.name),w(2),nt(t.copyright),w(),se("expanded",t.expanded),w(2),nt(t.license),w(),ae(t.expanded?-1:8)}}var P5=(()=>{class i{libs=[{name:"Angular",copyright:"Copyright (c) 2010-2024 Google LLC.",license:`The MIT License +`],data:{animation:[li("transformPanel",[vi("void",Kt({opacity:0,transform:"scale(1, 0.8)"})),An("void => showing",Rn("120ms cubic-bezier(0, 0, 0.2, 1)",Kt({opacity:1,transform:"scale(1, 1)"}))),An("* => void",Rn("100ms linear",Kt({opacity:0})))])]},changeDetection:0})}return i})();function cv(i,e,t){let n=i.split("/").filter(s=>s!==""),o=n[n.length-1].split(".");if(!t&&i.startsWith("http"))return e.getExtensionsForHttpUrls();if(o.length>1){let s=o[o.length-1];return e.getExtensionsByFileExt(s)}return!t&&$C(i)?e.getExtensionsForGoogleStorageDir():[]}var Yve="/api/v1/get_extensions",Xve="/api/v1/send_command",Zve="/apipost/v1/send_command",bf=(()=>{class i{loading=ct(!0);internalColab=hf;extensions=[];constructor(){this.loadExtensions()}sendCommandToExtension(t){return It(this,null,function*(){try{let n;if(this.internalColab){let r=`${Xve}?json=${JSON.stringify(t)}`;n=yield fetch(r)}else{let r={method:"POST",headers:{"Content-Type":"application/json"}};r.body=JSON.stringify(t),n=yield fetch(Zve,r)}return n.ok?{cmdResp:yield n.json()}:{otherError:`Failed to convert model. ${n.status}`}}catch(n){return{otherError:n}}})}loadExtensions(){return It(this,null,function*(){let t=[];t=yield this.getExtensionsForExternal(),this.extensions=t,this.loading.set(!1)})}getExtensionsForExternal(){return It(this,null,function*(){try{let t=yield fetch(Yve,{credentials:"include"});return t.ok?yield t.json():(console.error(`Failed to get extensions: ${t.status}`),[])}catch(t){return console.error("Failed to get extensions.",t),[]}})}static \u0275fac=function(n){return new(n||i)};static \u0275prov=J({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();var fR=class{registry={};getExtensionsByFileExt(e){return this.registry[e]||[]}getExtensionById(e){for(let t of Object.values(this.registry))for(let n of t)if(n.id===e)return n}getExtensionsForGoogleStorageDir(){let e=[];for(let t of Object.values(this.registry))for(let n of t)n.matchGoogleStorageDir&&!e.includes(n)&&e.push(n);return e}getExtensionsForHttpUrls(){let e=[];for(let t of Object.values(this.registry))for(let n of t)n.matchHttpUrl&&e.push(n);return e}register(e){for(let t of e.fileExts){this.registry[t]==null&&(this.registry[t]=[]);let n=this.registry[t];if(n.find(r=>r.id===e.id)!=null){console.warn("Adapter extension exists",e);continue}n.push(e)}}},N5=(()=>{class i extends fR{extensionService;constructor(t){super(),this.extensionService=t,lt(()=>{if(!this.extensionService.loading())for(let n of this.extensionService.extensions)n.type===hR.ADAPTER&&this.register(n)})}static \u0275fac=function(n){return new(n||i)(X(bf))};static \u0275prov=J({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();var Kr=function(i){return i.DATA="data",i.RENDERER="renderer",i.SHOW_OPEN_IN_NEW_TAB="show_open_in_new_tab",i.BENCHMARK="benchmark",i.ENABLE_SUBGRAPH_SELECTION="ess",i.ENABLE_EXPORT_TO_RESOURCE="eetr",i.INTERNAL_COLAB="internal_colab",i}(Kr||{}),aS=(()=>{class i{router;models=[];nodeData=[];syncNavigation;nodeDataTargets=[];uiState;prevQueryParamStr="";renderer="webgl";showOpenInNewTab=!1;internalColab=!1;benchmark=!1;enableSubgraphSelection=!1;enableExportToResource=!1;constructor(t){this.router=t,this.decodeUrl()}setModels(t){this.models=t,this.updateUrl()}getModels(){return this.models}setUiState(t){this.uiState=t,this.updateUrl()}getUiState(){return this.uiState}getNodeDataSources(){return this.nodeData||[]}setNodeDataSources(t){this.nodeData=t,this.updateUrl()}getSyncNavigation(){return this.syncNavigation}setSyncNavigation(t){this.syncNavigation=t,this.updateUrl()}getNodeDataTargets(){return this.nodeDataTargets||[]}setNodeDataTargets(t){this.nodeDataTargets=t,this.updateUrl()}updateUrl(){let t={};if(this.benchmark)t[Kr.BENCHMARK]="1";else{let r={models:this.models,nodeData:this.nodeData,nodeDataTargets:this.nodeDataTargets,uiState:this.uiState,sync:this.syncNavigation};t[Kr.DATA]=JSON.stringify(r),t[Kr.RENDERER]=this.renderer,t[Kr.SHOW_OPEN_IN_NEW_TAB]=this.showOpenInNewTab?"1":"0",t[Kr.INTERNAL_COLAB]=this.internalColab?"1":"0",t[Kr.ENABLE_SUBGRAPH_SELECTION]=this.enableSubgraphSelection?"1":"0",t[Kr.ENABLE_EXPORT_TO_RESOURCE]=this.enableExportToResource?"1":"0"}let n=JSON.stringify(t);n!==this.prevQueryParamStr&&(this.prevQueryParamStr=n,this.router.navigate([],{queryParams:t,queryParamsHandling:"",replaceUrl:!1}))}decodeUrl(){let t=new URLSearchParams(document.location.search),n=t.get(Kr.DATA);if(n){let o=JSON.parse(n),s=o,a=o;a.modelUrl!=null&&(s={models:[{url:a.modelUrl}],uiState:{paneStates:[{deepestExpandedGroupNodeIds:a.deepestExpandedGroupNodeIds||[],selectedNodeId:a.selectedNodeId||"",selectedGraphId:a.selectedGraphId||"",selectedCollectionLabel:"",widthFraction:1}]}}),this.models=s.models,this.uiState=s.uiState,this.nodeData=s.nodeData,this.syncNavigation=s.sync,this.nodeDataTargets=s.nodeDataTargets}let r=t.get(Kr.RENDERER);this.renderer=r||"webgl",this.showOpenInNewTab=t.get(Kr.SHOW_OPEN_IN_NEW_TAB)==="1",this.internalColab=t.get(Kr.INTERNAL_COLAB)==="1",this.enableSubgraphSelection=t.get(Kr.ENABLE_SUBGRAPH_SELECTION)==="1",this.enableExportToResource=t.get(Kr.ENABLE_EXPORT_TO_RESOURCE)==="1",this.benchmark=t.get(Kr.BENCHMARK)==="1"}static \u0275fac=function(n){return new(n||i)(X(_h))};static \u0275prov=J({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();var Kve=["modelPathInput"];function Jve(i,e){if(i&1){let t=ne();v(0,"mat-option",22)(1,"div",31),S(2),v(3,"div",32)(4,"div",33),H("click",function(r){let o=B(t).$index,s=I();return V(s.handleEditAutocompleteModelPath(r,o))}),v(5,"mat-icon"),S(6,"edit"),b()(),v(7,"div",33),H("click",function(r){let o=B(t).$index,s=I();return V(s.handleClickDeleteAutocompleteModelPath(r,o))}),v(8,"mat-icon"),S(9,"delete"),b()()()()()}if(i&2){let t=e.$implicit;R("value",t),w(2),Se(" ",t," ")}}function e0e(i,e){i&1&&(v(0,"div",25),S(1,"or"),b())}function t0e(i,e){if(i&1){let t=ne();v(0,"button",34),H("click",function(){B(t),I();let r=ve(40);return V(r.click())}),S(1," Select from your computer "),b()}if(i&2){let t=I();R("disabled",t.hasReachedMaxModelsCount||t.loading())}}function n0e(i,e){i&1&&(v(0,"div",28),S(1," You have selected maximum number of models "),b())}function i0e(i,e){i&1&&ee(0,"mat-spinner",44)}function r0e(i,e){if(i&1&&(v(0,"div",50),S(1),b()),i&2){let t=I(2).$implicit;w(),Se(" ",t.errorMessage," ")}}function o0e(i,e){if(i&1&&(v(0,"div",49)(1,"mat-icon"),S(2,"info"),b()(),$(3,r0e,2,1,"ng-template",null,6,Tt)),i&2){let t=ve(4),n=I(3);R("bubble",t)("overlaySize",n.errorInfoPopupSize)("hoverDelayMs",50)}}function s0e(i,e){if(i&1){let t=ne();v(0,"div",51,7),H("click",function(){B(t);let r=ve(1),o=I().$implicit,s=I(2);return V(s.handleClickOpenAdapterDropdown(o,r))}),v(2,"div",52),S(3),b(),v(4,"mat-icon"),S(5,"arrow_drop_down"),b()()}if(i&2){let t=I().$implicit,n=I(2);re("disabled",n.loading()),w(3),Se(" ",n.getSelectedAdapterName(t)," ")}}function a0e(i,e){i&1&&(v(0,"div",47),S(1," No supported adapter "),b())}function c0e(i,e){if(i&1){let t=ne();v(0,"tr")(1,"td")(2,"div",40)(3,"mat-checkbox",41,5),H("change",function(r){let o=B(t).$implicit,s=I(2);return V(s.handleModelSelectionChanged(o,r.checked))}),b(),v(5,"div",42),H("click",function(){let r=B(t).$implicit,o=ve(4),s=I(2);return V(s.handleModelSelectionChanged(r,!o.checked))}),S(6),b()()(),v(7,"td")(8,"div",43),$(9,i0e,1,0,"mat-spinner",44),v(10,"div",45),S(11),b(),$(12,o0e,5,3),b()(),v(13,"td"),$(14,s0e,6,3,"div",46)(15,a0e,2,0,"div",47),b(),v(16,"td")(17,"button",48),H("click",function(){let r=B(t).index,o=I(2);return V(o.handleDeleteModel(r))}),v(18,"mat-icon"),S(19,"delete"),b()()()()}if(i&2){let t=e.$implicit,n=I(2);w(2),re("disabled",!n.hasSupportedAdapter(t)),w(),R("checked",t.selected)("disabled",!n.hasSupportedAdapter(t)||n.loading()),w(2),re("disabled",!n.hasSupportedAdapter(t)||n.loading()),w(),Se(" ",t.path," "),w(3),oe(n.showSpinner(t)?9:-1),w(),re("done",t.status()===n.ModelItemStatus.DONE)("error",n.hasError(t)),w(),Se(" ",n.getModelItemStatusString(t)," "),w(),oe(n.hasError(t)?12:-1),w(2),oe(n.hasSupportedAdapter(t)?14:15),w(3),R("disabled",n.loading())}}function l0e(i,e){if(i&1&&(v(0,"div",29)(1,"table")(2,"thead")(3,"tr")(4,"th",35),S(5,"Model name"),b(),v(6,"th"),S(7,"Status"),b(),v(8,"th")(9,"div",36),S(10," Adapter "),v(11,"div",37)(12,"mat-icon",38),S(13,"help_outline"),b()()()(),v(14,"th"),S(15,"Delete"),b()()(),v(16,"tbody"),$(17,c0e,20,16,"tr",39),b()()()),i&2){let t=I(),n=ve(47);w(11),R("bubble",n)("overlayPositions",t.adapterHelpPopupPosition)("hoverDelayMs",100),w(6),R("ngForOf",t.modelItems)("ngForTrackBy",t.trackByModelData)}}function d0e(i,e){if(i&1){let t=ne();v(0,"div",30)(1,"div",53)(2,"button",54),H("click",function(){B(t);let r=I();return V(r.handleDeselectAllModels())}),v(3,"mat-icon"),S(4,"close"),b()(),S(5),b(),v(6,"button",55),H("click",function(){B(t);let r=I();return V(r.handleClickViewSelectedModels())}),S(7," View selected models "),b()()}if(i&2){let t=I();w(),re("hide",t.selectedModelsCount===0),w(),R("disabled",t.loading()),w(3),Se(" ",t.selectedModelsCount," selected "),w(),R("disabled",t.selectedModelsCount===0||t.loading())}}function u0e(i,e){i&1&&(v(0,"div",56)(1,"div"),S(2," Support TF, TFL and StableHLO dialect. "),b()())}function h0e(i,e){i&1&&(v(0,"div",57)(1,"span",58),S(2,"Adapters"),b(),S(3,' transform model files into an intermediate format that Model Explorer can understand and visualize. For certain model types, multiple adapters may exist, offering different transformation approaches. The "default" adapter should cover the majority of common scenarios. '),ee(4,"br")(5,"br"),S(6," You can also create your own "),v(7,"span",58),S(8,"adapter extensions"),b(),S(9," to add support for more model formats. See "),v(10,"a",59),S(11,"this guide"),b(),S(12," for instructions. "),b())}var mR=10,gR="model_explorer_model_paths",L5=50,F5=(()=>{class i{changeDetectorRef;adapterExtensionService;destroyRef;localStorageService;modelLoaderService;overlay;urlService;viewContainerRef;modelPathInput;matAutocompleteTrigger;curFilePath=new vr("");modelItems=[];modelInputAutocompleteOptions=[];filteredModelInputAutocompleteOptions=[];ModelItemStatus=Bn;modelFormatHelpPopupSize={maxWidth:400,minHeight:0};errorInfoPopupSize={minHeight:0};adapterHelpPopupPosition=[{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom",offsetY:-4}];loading=ct(!1);hasUploadedModels=ct(!1);internalColab=hf;portal=null;constructor(t,n,r,o,s,a,c,l){this.changeDetectorRef=t,this.adapterExtensionService=n,this.destroyRef=r,this.localStorageService=o,this.modelLoaderService=s,this.overlay=a,this.urlService=c,this.viewContainerRef=l,this.curFilePath.valueChanges.pipe(Ei(this.destroyRef)).subscribe(d=>{this.updateFilteredAutocompleteOptions()}),this.modelInputAutocompleteOptions=this.loadSavedModelPathsForAutocomplete(),this.updateFilteredAutocompleteOptions()}startProcessingModelSource(t){this.modelItems=t.map(n=>{if(n.url.startsWith(sS)){let r=this.adapterExtensionService.getExtensionById(El.JSON_LOADER),o=r==null?[]:[r];return{path:n.url,type:ri.GRAPH_JSONS_FROM_SERVER,status:ct(Bn.NOT_STARTED),selected:o.length>0,adapterCandidates:o,selectedAdapter:r}}else if(n.url.startsWith(R5)){let r=this.adapterExtensionService.getExtensionById(El.DATA_NEXUS),o=r==null?[]:[r];return{path:n.url,type:ri.DATA_NEXUS,status:ct(Bn.NOT_STARTED),selected:!0,adapterCandidates:o,selectedAdapter:r}}else{let r=cv(n.url,this.adapterExtensionService,!0),o=this.adapterExtensionService.getExtensionById(n.converterId||n.adapterId||"");return o||(o=r.length>0?r[0]:void 0),{path:n.url,type:ri.FILE_PATH,status:ct(Bn.NOT_STARTED),selected:r.length>0,adapterCandidates:r,selectedAdapter:o}}}),this.changeDetectorRef.detectChanges(),this.modelItems.some(n=>n.selected)&&this.handleClickViewSelectedModels()}startWithUrlEncodedData(t,n){if(t){let r=this.adapterExtensionService.getExtensionById(El.JSON_LOADER);if(!r)return;this.addModelItems([{path:"",type:ri.GRAPH_JSONS_FROM_SERVER,status:ct(Bn.NOT_STARTED),selected:!0,adapterCandidates:[r],selectedAdapter:r}])}if(n.length>0){let r=n.map(o=>{let s=cv(o,this.adapterExtensionService,!0);return{path:o,type:ri.FILE_PATH,status:ct(Bn.NOT_STARTED),selected:s.length>0,adapterCandidates:s,selectedAdapter:s.length>0?s[0]:void 0}});this.addModelItems(r),this.addPathsToAutocompleteHistory(n),this.updateFilteredAutocompleteOptions()}this.changeDetectorRef.detectChanges(),t&&n.length===0&&this.handleClickViewSelectedModels()}handleClickAddEnteredModelPath(){return It(this,null,function*(){yield new Promise(r=>{setTimeout(r)});let t=this.curFilePath.value;if(t==null)return;let n=t.trim().split(",").filter(r=>r.trim()!=="").map(r=>{let o=cv(r,this.adapterExtensionService,!0);return{path:r,type:this.isInternal?ri.REMOTE:ri.FILE_PATH,status:ct(Bn.NOT_STARTED),selected:o.length>0,adapterCandidates:o,selectedAdapter:o.length>0?o[0]:void 0}});this.addModelItems(n),this.addPathsToAutocompleteHistory(n.map(r=>r.path)),this.curFilePath.setValue(""),setTimeout(()=>{this.matAutocompleteTrigger?.closePanel(),this.modelPathInput.nativeElement.blur()})})}handleAutocompleteOptionSelected(t){this.disableAddEnteredModelPathButton||(t.option.deselect(),this.handleClickAddEnteredModelPath())}handleModelSelectionChanged(t,n){t.selected=n}handleDeleteModel(t){this.modelItems.splice(t,1),this.changeDetectorRef.markForCheck()}handleDeselectAllModels(){for(let t of this.modelItems)t.selected=!1}handleEditAutocompleteModelPath(t,n){t.stopPropagation(),this.curFilePath.setValue(this.modelInputAutocompleteOptions[n].path),this.modelPathInput.nativeElement.focus()}handleClickDeleteAutocompleteModelPath(t,n){t.stopPropagation(),this.modelInputAutocompleteOptions.splice(n,1),this.updateFilteredAutocompleteOptions(),this.localStorageService.setItem(gR,JSON.stringify(this.modelInputAutocompleteOptions))}handleClickUpload(t){let n=t.files;if(!n)return;let r=[];for(let o=0;o0,adapterCandidates:c,selectedAdapter:c.length>0?c[0]:void 0}):n.push({path:o.name,type:ri.LOCAL,status:ct(Bn.NOT_STARTED),selected:c.length>0,file:o,adapterCandidates:c,selectedAdapter:c.length>0?c[0]:void 0})}this.addModelItems(n)}handleClickOpenAdapterDropdown(t,n){let r=t.selectedAdapter?.id,o=this.createOverlay(n),s=o.attach(this.portal);s.instance.selectedAdapter=t.selectedAdapter,s.instance.candidates=t.adapterCandidates||[],s.instance.onClose.subscribe(a=>{o.dispose(),a?.id!==r&&t.errorMessage!=null&&(t.status.set(Bn.NOT_STARTED),t.errorMessage=void 0,t.selected=!0),t.selectedAdapter=a,this.changeDetectorRef.markForCheck()})}handleClickViewSelectedModels(){this.loading.set(!0);let t=this.modelItems.filter(n=>n.selected);this.modelLoaderService.loadModels(t).then(()=>{this.loading.set(!1)}),this.urlService.setUiState(void 0),this.urlService.setModels(t.filter(n=>n.type===ri.REMOTE||n.type===ri.GRAPH_JSONS_FROM_SERVER||n.type===ri.FILE_PATH).map(n=>({url:n.path,adapterId:n.selectedAdapter?.id}))),this.hasUploadedModels.set(t.some(n=>n.type===ri.LOCAL))}trackByModelData(t,n){return`${n.path}_${n.file?.size}_${n.file?.lastModified}`}isNotStarted(t){return t.status()===Bn.NOT_STARTED}getSelectedAdapterName(t){return t.selectedAdapter==null?"?":(t.adapterCandidates||[]).indexOf(t.selectedAdapter)===0?"Default":t.selectedAdapter?.name||"?"}hasSupportedAdapter(t){return(t.adapterCandidates||[]).length>0}hasMultipleSupportedAdapters(t){return(t.adapterCandidates||[]).length>1}showSpinner(t){return t.status()===Bn.PROCESSING||t.status()===Bn.UPLOADING}hasError(t){return t.status()===Bn.ERROR}getModelItemStatusString(t){let n=t.status();return n===Bn.UPLOADING?"Processing":n}get disableAddEnteredModelPathButton(){if(this.hasReachedMaxModelsCount)return!0;if(this.isInternal){let t=(this.curFilePath.value||"").toLowerCase().trim();return t!==""&&!$C(t)&&!t.startsWith("http")||t===""}else{let t=(this.curFilePath.value||"").trim();return t===""||t!==""&&!t.startsWith("/")&&!t.startsWith("~")}}get isInternal(){return!!0}get isExternal(){return!0}get selectedModelsCount(){return this.modelItems.filter(t=>t.selected).length}get hasReachedMaxModelsCount(){return this.modelItems.length===mR}get modelPathInputPlaceholder(){return"Absolute file paths (recommended for large models)"}updateFilteredAutocompleteOptions(){let n=(this.curFilePath.value||"").toLowerCase();this.filteredModelInputAutocompleteOptions=this.modelInputAutocompleteOptions.filter(r=>r.path.toLowerCase().includes(n)).map(r=>r.path),this.changeDetectorRef.markForCheck()}addPathsToAutocompleteHistory(t){let n=this.loadSavedModelPathsForAutocomplete();for(let r of t){let o=n.findIndex(s=>s.path===r);if(o>=0){let s=n.splice(o,1);s&&s.length>0&&(s[0].ts=Date.now(),n.unshift(s[0]))}else n.unshift({path:r,ts:Date.now()})}n.length>L5&&n.splice(L5),this.localStorageService.setItem(gR,JSON.stringify(n)),this.modelInputAutocompleteOptions=n}addModelItems(t){let n=t.filter(r=>this.modelItems.find(o=>o.path===r.path&&o.file?.size===r.file?.size&&o.file?.lastModified===r.file?.lastModified)==null);this.modelItems.push(...n),this.modelItems.length>mR&&this.modelItems.splice(mR),this.changeDetectorRef.markForCheck()}loadSavedModelPathsForAutocomplete(){return JSON.parse(this.localStorageService.getItem(gR)||"[]")}createOverlay(t){let n=new fi({positionStrategy:this.overlay.position().flexibleConnectedTo(t).withPositions([{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"}]),hasBackdrop:!0,backdropClass:"cdk-overlay-transparent-backdrop",scrollStrategy:this.overlay.scrollStrategies.reposition(),maxWidth:"380px",panelClass:"graph-selector-panel"}),r=this.overlay.create(n);return this.portal=new Ai(A5,this.viewContainerRef),r.backdropClick().subscribe(()=>{r.dispose()}),r}static \u0275fac=function(n){return new(n||i)(M(Ne),M(N5),M(Fi),M(no),M("ModelLoaderService"),M($t),M(aS),M(Zt))};static \u0275cmp=ce({type:i,selectors:[["model-source-input"]],viewQuery:function(n,r){if(n&1&&(Ee(Kve,5),Ee(av,5)),n&2){let o;be(o=ye())&&(r.modelPathInput=o.first),be(o=ye())&&(r.matAutocompleteTrigger=o.first)}},standalone:!0,features:[le],decls:48,vars:16,consts:[["auto","matAutocomplete"],["modelPathInput",""],["uploadInput",""],["externalMlirHelp",""],["adapterHelp",""],["checkbox",""],["errorInfo",""],["selector",""],[1,"container"],[1,"content"],[1,"title"],[1,"description-container"],[1,"description"],["href","https://www.tensorflow.org/","target","_blank"],["href","https://www.tensorflow.org/lite","target","_blank"],["href","https://www.tensorflow.org/js","target","_blank"],["href","https://www.tensorflow.org/guide/jax2tf","target","_blank"],["href","https://github.com/google-ai-edge/model-explorer/wiki/2.-User-Guide#how-to-select-pytorch-models","target","_blank"],[1,"help-trigger","external",3,"bubble","overlaySize","hoverDelayMs"],[1,"source-input-container"],[1,"input-container"],[1,"model-path-autocomplete",3,"optionSelected"],[3,"value"],[3,"keydown.enter","placeholder","formControl","matAutocomplete"],["mat-raised-button","",1,"btn-add-model-path",3,"click","disabled"],[1,"or-label"],["mat-flat-button","",1,"btn-upload",3,"disabled"],["type","file","multiple","",1,"upload-input",3,"change"],[1,"model-count-warning"],[1,"models-table"],[1,"table-action-bar"],[1,"option-container"],[1,"icons-container"],[1,"mat-icon-container",3,"click"],["mat-flat-button","",1,"btn-upload",3,"click","disabled"],[1,"model-name-col"],[1,"adapter-header"],[1,"icon-container",3,"bubble","overlayPositions","hoverDelayMs"],["fontSet","google-material-icons"],[4,"ngFor","ngForOf","ngForTrackBy"],[1,"model-name-container"],[3,"change","checked","disabled"],[1,"model-path",3,"click"],[1,"model-status-container"],["color","primary","diameter","16"],[1,"model-status-label-container"],[1,"selected-adapter-container",3,"disabled"],[1,"no-supported-adapter-msg"],["mat-icon-button","",1,"btn-delete-model-item",3,"click","disabled"],[1,"error-info-container",3,"bubble","overlaySize","hoverDelayMs"],[1,"model-explorer-error-info-popup"],[1,"selected-adapter-container",3,"click"],[1,"selected-adapter-label"],[1,"selection-status"],["mat-icon-button","",1,"btn-deselect-all",3,"click","disabled"],["mat-flat-button","","color","primary",1,"btn-view-models",3,"click","disabled"],[1,"model-explorer-model-format-help-popup"],[1,"model-explorer-adapter-help-popup"],[1,"bold"],["href","https://github.com/google-ai-edge/model-explorer/wiki/6.-Develop-Adapter-Extension","target","_blank"]],template:function(n,r){if(n&1){let o=ne();v(0,"div",8)(1,"div",9)(2,"div",10),S(3," Select Models "),b(),v(4,"div",11)(5,"div",12),S(6," Select models from your comupter or enter the file paths directly (up to 10 in total)."),ee(7,"br"),S(8," Supported model formats: "),v(9,"a",13),S(10,"TF"),b(),S(11," (.pb, .pbtxt, .graphdef), "),v(12,"a",14),S(13,"TFLite"),b(),S(14," (.tflite), "),v(15,"a",15),S(16,"TFJS"),b(),S(17," (.json), "),v(18,"a",16),S(19,"JAX"),b(),S(20," (.pb), "),v(21,"a",17),S(22,"PyTorch ExportedProgram"),b(),S(23," (.pt2), "),v(24,"span",18),S(25," MLIR "),b(),S(26," (.mlir, .mlirbc). "),b()(),v(27,"div",19)(28,"div",20)(29,"mat-autocomplete",21,0),H("optionSelected",function(a){return B(o),V(r.handleAutocompleteOptionSelected(a))}),rn(31,Jve,10,2,"mat-option",22,gr),b(),v(33,"input",23,1),H("keydown.enter",function(){return B(o),V(!r.disableAddEnteredModelPathButton&&r.handleClickAddEnteredModelPath())}),b(),v(35,"button",24),H("click",function(){return B(o),V(r.handleClickAddEnteredModelPath())}),S(36," Add "),b()(),$(37,e0e,2,0,"div",25)(38,t0e,2,1,"button",26),v(39,"input",27,2),H("change",function(){B(o);let a=ve(40);return V(r.handleClickUpload(a))}),b()(),$(41,n0e,2,0,"div",28)(42,l0e,18,5,"div",29),b(),$(43,d0e,8,5,"div",30),b(),$(44,u0e,3,0,"ng-template",null,3,Tt)(46,h0e,13,0,"ng-template",null,4,Tt)}if(n&2){let o=ve(30),s=ve(45);w(),re("no-models",r.modelItems.length===0),w(23),R("bubble",s)("overlaySize",r.modelFormatHelpPopupSize)("hoverDelayMs",50),w(3),re("reverse",r.isExternal),w(4),on(r.filteredModelInputAutocompleteOptions),w(2),R("placeholder",r.modelPathInputPlaceholder)("formControl",r.curFilePath)("matAutocomplete",o),w(2),R("disabled",r.disableAddEnteredModelPathButton||r.loading()),w(2),oe(r.internalColab?-1:37),w(),oe(r.internalColab?-1:38),w(3),oe(r.hasReachedMaxModelsCount?41:-1),w(),oe(r.modelItems.length>0?42:-1),w(),oe(r.modelItems.length>0?43:-1)}},dependencies:[Hn,Ae,Mi,O5,D5,Zc,av,xn,Ti,Wo,FC,LC,ma,ao,fa,ga,Xt,tt,pt,br,Xs,Ho,vo],styles:[`.container[_ngcontent-%COMP%]{width:100%;height:100%;box-sizing:border-box;display:flex;align-items:flex-start;flex-direction:column;border:1px solid #dadce0;border-radius:8px;overflow:hidden}.container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{width:100%;box-sizing:border-box;padding:24px 24px 0;overflow:hidden;display:flex;flex-direction:column}.container[_ngcontent-%COMP%] .content.no-models[_ngcontent-%COMP%]{padding-bottom:24px}.container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{color:#1f1f1f;font-size:24px}.container[_ngcontent-%COMP%] .description-container[_ngcontent-%COMP%]{color:#444746;font-size:14px;margin-top:8px}.container[_ngcontent-%COMP%] .description-container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{line-height:20px}.container[_ngcontent-%COMP%] .description-container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%] .tfhub[_ngcontent-%COMP%]{display:inline-block;text-decoration:underline;text-decoration-color:#aaa;cursor:help}.container[_ngcontent-%COMP%] .description-container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%] .help-trigger[_ngcontent-%COMP%]{display:inline-block;margin-right:6px;text-decoration:underline;text-decoration-color:#aaa;cursor:help}.container[_ngcontent-%COMP%] .description-container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%] .help-trigger.external[_ngcontent-%COMP%]{margin-right:0}.container[_ngcontent-%COMP%] .description-container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:inherit}.container[_ngcontent-%COMP%] .source-input-container[_ngcontent-%COMP%]{display:flex;height:56px;box-sizing:border-box;width:100%;margin-top:8px;padding:8px 0;align-items:center;flex-shrink:0}.container[_ngcontent-%COMP%] .source-input-container.reverse[_ngcontent-%COMP%]{flex-direction:row-reverse}.container[_ngcontent-%COMP%] .source-input-container[_ngcontent-%COMP%] .input-container[_ngcontent-%COMP%]{height:100%;box-sizing:border-box;background-color:#f0f4f9;border-radius:99px;flex-grow:1;display:flex;align-items:center;padding-left:18px}.container[_ngcontent-%COMP%] .source-input-container[_ngcontent-%COMP%] .input-container[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{height:100%;flex-grow:1;border:none;outline:none;background-color:transparent;color:#444746;font-size:14px;margin-right:16px}.container[_ngcontent-%COMP%] .source-input-container[_ngcontent-%COMP%] .input-container[_ngcontent-%COMP%] .btn-add-model-path[_ngcontent-%COMP%]{background-color:#fff;border-radius:99px;color:#0b57d0;height:40px}.container[_ngcontent-%COMP%] .source-input-container[_ngcontent-%COMP%] .input-container[_ngcontent-%COMP%] .btn-add-model-path[disabled][_ngcontent-%COMP%]{background-color:#1f1f1f1f;color:#1f1f1f61}.container[_ngcontent-%COMP%] .source-input-container[_ngcontent-%COMP%] .or-label[_ngcontent-%COMP%]{font-size:14px;margin:0 20px;color:#5f6368}.container[_ngcontent-%COMP%] .source-input-container[_ngcontent-%COMP%] .btn-upload[_ngcontent-%COMP%]{height:100%;background-color:#c2e7ff;border-radius:99px;color:#001d35}.container[_ngcontent-%COMP%] .source-input-container[_ngcontent-%COMP%] .btn-upload[disabled][_ngcontent-%COMP%]{background-color:#1f1f1f1f;color:#1f1f1f61}.container[_ngcontent-%COMP%] .source-input-container[_ngcontent-%COMP%] .upload-input[_ngcontent-%COMP%]{display:none}.container[_ngcontent-%COMP%] .model-count-warning[_ngcontent-%COMP%]{color:#ab6c17;background-color:#ffefd9;margin:4px 0;width:fit-content;padding:2px 9px;border-radius:4px;font-size:13px;font-weight:500}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%]{width:100%;color:#1f1f1f;font-size:14px;margin-top:18px;overflow:hidden auto}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%]{width:100%;border-spacing:0;border-collapse:collapse;padding:0}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%]{position:sticky;top:0;z-index:100;box-shadow:inset 0 -1px #c4c7c5;background-color:#fff}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] .model-name-col[_ngcontent-%COMP%]{width:100%}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] .adapter-header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:4px}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] .adapter-header[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]{display:flex;align-items:center;cursor:pointer;opacity:.8}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] .adapter-header[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]:hover{opacity:1}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] .adapter-header[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px;color:#777}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{height:49px;text-align:left;padding:0;font-weight:500}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]{height:49px;text-align:left;padding:0}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:not(:last-child){border-bottom:1px solid #c4c7c5}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:0}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .model-name-container[_ngcontent-%COMP%]{display:flex;align-items:center;padding-left:12px;margin-right:12px;word-break:break-all}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .model-name-container.disabled[_ngcontent-%COMP%]{pointer-events:none}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .model-name-container[_ngcontent-%COMP%] mat-checkbox[_ngcontent-%COMP%]{margin-right:2px}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .model-name-container[_ngcontent-%COMP%] .model-path[_ngcontent-%COMP%]{cursor:pointer;line-height:16px;padding:8px 0}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .model-name-container[_ngcontent-%COMP%] .model-path.disabled[_ngcontent-%COMP%]{pointer-events:none}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .selected-adapter-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;cursor:pointer;height:48px;margin-right:24px;white-space:nowrap}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .selected-adapter-container.disabled[_ngcontent-%COMP%]{opacity:.5;pointer-events:none}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .selected-adapter-container[_ngcontent-%COMP%]:hover mat-icon[_ngcontent-%COMP%]{opacity:1}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .selected-adapter-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{opacity:.7}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .no-supported-adapter-msg[_ngcontent-%COMP%]{color:#ab6c17;background-color:#ffefd9;padding:2px 8px;width:fit-content;border-radius:4px;font-size:12px;margin-right:24px;white-space:nowrap;font-weight:500}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .model-status-container[_ngcontent-%COMP%]{display:flex;align-items:center;margin-right:32px}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .model-status-container[_ngcontent-%COMP%] mat-spinner[_ngcontent-%COMP%]{margin-right:4px}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .model-status-container[_ngcontent-%COMP%] .model-status-label-container[_ngcontent-%COMP%]{font-size:12px;padding:2px 8px;background-color:#f1f3f4;display:flex;align-items:center;justify-content:center;color:#3c4043;width:fit-content;border-radius:4px;white-space:nowrap;font-weight:500}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .model-status-container[_ngcontent-%COMP%] .model-status-label-container.done[_ngcontent-%COMP%]{color:#0d652d;background-color:#e6f4ea}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .model-status-container[_ngcontent-%COMP%] .model-status-label-container.error[_ngcontent-%COMP%]{color:#a50e0e;background-color:#fce8e6}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .model-status-container[_ngcontent-%COMP%] .error-info-container[_ngcontent-%COMP%]{width:20px;display:flex;align-items:center;justify-content:center;margin-left:4px;cursor:pointer}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .model-status-container[_ngcontent-%COMP%] .error-info-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{width:20px;height:20px;font-size:20px}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .btn-delete-model-item[_ngcontent-%COMP%]{width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .btn-delete-model-item[disabled][_ngcontent-%COMP%]{opacity:.5}.container[_ngcontent-%COMP%] .models-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .btn-delete-model-item[_ngcontent-%COMP%] mat-icon{font-size:20px;width:20px;height:20px;color:#444746}.container[_ngcontent-%COMP%] .table-action-bar[_ngcontent-%COMP%]{flex-shrink:0;height:60px;width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;background-color:#f0f4f9;padding:0 24px 0 38px}.container[_ngcontent-%COMP%] .table-action-bar[_ngcontent-%COMP%] .selection-status[_ngcontent-%COMP%]{display:flex;align-items:center;font-size:14px;color:#444746}.container[_ngcontent-%COMP%] .table-action-bar[_ngcontent-%COMP%] .selection-status.hide[_ngcontent-%COMP%]{visibility:hidden}.container[_ngcontent-%COMP%] .table-action-bar[_ngcontent-%COMP%] .btn-deselect-all[_ngcontent-%COMP%]{width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center}.container[_ngcontent-%COMP%] .table-action-bar[_ngcontent-%COMP%] .btn-deselect-all[_ngcontent-%COMP%] mat-icon{font-size:20px;width:20px;height:20px;color:#444746}.container[_ngcontent-%COMP%] .table-action-bar[_ngcontent-%COMP%] .btn-view-models[_ngcontent-%COMP%]{height:40px;border-radius:99px}.container[_ngcontent-%COMP%] .instructions-container[_ngcontent-%COMP%]{font-size:13px;color:#555;margin-top:24px;display:none}.container[_ngcontent-%COMP%] .instructions-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:18px;width:18px;height:18px;margin-right:4px}.container[_ngcontent-%COMP%] .instructions-container[_ngcontent-%COMP%] .instruction-title[_ngcontent-%COMP%]{display:flex;align-items:center}.container[_ngcontent-%COMP%] .instructions-container[_ngcontent-%COMP%] .instruction-title[_ngcontent-%COMP%] .model-format[_ngcontent-%COMP%]{color:#333;margin-right:4px;margin-left:4px;border:1px solid #ccc;border-radius:4px;padding:2px 4px;cursor:pointer}.container[_ngcontent-%COMP%] .instructions-container[_ngcontent-%COMP%] .instruction-title[_ngcontent-%COMP%] .model-format[_ngcontent-%COMP%]:hover{background-color:#eee} .model-explorer-upload-help-popup{padding:12px;font-weight:400;color:#555;line-height:14px;font-size:12px;font-family:Google Sans Text,Arial,Helvetica,sans-serif} .model-explorer-adapter-help-popup{padding:12px;font-weight:400;color:#555;line-height:15px;font-size:12px;font-family:Google Sans Text,Arial,Helvetica,sans-serif} .model-explorer-adapter-help-popup .bold{font-weight:700} .model-explorer-model-format-help-popup{padding:12px;font-weight:400;color:#555;line-height:15px;font-size:12px;font-family:Google Sans Text,Arial,Helvetica,sans-serif;letter-spacing:normal} .model-explorer-model-format-help-popup a{color:inherit} .model-explorer-model-format-help-popup .example{margin-top:8px;color:#aaa} .model-explorer-model-format-help-popup .example ul{margin:4px 0;padding-inline-start:28px} .model-explorer-model-format-help-popup .example li{margin-top:4px} .model-explorer-model-format-help-popup .info{display:inline-block;background-color:#ffd1a8} .model-explorer-error-info-popup{padding:12px;font-weight:400;background-color:#f0f4f9;line-height:14px;font-size:12px;font-family:Google Sans Text,Arial,Helvetica,sans-serif} .model-path-autocomplete mat-option{min-height:13px;font-size:13px;line-height:13px;padding-top:5px;padding-bottom:5px} .model-path-autocomplete mat-option:hover .option-container .mat-icon-container{visibility:visible} .model-path-autocomplete mat-option>span{width:100%} .model-path-autocomplete mat-option .option-container{width:100%;display:flex;align-items:center;justify-content:space-between;word-break:break-all} .model-path-autocomplete mat-option .option-container .icons-container{display:flex;align-items:center;gap:4px;min-width:50px;justify-content:flex-end} .model-path-autocomplete mat-option .option-container .mat-icon-container{visibility:hidden;display:flex;align-items:center;justify-content:center;opacity:.6;width:18px} .model-path-autocomplete mat-option .option-container .mat-icon-container:hover{opacity:1} .model-path-autocomplete mat-option .option-container .mat-icon-container mat-icon{font-size:18px;width:18px;height:18px} + + + + + + + + + + + + + + + + + +`],changeDetection:0})}return i})();var p0e=(i,e)=>e.name;function f0e(i,e){if(i&1){let t=ne();v(0,"div",11),H("click",function(){B(t);let r=I().$implicit;return V(r.expanded=!r.expanded)}),v(1,"mat-icon"),S(2,"unfold_more"),b()()}}function m0e(i,e){if(i&1&&(v(0,"div",3)(1,"div",6),S(2),b(),v(3,"div",7),S(4),b(),v(5,"div",8)(6,"div",9),S(7),b(),$(8,f0e,3,0,"div",10),b()()),i&2){let t=e.$implicit;w(2),st(t.name),w(2),st(t.copyright),w(),re("expanded",t.expanded),w(2),st(t.license),w(),oe(t.expanded?-1:8)}}var B5=(()=>{class i{libs=[{name:"Angular",copyright:"Copyright (c) 2010-2024 Google LLC.",license:`The MIT License Copyright (c) 2010-2024 Google LLC. https://angular.io/license @@ -4264,7 +4283,7 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE.`}];static \u0275fac=function(n){return new(n||i)};static \u0275cmp=le({type:i,selectors:[["open-source-libs-dialog"]],standalone:!0,features:[ce],decls:9,vars:0,consts:[["mat-dialog-title",""],[1,"title"],["mat-dialog-content","",1,"dialog-content"],[1,"lib-container"],["mat-dialog-actions","","align","end"],["mat-button","","mat-dialog-close",""],[1,"name"],[1,"copyright"],[1,"license-container"],[1,"license-content"],[1,"icon-container"],[1,"icon-container",3,"click"]],template:function(n,r){n&1&&(v(0,"div",0)(1,"div",1),S(2,"Open source libraries"),b()(),v(3,"div",2),ln(4,$ve,9,6,"div",3,jve),b(),v(6,"div",4)(7,"button",5),S(8,"Close"),b()()),n&2&&(w(4),cn(r.libs))},dependencies:[Ae,In,zi,ma,cf,df,hf,uf,it,_t],styles:[`*[_ngcontent-%COMP%]:not(mat-icon){font-family:Google Sans Text,Arial,Helvetica,sans-serif!important;letter-spacing:normal!important}.title[_ngcontent-%COMP%]{font-size:24px;font-weight:500;margin-top:-16px}.dialog-content[_ngcontent-%COMP%]{padding-bottom:0}.lib-container[_ngcontent-%COMP%]{margin:18px 0}.lib-container[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{font-size:16px;font-weight:700;color:#333}.lib-container[_ngcontent-%COMP%] .copyright[_ngcontent-%COMP%]{font-size:12px;color:#777}.lib-container[_ngcontent-%COMP%] .license-container[_ngcontent-%COMP%]{width:520px;font-size:11px;border:1px solid #ccc;margin-top:8px;background-color:#f9f9f9;height:100px;overflow:hidden;position:relative}.lib-container[_ngcontent-%COMP%] .license-container.expanded[_ngcontent-%COMP%]{height:fit-content}.lib-container[_ngcontent-%COMP%] .license-container[_ngcontent-%COMP%] .license-content[_ngcontent-%COMP%]{white-space:pre-wrap;line-height:14px;padding:8px;overflow:hidden;height:100%;box-sizing:border-box}.lib-container[_ngcontent-%COMP%] .license-container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]{position:absolute;right:8px;top:8px;cursor:pointer;opacity:.8}.lib-container[_ngcontent-%COMP%] .license-container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]:hover{opacity:1} +THE SOFTWARE.`}];static \u0275fac=function(n){return new(n||i)};static \u0275cmp=ce({type:i,selectors:[["open-source-libs-dialog"]],standalone:!0,features:[le],decls:9,vars:0,consts:[["mat-dialog-title",""],[1,"title"],["mat-dialog-content","",1,"dialog-content"],[1,"lib-container"],["mat-dialog-actions","","align","end"],["mat-button","","mat-dialog-close",""],[1,"name"],[1,"copyright"],[1,"license-container"],[1,"license-content"],[1,"icon-container"],[1,"icon-container",3,"click"]],template:function(n,r){n&1&&(v(0,"div",0)(1,"div",1),S(2,"Open source libraries"),b()(),v(3,"div",2),rn(4,m0e,9,6,"div",3,p0e),b(),v(6,"div",4)(7,"button",5),S(8,"Close"),b()()),n&2&&(w(4),on(r.libs))},dependencies:[Ae,xn,Ti,_a,pf,ff,gf,mf,tt,pt],styles:[`*[_ngcontent-%COMP%]:not(mat-icon){font-family:Google Sans Text,Arial,Helvetica,sans-serif!important;letter-spacing:normal!important}.title[_ngcontent-%COMP%]{font-size:24px;font-weight:500;margin-top:-16px}.dialog-content[_ngcontent-%COMP%]{padding-bottom:0}.lib-container[_ngcontent-%COMP%]{margin:18px 0}.lib-container[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{font-size:16px;font-weight:700;color:#333}.lib-container[_ngcontent-%COMP%] .copyright[_ngcontent-%COMP%]{font-size:12px;color:#777}.lib-container[_ngcontent-%COMP%] .license-container[_ngcontent-%COMP%]{width:520px;font-size:11px;border:1px solid #ccc;margin-top:8px;background-color:#f9f9f9;height:100px;overflow:hidden;position:relative}.lib-container[_ngcontent-%COMP%] .license-container.expanded[_ngcontent-%COMP%]{height:fit-content}.lib-container[_ngcontent-%COMP%] .license-container[_ngcontent-%COMP%] .license-content[_ngcontent-%COMP%]{white-space:pre-wrap;line-height:14px;padding:8px;overflow:hidden;height:100%;box-sizing:border-box}.lib-container[_ngcontent-%COMP%] .license-container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]{position:absolute;right:8px;top:8px;cursor:pointer;opacity:.8}.lib-container[_ngcontent-%COMP%] .license-container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]:hover{opacity:1} @@ -4282,7 +4301,7 @@ THE SOFTWARE.`}];static \u0275fac=function(n){return new(n||i)};static \u0275cmp -`]})}return i})();function qve(i,e){i&1&&(S(0," When "),v(1,"a",19),S(2,"View tensor shape on edge"),b(),S(3," is turned on, Model Explorer will try to position the shape along the edge curve. When the edge is close to vertical, the shape may be hard to read. Enabling this option will force the shapes to be rendered horizontally in such situations to improve readbility. "))}function Yve(i,e){if(i&1&&S(0),i&2){let t=I(3).$implicit;Me(" ",t.help," ")}}function Xve(i,e){if(i&1&&(v(0,"div",18),W(1,qve,4,0)(2,Yve,1,1),b()),i&2){let t=I(2).$implicit;w(),ae(t.key==="disallow_vertical_edge_labels"?1:2)}}function Zve(i,e){if(i&1&&(v(0,"div",16)(1,"mat-icon",17),S(2,"help_outline"),b()(),W(3,Xve,3,1,"ng-template",null,0,kt)),i&2){let t=ve(4),n=I(2);N("bubble",t)("overlaySize",n.helpPopupSize)("overlayPositions",n.helpPopupPosition)("hoverDelayMs",100)}}function Qve(i,e){if(i&1){let t=ie();so(0),v(1,"mat-slide-toggle",20),H("change",function(r){V(t);let o=I().$implicit,s=I();return z(s.settingsService.saveBooleanValue(r.checked,o.key))}),b(),ao()}if(i&2){let t=I().$implicit,n=I();w(),N("checked",n.settingsService.getBooleanValue(t))}}function Kve(i,e){if(i&1){let t=ie();so(0),v(1,"input",21,1),H("focus",function(){V(t);let r=ve(2);return z(r.select())})("change",function(){V(t);let r=ve(2),o=I().$implicit,s=I();return z(s.settingsService.saveNumberValue(r.valueAsNumber,o.key))}),b(),v(3,"div",22),H("click",function(){V(t);let r=I().$implicit,o=I();return z(o.handleClickResetToDefaultNumber(r))}),S(4,"Reset to default"),b(),ao()}if(i&2){let t=I().$implicit,n=I();w(),N("value",n.settingsService.getNumberValue(t))}}function Jve(i,e){if(i&1){let t=ie();so(0),v(1,"textarea",21,1),H("focus",function(){V(t);let r=ve(2);return z(r.select())})("change",function(){V(t);let r=ve(2),o=I().$implicit,s=I();return z(s.settingsService.saveStringValue(r.value,o.key))}),b(),v(3,"div",22),H("click",function(){V(t);let r=I().$implicit,o=I();return z(o.handleClickResetToDefaultText(r))}),S(4,"Reset to default"),b(),ao()}if(i&2){let t=I().$implicit,n=I();w(),N("value",n.settingsService.getStringValue(t))}}function e0e(i,e){if(i&1){let t=ie();so(0),v(1,"div",23)(2,"label")(3,"input",24,2),H("change",function(){V(t);let r=ve(4),o=I().$implicit,s=I();return z(s.settingsService.saveStringValue(r.value,o.key))}),b()(),v(5,"input",25,3),H("change",function(){V(t);let r=ve(4),o=I().$implicit,s=I();return z(s.settingsService.saveStringValue(r.value,o.key))}),b()(),v(7,"div",22),H("click",function(){V(t);let r=I().$implicit,o=I();return z(o.handleClickResetToDefaultText(r))}),S(8,"Reset to default"),b(),ao()}if(i&2){let t=I().$implicit,n=I();w(2),tn("background-color",n.settingsService.getStringValue(t)),w(),N("value",n.settingsService.getStringValue(t)),w(2),N("value",n.settingsService.getStringValue(t))}}function t0e(i,e){if(i&1&&(v(0,"div",12),so(1,13),v(2,"div",14),S(3),W(4,Zve,5,4),b(),W(5,Qve,2,1,"ng-container",15)(6,Kve,5,1,"ng-container",15)(7,Jve,5,1,"ng-container",15)(8,e0e,9,4,"ng-container",15),ao(),b()),i&2){let t=e.$implicit,n=I();w(),N("ngSwitch",t.type),w(2),Me(" ",t.label," "),w(),ae(t.help?4:-1),w(),N("ngSwitchCase",n.SettingType.BOOLEAN),w(),N("ngSwitchCase",n.SettingType.NUMBER),w(),N("ngSwitchCase",n.SettingType.TEXT_MULTILINE),w(),N("ngSwitchCase",n.SettingType.COLOR)}}var O5=(()=>{class i{settingsService;SettingType=no;helpPopupSize={minWidth:0,minHeight:0,maxWidth:340};helpPopupPosition=[{originX:"end",originY:"top",overlayX:"start",overlayY:"top",offsetX:4}];constructor(t){this.settingsService=t}allSettings=rS;handleClickResetToDefaultText(t){this.settingsService.saveStringValue(t.defaultValue,t.key)}handleClickResetToDefaultNumber(t){this.settingsService.saveNumberValue(t.defaultValue,t.key)}static \u0275fac=function(n){return new(n||i)(M(ff))};static \u0275cmp=le({type:i,selectors:[["settings-dialog"]],standalone:!0,features:[ce],decls:11,vars:1,consts:[["helpPopup",""],["input",""],["colorPicker",""],["colorInput",""],["mat-dialog-title","",1,"title-container"],[1,"title"],[1,"local-storage-info"],["mat-dialog-content","",1,"dialog-content"],[1,"settings-container"],["class","setting-item",4,"ngFor","ngForOf"],["mat-dialog-actions","","align","end",1,"buttons-container"],["mat-button","","mat-dialog-close",""],[1,"setting-item"],[3,"ngSwitch"],[1,"setting-label"],[4,"ngSwitchCase"],[1,"icon-container",3,"bubble","overlaySize","overlayPositions","hoverDelayMs"],["fontSet","google-material-icons"],[1,"model-explorer-settings-help-popup"],["href","https://github.com/google-ai-edge/model-explorer/wiki/2.-User-Guide#overlay-data-on-nodesedges","target","_blank"],[3,"change","checked"],["type","number",3,"focus","change","value"],[1,"reset",3,"click"],[1,"color-picker-container"],["type","color",3,"change","value"],["type","text",3,"change","value"]],template:function(n,r){n&1&&(v(0,"div",4)(1,"div",5),S(2,"Advanced settings"),b(),v(3,"div",6),S(4," Settings are stored in current browser's local storage "),b()(),v(5,"div",7)(6,"div",8),W(7,t0e,9,7,"div",9),b()(),v(8,"div",10)(9,"button",11),S(10,"Close"),b()()),n&2&&(w(7),N("ngForOf",r.allSettings))},dependencies:[$n,Ae,Si,i1,hL,In,zi,ma,cf,df,hf,uf,it,_t,GC,HC],styles:[`*[_ngcontent-%COMP%]:not(mat-icon){font-family:Google Sans Text,Arial,Helvetica,sans-serif}.title-container[_ngcontent-%COMP%]{border-bottom:1px solid #ddd}.title[_ngcontent-%COMP%]{font-size:24px;font-weight:500;margin-top:-16px}.local-storage-info[_ngcontent-%COMP%]{font-size:12px;color:#777;margin-top:6px}.dialog-content[_ngcontent-%COMP%]{padding-bottom:0}.settings-container[_ngcontent-%COMP%]{font-size:13px;color:#000;margin-top:20px;margin-bottom:10px}.setting-item[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:24px}.setting-item[_ngcontent-%COMP%] .setting-label[_ngcontent-%COMP%]{line-height:16px;margin-bottom:4px;width:100%;display:flex;align-items:center;justify-content:space-between}.setting-item[_ngcontent-%COMP%] .setting-label[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]{width:16px;height:16px;margin-left:12px;opacity:.4;cursor:pointer}.setting-item[_ngcontent-%COMP%] .setting-label[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]:hover{opacity:.6}.setting-item[_ngcontent-%COMP%] .setting-label[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px}.setting-item[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .setting-item[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{box-sizing:border-box;width:100%}.setting-item[_ngcontent-%COMP%] input[_ngcontent-%COMP%]::-webkit-outer-spin-button, .setting-item[_ngcontent-%COMP%] input[_ngcontent-%COMP%]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.setting-item[_ngcontent-%COMP%] .reset[_ngcontent-%COMP%]{color:#999;cursor:pointer;margin-top:2px;text-decoration:underline;-webkit-user-select:none;user-select:none}.setting-item[_ngcontent-%COMP%] .reset[_ngcontent-%COMP%]:hover{color:#777}.color-picker-container[_ngcontent-%COMP%]{display:flex;align-items:center;overflow:hidden;border-radius:2px;border:1px solid rgb(118,118,118);width:100%;background-color:#fff;box-sizing:border-box;height:24px;position:relative}.color-picker-container[_ngcontent-%COMP%]:focus-within{border-color:#1a73e8;outline:1px solid #1a73e8}.color-picker-container[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:inline-block;width:16px;height:16px;margin:2px;background-color:red;border-radius:4px;cursor:pointer;border:1px solid #ddd}.color-picker-container[_ngcontent-%COMP%] label[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{visibility:hidden}.color-picker-container[_ngcontent-%COMP%] input[type=text][_ngcontent-%COMP%]{border:none;height:100%;background-color:transparent;outline:none}.buttons-container[_ngcontent-%COMP%]{border-top:1px solid #ddd} .model-explorer-settings-help-popup{font-size:12px;padding:8px;background-color:#fff;line-height:normal} .model-explorer-settings-help-popup .bold{font-weight:700} +`]})}return i})();function g0e(i,e){i&1&&(S(0," When "),v(1,"a",19),S(2,"View tensor shape on edge"),b(),S(3," is turned on, Model Explorer will try to position the shape along the edge curve. When the edge is close to vertical, the shape may be hard to read. Enabling this option will force the shapes to be rendered horizontally in such situations to improve readbility. "))}function _0e(i,e){if(i&1&&S(0),i&2){let t=I(3).$implicit;Se(" ",t.help," ")}}function v0e(i,e){if(i&1&&(v(0,"div",18),$(1,g0e,4,0)(2,_0e,1,1),b()),i&2){let t=I(2).$implicit;w(),oe(t.key==="disallow_vertical_edge_labels"?1:2)}}function b0e(i,e){if(i&1&&(v(0,"div",16)(1,"mat-icon",17),S(2,"help_outline"),b()(),$(3,v0e,3,1,"ng-template",null,0,Tt)),i&2){let t=ve(4),n=I(2);R("bubble",t)("overlaySize",n.helpPopupSize)("overlayPositions",n.helpPopupPosition)("hoverDelayMs",100)}}function y0e(i,e){if(i&1){let t=ne();ho(0),v(1,"mat-slide-toggle",20),H("change",function(r){B(t);let o=I().$implicit,s=I();return V(s.settingsService.saveBooleanValue(r.checked,o.key))}),b(),po()}if(i&2){let t=I().$implicit,n=I();w(),R("checked",n.settingsService.getBooleanValue(t))}}function x0e(i,e){if(i&1){let t=ne();ho(0),v(1,"input",21,1),H("focus",function(){B(t);let r=ve(2);return V(r.select())})("change",function(){B(t);let r=ve(2),o=I().$implicit,s=I();return V(s.settingsService.saveNumberValue(r.valueAsNumber,o.key))}),b(),v(3,"div",22),H("click",function(){B(t);let r=I().$implicit,o=I();return V(o.handleClickResetToDefaultNumber(r))}),S(4,"Reset to default"),b(),po()}if(i&2){let t=I().$implicit,n=I();w(),R("value",n.settingsService.getNumberValue(t))}}function w0e(i,e){if(i&1){let t=ne();ho(0),v(1,"textarea",21,1),H("focus",function(){B(t);let r=ve(2);return V(r.select())})("change",function(){B(t);let r=ve(2),o=I().$implicit,s=I();return V(s.settingsService.saveStringValue(r.value,o.key))}),b(),v(3,"div",22),H("click",function(){B(t);let r=I().$implicit,o=I();return V(o.handleClickResetToDefaultText(r))}),S(4,"Reset to default"),b(),po()}if(i&2){let t=I().$implicit,n=I();w(),R("value",n.settingsService.getStringValue(t))}}function C0e(i,e){if(i&1){let t=ne();ho(0),v(1,"div",23)(2,"label")(3,"input",24,2),H("change",function(){B(t);let r=ve(4),o=I().$implicit,s=I();return V(s.settingsService.saveStringValue(r.value,o.key))}),b()(),v(5,"input",25,3),H("change",function(){B(t);let r=ve(4),o=I().$implicit,s=I();return V(s.settingsService.saveStringValue(r.value,o.key))}),b()(),v(7,"div",22),H("click",function(){B(t);let r=I().$implicit,o=I();return V(o.handleClickResetToDefaultText(r))}),S(8,"Reset to default"),b(),po()}if(i&2){let t=I().$implicit,n=I();w(2),Jt("background-color",n.settingsService.getStringValue(t)),w(),R("value",n.settingsService.getStringValue(t)),w(2),R("value",n.settingsService.getStringValue(t))}}function S0e(i,e){if(i&1&&(v(0,"div",12),ho(1,13),v(2,"div",14),S(3),$(4,b0e,5,4),b(),$(5,y0e,2,1,"ng-container",15)(6,x0e,5,1,"ng-container",15)(7,w0e,5,1,"ng-container",15)(8,C0e,9,4,"ng-container",15),po(),b()),i&2){let t=e.$implicit,n=I();w(),R("ngSwitch",t.type),w(2),Se(" ",t.label," "),w(),oe(t.help?4:-1),w(),R("ngSwitchCase",n.SettingType.BOOLEAN),w(),R("ngSwitchCase",n.SettingType.NUMBER),w(),R("ngSwitchCase",n.SettingType.TEXT_MULTILINE),w(),R("ngSwitchCase",n.SettingType.COLOR)}}var V5=(()=>{class i{settingsService;SettingType=co;helpPopupSize={minWidth:0,minHeight:0,maxWidth:340};helpPopupPosition=[{originX:"end",originY:"top",overlayX:"start",overlayY:"top",offsetX:4}];constructor(t){this.settingsService=t}allSettings=oS;handleClickResetToDefaultText(t){this.settingsService.saveStringValue(t.defaultValue,t.key)}handleClickResetToDefaultNumber(t){this.settingsService.saveNumberValue(t.defaultValue,t.key)}static \u0275fac=function(n){return new(n||i)(M(vf))};static \u0275cmp=ce({type:i,selectors:[["settings-dialog"]],standalone:!0,features:[le],decls:11,vars:1,consts:[["helpPopup",""],["input",""],["colorPicker",""],["colorInput",""],["mat-dialog-title","",1,"title-container"],[1,"title"],[1,"local-storage-info"],["mat-dialog-content","",1,"dialog-content"],[1,"settings-container"],["class","setting-item",4,"ngFor","ngForOf"],["mat-dialog-actions","","align","end",1,"buttons-container"],["mat-button","","mat-dialog-close",""],[1,"setting-item"],[3,"ngSwitch"],[1,"setting-label"],[4,"ngSwitchCase"],[1,"icon-container",3,"bubble","overlaySize","overlayPositions","hoverDelayMs"],["fontSet","google-material-icons"],[1,"model-explorer-settings-help-popup"],["href","https://github.com/google-ai-edge/model-explorer/wiki/2.-User-Guide#overlay-data-on-nodesedges","target","_blank"],[3,"change","checked"],["type","number",3,"focus","change","value"],[1,"reset",3,"click"],[1,"color-picker-container"],["type","color",3,"change","value"],["type","text",3,"change","value"]],template:function(n,r){n&1&&(v(0,"div",4)(1,"div",5),S(2,"Advanced settings"),b(),v(3,"div",6),S(4," Settings are stored in current browser's local storage "),b()(),v(5,"div",7)(6,"div",8),$(7,S0e,9,7,"div",9),b()(),v(8,"div",10)(9,"button",11),S(10,"Close"),b()()),n&2&&(w(7),R("ngForOf",r.allSettings))},dependencies:[Hn,Ae,Mi,i1,mL,xn,Ti,_a,pf,ff,gf,mf,tt,pt,jC,GC],styles:[`*[_ngcontent-%COMP%]:not(mat-icon){font-family:Google Sans Text,Arial,Helvetica,sans-serif}.title-container[_ngcontent-%COMP%]{border-bottom:1px solid #ddd}.title[_ngcontent-%COMP%]{font-size:24px;font-weight:500;margin-top:-16px}.local-storage-info[_ngcontent-%COMP%]{font-size:12px;color:#777;margin-top:6px}.dialog-content[_ngcontent-%COMP%]{padding-bottom:0}.settings-container[_ngcontent-%COMP%]{font-size:13px;color:#000;margin-top:20px;margin-bottom:10px}.setting-item[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:24px}.setting-item[_ngcontent-%COMP%] .setting-label[_ngcontent-%COMP%]{line-height:16px;margin-bottom:4px;width:100%;display:flex;align-items:center;justify-content:space-between}.setting-item[_ngcontent-%COMP%] .setting-label[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]{width:16px;height:16px;margin-left:12px;opacity:.4;cursor:pointer}.setting-item[_ngcontent-%COMP%] .setting-label[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]:hover{opacity:.6}.setting-item[_ngcontent-%COMP%] .setting-label[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px}.setting-item[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .setting-item[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{box-sizing:border-box;width:100%}.setting-item[_ngcontent-%COMP%] input[_ngcontent-%COMP%]::-webkit-outer-spin-button, .setting-item[_ngcontent-%COMP%] input[_ngcontent-%COMP%]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.setting-item[_ngcontent-%COMP%] .reset[_ngcontent-%COMP%]{color:#999;cursor:pointer;margin-top:2px;text-decoration:underline;-webkit-user-select:none;user-select:none}.setting-item[_ngcontent-%COMP%] .reset[_ngcontent-%COMP%]:hover{color:#777}.color-picker-container[_ngcontent-%COMP%]{display:flex;align-items:center;overflow:hidden;border-radius:2px;border:1px solid rgb(118,118,118);width:100%;background-color:#fff;box-sizing:border-box;height:24px;position:relative}.color-picker-container[_ngcontent-%COMP%]:focus-within{border-color:#1a73e8;outline:1px solid #1a73e8}.color-picker-container[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:inline-block;width:16px;height:16px;margin:2px;background-color:red;border-radius:4px;cursor:pointer;border:1px solid #ddd}.color-picker-container[_ngcontent-%COMP%] label[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{visibility:hidden}.color-picker-container[_ngcontent-%COMP%] input[type=text][_ngcontent-%COMP%]{border:none;height:100%;background-color:transparent;outline:none}.buttons-container[_ngcontent-%COMP%]{border-top:1px solid #ddd} .model-explorer-settings-help-popup{font-size:12px;padding:8px;background-color:#fff;line-height:normal} .model-explorer-settings-help-popup .bold{font-weight:700} @@ -4300,7 +4319,7 @@ THE SOFTWARE.`}];static \u0275fac=function(n){return new(n||i)};static \u0275cmp -`]})}return i})();var R5=(()=>{class i{static \u0275fac=function(n){return new(n||i)};static \u0275cmp=le({type:i,selectors:[["welcome-card"]],standalone:!0,features:[ce],decls:13,vars:0,consts:[[1,"container"],[1,"left"],[1,"title"],[1,"description"],[1,"doc-links-container"],[1,"doc-link"],["href","https://github.com/google-ai-edge/model-explorer","target","_blank"],[1,"doc-text"]],template:function(n,r){n&1&&(v(0,"div",0)(1,"div",1)(2,"div",2),S(3," Welcome to Model Explorer "),b(),v(4,"div",3),S(5," A modern model graph visualizer and debugger "),b(),v(6,"div",4)(7,"div",5)(8,"a",6)(9,"mat-icon"),S(10,"open_in_new"),b(),v(11,"span",7),S(12,"Learn more from GitHub"),b()()()()()())},dependencies:[Ae,it,_t],styles:[`.container[_ngcontent-%COMP%]{width:100%;height:100%;box-sizing:border-box;border:1px solid #dadce0;border-radius:8px;padding:24px;display:flex;justify-content:space-between}.container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{color:#1f1f1f;font-size:24px}.container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{color:#3c4043;margin-top:8px;font-size:14px}.container[_ngcontent-%COMP%] .doc-links-container[_ngcontent-%COMP%]{margin-top:24px}.container[_ngcontent-%COMP%] .doc-link[_ngcontent-%COMP%]{font-size:14px;color:#0b57d0;cursor:pointer;opacity:.8;margin-bottom:8px}.container[_ngcontent-%COMP%] .doc-link[_ngcontent-%COMP%] .doc-text[_ngcontent-%COMP%]{color:#0b57d0}.container[_ngcontent-%COMP%] .doc-link[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{display:flex;align-items:center;text-decoration:none}.container[_ngcontent-%COMP%] .doc-link[_ngcontent-%COMP%] [_ngcontent-%COMP%]:hover{opacity:1}.container[_ngcontent-%COMP%] .doc-link[_ngcontent-%COMP%] [_ngcontent-%COMP%]:hover .doc-text[_ngcontent-%COMP%]{text-decoration:underline}.container[_ngcontent-%COMP%] .doc-link[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:18px;width:18px;height:18px;margin-right:8px;color:#0b57d0}.container[_ngcontent-%COMP%] .video-container[_ngcontent-%COMP%]{width:430px;height:100%;border-radius:8px;background-color:#f1f1f1;display:flex;align-items:center;justify-content:center;color:#999;font-size:13px} +`]})}return i})();var z5=(()=>{class i{static \u0275fac=function(n){return new(n||i)};static \u0275cmp=ce({type:i,selectors:[["welcome-card"]],standalone:!0,features:[le],decls:13,vars:0,consts:[[1,"container"],[1,"left"],[1,"title"],[1,"description"],[1,"doc-links-container"],[1,"doc-link"],["href","https://github.com/google-ai-edge/model-explorer","target","_blank"],[1,"doc-text"]],template:function(n,r){n&1&&(v(0,"div",0)(1,"div",1)(2,"div",2),S(3," Welcome to Model Explorer "),b(),v(4,"div",3),S(5," A modern model graph visualizer and debugger "),b(),v(6,"div",4)(7,"div",5)(8,"a",6)(9,"mat-icon"),S(10,"open_in_new"),b(),v(11,"span",7),S(12,"Learn more from GitHub"),b()()()()()())},dependencies:[Ae,tt,pt],styles:[`.container[_ngcontent-%COMP%]{width:100%;height:100%;box-sizing:border-box;border:1px solid #dadce0;border-radius:8px;padding:24px;display:flex;justify-content:space-between}.container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{color:#1f1f1f;font-size:24px}.container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{color:#3c4043;margin-top:8px;font-size:14px}.container[_ngcontent-%COMP%] .doc-links-container[_ngcontent-%COMP%]{margin-top:24px}.container[_ngcontent-%COMP%] .doc-link[_ngcontent-%COMP%]{font-size:14px;color:#0b57d0;cursor:pointer;opacity:.8;margin-bottom:8px}.container[_ngcontent-%COMP%] .doc-link[_ngcontent-%COMP%] .doc-text[_ngcontent-%COMP%]{color:#0b57d0}.container[_ngcontent-%COMP%] .doc-link[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{display:flex;align-items:center;text-decoration:none}.container[_ngcontent-%COMP%] .doc-link[_ngcontent-%COMP%] [_ngcontent-%COMP%]:hover{opacity:1}.container[_ngcontent-%COMP%] .doc-link[_ngcontent-%COMP%] [_ngcontent-%COMP%]:hover .doc-text[_ngcontent-%COMP%]{text-decoration:underline}.container[_ngcontent-%COMP%] .doc-link[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:18px;width:18px;height:18px;margin-right:8px;color:#0b57d0}.container[_ngcontent-%COMP%] .video-container[_ngcontent-%COMP%]{width:430px;height:100%;border-radius:8px;background-color:#f1f1f1;display:flex;align-items:center;justify-content:center;color:#999;font-size:13px} @@ -4318,7 +4337,7 @@ THE SOFTWARE.`}];static \u0275fac=function(n){return new(n||i)};static \u0275cmp -`]})}return i})();var aS=new ge("Inject:Window");var A5=(()=>{class i{window;gtag;constructor(t){this.window=t,this.gtag=this.window.gtag}trackEvent(t,n="",r,o,s){let a=this.getPath(this.window.location.href);r=r??a,o=o??t,s=s??1;let l={event_category:n,event_label:r,description:o,value:s,page_path:a};this.trackEventInternal(t,l)}trackNumeric(t,n){this.trackEvent(t,"",void 0,void 0,n)}getPath(t){return"/"+t.split("/").slice(3).join("/")}trackEventInternal(t,n){this.gtag&&this.gtag("event",t,Z({},n))}static \u0275fac=function(n){return new(n||i)(X(aS))};static \u0275prov=J({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();var N5=function(i){return i.RefreshPage="refreshPage",i}(N5||{}),k5=(()=>{class i{init(){!lf&&new EventSource("/apistream/server_director").addEventListener("message",n=>{if(!n.data)return;let r=JSON.parse(n.data);switch(r.name){case N5.RefreshPage:uC.setHref(window.location,r.url);break;default:break}})}static \u0275fac=function(n){return new(n||i)};static \u0275prov=J({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();var r0e=["modelSourceInput"],o0e=["modelGraphVisualizer"],s0e=()=>[];function a0e(i,e){if(i&1){let t=ie();v(0,"div",16),ee(1,"welcome-card"),v(2,"div",24),H("click",function(){V(t);let r=I();return z(r.handleClickDismissWelcomeCard())}),v(3,"mat-icon"),S(4,"close"),b()()()}}function l0e(i,e){i&1&&(v(0,"div",17),ee(1,"mat-spinner",25),b())}function c0e(i,e){i&1&&(v(0,"div",18),ee(1,"model-source-input",null,1),b())}function d0e(i,e){i&1&&(v(0,"div",20),S(1,"The "),v(2,"a",26),S(3," Google Terms of Service "),b(),S(4," apply to your use of this offering "),b())}function u0e(i,e){if(i&1){let t=ie();v(0,"model-graph-visualizer",27,2),H("titleClicked",function(){V(t);let r=I();return z(r.handleClickTitle())})("modelGraphProcessed",function(r){V(t);let o=I();return z(o.handleModelGraphProcessed(r))})("uiStateChanged",function(r){V(t);let o=I();return z(o.handleUiStateChanged(r))})("remoteNodeDataPathsChanged",function(r){V(t);let o=I();return z(o.handleRemoteNodeDataPathsChanged(r))}),b()}if(i&2){let t=I();N("graphCollections",t.benchmark?G2(5,s0e):t.loadedGraphCollections())("benchmark",t.benchmark)("config",t.curConfig)("initialUiState",t.initialUiState)("nodeDataSources",t.remoteNodeDataPaths)}}var L5=(()=>{class i{dialog;extensionService;gaService;modelLoaderService;newVersionService;route;router;serverDirectorService;settingsService;snackBar;threejsService;urlService;modelSourceInput;modelGraphVisualizer;loadingExtensions;loadedGraphCollections;runningVersion=Xt(()=>this.newVersionService.info().runningVersion);initialUiState;dismissWelcomeCard=!1;dragOver=!1;benchmark=!1;remoteNodeDataPaths=[];remoteNodeDataTargetModels=[];hasUploadedModels=ut(!1);shareButtonTooltip=ut("");remoteProcessedNodeDataTargetModels=new Set;constructor(t,n,r,o,s,a,l,c,d,u,h,p){this.dialog=t,this.extensionService=n,this.gaService=r,this.modelLoaderService=o,this.newVersionService=s,this.route=a,this.router=l,this.serverDirectorService=c,this.settingsService=d,this.snackBar=u,this.threejsService=h,this.urlService=p,this.serverDirectorService.init(),this.loadingExtensions=this.extensionService.loading,this.loadedGraphCollections=this.modelLoaderService.loadedGraphCollections,this.initialUiState=this.urlService.getUiState(),lt(()=>{this.extensionService.loading()||setTimeout(()=>{this.handleExtensionLoaded()})}),lt(()=>{this.loadedGraphCollections()!=null&&window.history.pushState({ts:Date.now()},"")});let f=new URLSearchParams(document.location.search);this.benchmark=f.get("benchmark")==="1",this.remoteNodeDataPaths=this.urlService.getNodeDataSources(),this.remoteNodeDataTargetModels=this.urlService.getNodeDataTargets()}ngAfterViewInit(){this.modelSourceInput&&(this.hasUploadedModels=this.modelSourceInput.hasUploadedModels,this.shareButtonTooltip=Xt(()=>this.hasUploadedModels()?"Share is not available for uploaded models":"Share"))}handlePopState(t){this.loadedGraphCollections.set(void 0),this.initialUiState=void 0,setTimeout(()=>{this.router.navigate([],{queryParams:{},queryParamsHandling:"",replaceUrl:!0})})}handleDragOver(t){this.loadedGraphCollections()==null&&(this.dragOver=!0),t.preventDefault()}handleDragLeave(){this.dragOver=!1}handleDrop(t){t.preventDefault(),this.dragOver=!1;let n=[];t.dataTransfer?.items?Array.from(t.dataTransfer.items).forEach((r,o)=>{if(r.kind==="file"){let s=r.getAsFile();s&&n.push(s)}}):n.push(...Array.from(t.dataTransfer?.files||[])),this.modelSourceInput.addFiles(n)}handleClickTitle(t=!1){t?this.router.navigate(["/"]).then(()=>{window.location.reload()}):window.history.back()}handleClickSettings(){this.dialog.open(O5,{})}handleClickDismissWelcomeCard(){this.settingsService.saveBooleanValue(!1,Mo.SHOW_WELCOME_CARD)}handleUiStateChanged(t){this.urlService.setUiState(t)}handleModelGraphProcessed(t){let n=t.modelGraph.collectionLabel,r=this.remoteProcessedNodeDataTargetModels.has(n);if(this.remoteNodeDataPaths&&this.remoteNodeDataPaths.length>0&&!r){let o=[];for(let s=0;sn.trim()).filter(n=>n!==""&&(!t||t&&n!=="pseudo_const"&&n!=="pseudo_qconst")),artificialLayerNodeCountThreshold:this.settingsService.getNumberValue(tR),edgeLabelFontSize:this.settingsService.getNumberValue(nR),edgeColor:this.settingsService.getStringValue(iR),maxConstValueCount:this.settingsService.getNumberValue(JO),disallowVerticalEdgeLabels:this.settingsService.getBooleanValue(rR),enableSubgraphSelection:this.urlService.enableSubgraphSelection,enableExportToResource:this.urlService.enableExportToResource,keepLayersWithASingleChild:this.settingsService.getBooleanValue(oR),showOpNodeOutOfLayerEdgesWithoutSelecting:this.settingsService.getBooleanValue(sR)}}handleExtensionLoaded(){let t=this.urlService.getModels();t!=null&&t.length>0?this.modelSourceInput.startProcessingModelSource(t):this.initialUiState=void 0}static \u0275fac=function(n){return new(n||i)(M(Su),M(mf),M(A5),M("ModelLoaderService"),M(BO),M(Rl),M(fh),M(k5),M(ff),M(wu),M(wr),M(sS))};static \u0275cmp=le({type:i,selectors:[["home-page"]],viewQuery:function(n,r){if(n&1&&(Te(r0e,5),Te(o0e,5)),n&2){let o;be(o=ye())&&(r.modelSourceInput=o.first),be(o=ye())&&(r.modelGraphVisualizer=o.first)}},hostBindings:function(n,r){n&1&&H("popstate",function(s){return r.handlePopState(s)},!1,Pk)},standalone:!0,features:[ce],decls:38,vars:12,consts:[["menu","matMenu"],["modelSourceInput",""],["modelGraphVisualizer",""],[1,"container",3,"dragover","dragleave","dragend","drop"],[1,"title"],[1,"name",3,"click"],[1,"icons-container"],["mat-icon-button","","aria-label","settings","matTooltip","Advanced settings",3,"click"],["href","https://github.com/google-ai-edge/model-explorer","target","_blank"],["mat-icon-button","","aria-label","doc","matTooltip","GitHub"],["href","https://github.com/google-ai-edge/model-explorer/issues","target","_blank"],["mat-icon-button","","aria-label","bug","matTooltip","File issue or feature request"],["mat-icon-button","","aria-label","about","matTooltip","About",3,"matMenuTriggerFor"],["mat-menu-item","",3,"click"],[1,"model-explorer-version"],[1,"content"],[1,"welcome-card-container"],[1,"loading-adapter-extension-container"],[1,"model-source-input-container"],[1,"padding"],[1,"utos"],[3,"graphCollections","benchmark","config","initialUiState","nodeDataSources","titleClicked","modelGraphProcessed","uiStateChanged","remoteNodeDataPathsChanged",4,"ngIf"],[1,"dragover-overlay"],[1,"msg"],["matTooltip","Dismiss",1,"icon-container",3,"click"],["color","primary","diameter","24"],["href","https://policies.google.com/terms?hl=en-US#toc-intro","target","_blank"],[3,"titleClicked","modelGraphProcessed","uiStateChanged","remoteNodeDataPathsChanged","graphCollections","benchmark","config","initialUiState","nodeDataSources"]],template:function(n,r){if(n&1){let o=ie();v(0,"div",3),H("dragover",function(a){return V(o),z(r.handleDragOver(a))})("dragleave",function(){return V(o),z(r.handleDragLeave())})("dragend",function(){return V(o),z(r.handleDragLeave())})("drop",function(a){return V(o),z(r.handleDrop(a))}),v(1,"div",4)(2,"div",5),H("click",function(){return V(o),z(r.handleClickTitle(!0))}),ee(3,"me-logo"),S(4," Model Explorer "),ee(5,"new-version-chip"),b(),v(6,"div",6)(7,"button",7),H("click",function(){return V(o),z(r.handleClickSettings())}),v(8,"mat-icon"),S(9,"settings"),b()(),v(10,"a",8)(11,"button",9)(12,"mat-icon"),S(13,"article"),b()()(),v(14,"a",10)(15,"button",11)(16,"mat-icon"),S(17,"bug_report"),b()()(),v(18,"button",12)(19,"mat-icon"),S(20,"info_outline"),b()(),v(21,"mat-menu",null,0)(23,"button",13),H("click",function(){return V(o),z(r.handleClickShowThirdPartyLibraries())}),S(24," Open source libraries "),b(),v(25,"div",14),S(26),b()(),ee(27,"open-in-new-tab-button"),b()(),v(28,"div",15),W(29,a0e,5,0,"div",16)(30,l0e,2,0,"div",17)(31,c0e,3,0,"div",18),ee(32,"div",19),b(),W(33,d0e,5,0,"div",20)(34,u0e,2,6,"model-graph-visualizer",21),v(35,"div",22)(36,"div",23),S(37,"Drop to add model files"),b()()()}if(n&2){let o=ve(22);se("dragover",r.dragOver),w(),se("hide",r.loadedGraphCollections()!=null||r.benchmark),w(17),N("matMenuTriggerFor",o),w(8),Me("v",r.runningVersion(),""),w(2),se("hide",r.loadedGraphCollections()!=null||r.benchmark),w(),ae(r.showWelcomeCard?29:-1),w(),ae(r.loadingExtensions()?30:31),w(3),ae(r.loadedGraphCollections()==null&&!r.benchmark?33:-1),w(),N("ngIf",r.loadedGraphCollections()!=null||r.benchmark)}},dependencies:[Ae,Mn,Jp,In,Ho,ma,it,_t,ca,Jo,W_,vc,ns,ha,VG,Jt,Wn,nS,D5,qC,jC,R5],styles:[`.container[_ngcontent-%COMP%]{width:100%;height:100%;overflow:hidden;display:flex;flex-direction:column;position:relative}.container.dragover[_ngcontent-%COMP%] .dragover-overlay[_ngcontent-%COMP%]{display:flex}.container[_ngcontent-%COMP%] .dragover-overlay[_ngcontent-%COMP%]{display:none;position:absolute;left:0;top:0;width:100%;height:100%;background-color:#0000001a;pointer-events:none;flex-direction:column;align-items:center;justify-content:flex-end;z-index:500}.container[_ngcontent-%COMP%] .dragover-overlay[_ngcontent-%COMP%] .msg[_ngcontent-%COMP%]{margin-bottom:16px;color:#fff;padding:4px 12px;border-radius:99px;background-color:#4285f4}@keyframes _ngcontent-%COMP%_rotate{0%{transform:rotate(0)}30%{transform:rotate(180deg)}60%{transform:rotate(360deg)}to{transform:rotate(360deg)}}@keyframes _ngcontent-%COMP%_goUp{0%{transform:translateY(10%);opacity:0}30%{transform:translate(0);opacity:1}to{transform:translateY(-25%);opacity:0}}.container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding:8px 12px;box-sizing:border-box;height:48px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;color:#444746;border-bottom:1px solid transparent}.container[_ngcontent-%COMP%] .title.hide[_ngcontent-%COMP%]{display:none}.container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{display:flex;align-items:center;font-size:20px}.container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%] .name[_ngcontent-%COMP%] me-logo[_ngcontent-%COMP%]{margin-right:6px}.container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%] .name[_ngcontent-%COMP%] new-version-chip[_ngcontent-%COMP%]{margin-left:16px}.container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%] .icons-container[_ngcontent-%COMP%]{display:flex;align-items:center}.container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%] .icons-container[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;color:#000}.container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%] .icons-container[_ngcontent-%COMP%] open-in-new-tab-button[_ngcontent-%COMP%]{margin-left:8px}.container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{flex-grow:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;position:relative;margin-top:16px;overflow:hidden}.container[_ngcontent-%COMP%] .content.hide[_ngcontent-%COMP%]{display:none}.container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .welcome-card-container[_ngcontent-%COMP%]{width:1016px;flex-shrink:0;position:relative}.container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .welcome-card-container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]{position:absolute;top:6px;right:6px;cursor:pointer;opacity:.5}.container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .welcome-card-container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]:hover{opacity:.8}.container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .welcome-card-container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px}.container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .loading-adapter-extension-container[_ngcontent-%COMP%]{margin-top:20px}.container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .model-source-input-container[_ngcontent-%COMP%]{width:1016px;margin-top:20px;overflow:hidden;z-index:100;background-color:#fff}.container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .padding[_ngcontent-%COMP%]{width:100%;flex-grow:1;min-height:12px}.container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .cover[_ngcontent-%COMP%]{position:absolute;top:0;left:0;width:100%;height:100%;z-index:5000;color:#333;background-color:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;align-items:center;justify-content:center}.container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .cover[_ngcontent-%COMP%] .loading-subtitle[_ngcontent-%COMP%]{font-size:14px;color:#999;margin-top:20px}.container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%] .wait-icon[_ngcontent-%COMP%]{display:inline-block;margin:0 8px;animation:_ngcontent-%COMP%_rotate 2s ease-in-out 0s infinite}.container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .uploading[_ngcontent-%COMP%] .upload-icon[_ngcontent-%COMP%]{display:inline-block;margin:0 8px;animation:_ngcontent-%COMP%_goUp 1s ease-in-out 0s infinite}.container[_ngcontent-%COMP%] .utos[_ngcontent-%COMP%]{position:absolute;right:12px;bottom:12px;font-size:12px;color:#999}.container[_ngcontent-%COMP%] .utos[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:#999}.container[_ngcontent-%COMP%] model-graph-visualizer[_ngcontent-%COMP%]{width:100%;height:100%}.container[_ngcontent-%COMP%] .bug-report[_ngcontent-%COMP%]{position:absolute;bottom:8px;left:8px;display:inline-block;display:flex;align-items:center;justify-content:center;color:#000;opacity:.5}.container[_ngcontent-%COMP%] .bug-report[_ngcontent-%COMP%]:hover{opacity:.8}.container[_ngcontent-%COMP%] .btns-container[_ngcontent-%COMP%]{display:flex;align-items:center}.container[_ngcontent-%COMP%] .btns-container[_ngcontent-%COMP%] .share-button-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center}.container[_ngcontent-%COMP%] .btns-container[_ngcontent-%COMP%] .divider[_ngcontent-%COMP%]{border-left:1px solid #ccc;height:28px;box-sizing:border-box;margin-left:8px;margin-right:8px} .model-explorer-version{font-size:12px;text-align:right;padding:8px 16px 0;color:#999} +`]})}return i})();var cS=new me("Inject:Window");var U5=(()=>{class i{window;gtag;constructor(t){this.window=t,this.gtag=this.window.gtag}trackEvent(t,n="",r,o,s){let a=this.getPath(this.window.location.href);r=r??a,o=o??t,s=s??1;let c={event_category:n,event_label:r,description:o,value:s,page_path:a};this.trackEventInternal(t,c)}trackNumeric(t,n){this.trackEvent(t,"",void 0,void 0,n)}getPath(t){return"/"+t.split("/").slice(3).join("/")}trackEventInternal(t,n){this.gtag&&this.gtag("event",t,Z({},n))}static \u0275fac=function(n){return new(n||i)(X(cS))};static \u0275prov=J({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();var H5=function(i){return i.RefreshPage="refreshPage",i}(H5||{}),G5=(()=>{class i{init(){!hf&&new EventSource("/apistream/server_director").addEventListener("message",n=>{if(!n.data)return;let r=JSON.parse(n.data);switch(r.name){case H5.RefreshPage:yO(window.location,r.url);break;default:break}})}static \u0275fac=function(n){return new(n||i)};static \u0275prov=J({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();var I0e=["modelSourceInput"],T0e=["modelGraphVisualizer"],D0e=()=>[];function P0e(i,e){if(i&1){let t=ne();v(0,"div",16),ee(1,"welcome-card"),v(2,"div",24),H("click",function(){B(t);let r=I();return V(r.handleClickDismissWelcomeCard())}),v(3,"mat-icon"),S(4,"close"),b()()()}}function O0e(i,e){i&1&&(v(0,"div",17),ee(1,"mat-spinner",25),b())}function R0e(i,e){i&1&&(v(0,"div",18),ee(1,"model-source-input",null,1),b())}function A0e(i,e){i&1&&(v(0,"div",20),S(1,"The "),v(2,"a",26),S(3," Google Terms of Service "),b(),S(4," apply to your use of this offering "),b())}function N0e(i,e){if(i&1){let t=ne();v(0,"model-graph-visualizer",27,2),H("titleClicked",function(){B(t);let r=I();return V(r.handleClickTitle())})("modelGraphProcessed",function(r){B(t);let o=I();return V(o.handleModelGraphProcessed(r))})("uiStateChanged",function(r){B(t);let o=I();return V(o.handleUiStateChanged(r))})("remoteNodeDataPathsChanged",function(r){B(t);let o=I();return V(o.handleRemoteNodeDataPathsChanged(r))})("syncNavigationModeChanged",function(r){B(t);let o=I();return V(o.handleSyncNavigationModeChanged(r))}),b()}if(i&2){let t=I();R("graphCollections",t.benchmark?$2(5,D0e):t.loadedGraphCollections())("benchmark",t.benchmark)("config",t.curConfig)("initialUiState",t.initialUiState)("nodeDataSources",t.remoteNodeDataPaths)}}var j5=(()=>{class i{dialog;extensionService;gaService;modelLoaderService;newVersionService;route;router;serverDirectorService;settingsService;snackBar;threejsService;urlService;modelSourceInput;modelGraphVisualizer;loadingExtensions;loadedGraphCollections;runningVersion=Bt(()=>this.newVersionService.info().runningVersion);initialUiState;dismissWelcomeCard=!1;dragOver=!1;benchmark=!1;remoteNodeDataPaths=[];remoteNodeDataTargetModels=[];syncNavigation;hasUploadedModels=ct(!1);shareButtonTooltip=ct("");remoteProcessedNodeDataTargetModels=new Set;constructor(t,n,r,o,s,a,c,l,d,u,h,p){this.dialog=t,this.extensionService=n,this.gaService=r,this.modelLoaderService=o,this.newVersionService=s,this.route=a,this.router=c,this.serverDirectorService=l,this.settingsService=d,this.snackBar=u,this.threejsService=h,this.urlService=p,this.serverDirectorService.init(),this.loadingExtensions=this.extensionService.loading,this.loadedGraphCollections=this.modelLoaderService.loadedGraphCollections,this.initialUiState=this.urlService.getUiState(),lt(()=>{this.extensionService.loading()||setTimeout(()=>{this.handleExtensionLoaded()})}),lt(()=>{this.loadedGraphCollections()!=null&&window.history.pushState({ts:Date.now()},"")});let f=new URLSearchParams(document.location.search);this.benchmark=f.get("benchmark")==="1",this.remoteNodeDataPaths=this.urlService.getNodeDataSources(),this.remoteNodeDataTargetModels=this.urlService.getNodeDataTargets(),this.syncNavigation=this.urlService.getSyncNavigation()}ngAfterViewInit(){this.modelSourceInput&&(this.hasUploadedModels=this.modelSourceInput.hasUploadedModels,this.shareButtonTooltip=Bt(()=>this.hasUploadedModels()?"Share is not available for uploaded models":"Share"))}handlePopState(t){this.loadedGraphCollections.set(void 0),this.initialUiState=void 0,setTimeout(()=>{this.router.navigate([],{queryParams:{},queryParamsHandling:"",replaceUrl:!0})})}handleDragOver(t){this.loadedGraphCollections()==null&&(this.dragOver=!0),t.preventDefault()}handleDragLeave(){this.dragOver=!1}handleDrop(t){t.preventDefault(),this.dragOver=!1;let n=[];t.dataTransfer?.items?Array.from(t.dataTransfer.items).forEach((r,o)=>{if(r.kind==="file"){let s=r.getAsFile();s&&n.push(s)}}):n.push(...Array.from(t.dataTransfer?.files||[])),this.modelSourceInput.addFiles(n)}handleClickTitle(t=!1){t?this.router.navigate(["/"]).then(()=>{window.location.reload()}):window.history.back()}handleClickSettings(){this.dialog.open(V5,{})}handleClickDismissWelcomeCard(){this.settingsService.saveBooleanValue(!1,To.SHOW_WELCOME_CARD)}handleUiStateChanged(t){this.urlService.setUiState(t)}handleModelGraphProcessed(t){let n=t.modelGraph.collectionLabel,r=this.remoteProcessedNodeDataTargetModels.has(n);if(this.remoteNodeDataPaths&&this.remoteNodeDataPaths.length>0&&!r){let o=[];for(let s=0;sn.trim()).filter(n=>n!==""&&(!t||t&&n!=="pseudo_const"&&n!=="pseudo_qconst")),artificialLayerNodeCountThreshold:this.settingsService.getNumberValue(rR),edgeLabelFontSize:this.settingsService.getNumberValue(oR),edgeColor:this.settingsService.getStringValue(sR),maxConstValueCount:this.settingsService.getNumberValue(nR),disallowVerticalEdgeLabels:this.settingsService.getBooleanValue(aR),enableSubgraphSelection:this.urlService.enableSubgraphSelection,enableExportToResource:this.urlService.enableExportToResource,keepLayersWithASingleChild:this.settingsService.getBooleanValue(cR),showOpNodeOutOfLayerEdgesWithoutSelecting:this.settingsService.getBooleanValue(lR)}}handleExtensionLoaded(){let t=this.urlService.getModels();t!=null&&t.length>0?this.modelSourceInput.startProcessingModelSource(t):this.initialUiState=void 0}static \u0275fac=function(n){return new(n||i)(M(Iu),M(bf),M(U5),M("ModelLoaderService"),M(UO),M(kc),M(_h),M(G5),M(vf),M(hc),M(Sr),M(aS))};static \u0275cmp=ce({type:i,selectors:[["home-page"]],viewQuery:function(n,r){if(n&1&&(Ee(I0e,5),Ee(T0e,5)),n&2){let o;be(o=ye())&&(r.modelSourceInput=o.first),be(o=ye())&&(r.modelGraphVisualizer=o.first)}},hostBindings:function(n,r){n&1&&H("popstate",function(s){return r.handlePopState(s)},!1,Ak)},standalone:!0,features:[le],decls:38,vars:12,consts:[["menu","matMenu"],["modelSourceInput",""],["modelGraphVisualizer",""],[1,"container",3,"dragover","dragleave","dragend","drop"],[1,"title"],[1,"name",3,"click"],[1,"icons-container"],["mat-icon-button","","aria-label","settings","matTooltip","Advanced settings",3,"click"],["href","https://github.com/google-ai-edge/model-explorer","target","_blank"],["mat-icon-button","","aria-label","doc","matTooltip","GitHub"],["href","https://github.com/google-ai-edge/model-explorer/issues","target","_blank"],["mat-icon-button","","aria-label","bug","matTooltip","File issue or feature request"],["mat-icon-button","","aria-label","about","matTooltip","About",3,"matMenuTriggerFor"],["mat-menu-item","",3,"click"],[1,"model-explorer-version"],[1,"content"],[1,"welcome-card-container"],[1,"loading-adapter-extension-container"],[1,"model-source-input-container"],[1,"padding"],[1,"utos"],[3,"graphCollections","benchmark","config","initialUiState","nodeDataSources","titleClicked","modelGraphProcessed","uiStateChanged","remoteNodeDataPathsChanged","syncNavigationModeChanged",4,"ngIf"],[1,"dragover-overlay"],[1,"msg"],["matTooltip","Dismiss",1,"icon-container",3,"click"],["color","primary","diameter","24"],["href","https://policies.google.com/terms?hl=en-US#toc-intro","target","_blank"],[3,"titleClicked","modelGraphProcessed","uiStateChanged","remoteNodeDataPathsChanged","syncNavigationModeChanged","graphCollections","benchmark","config","initialUiState","nodeDataSources"]],template:function(n,r){if(n&1){let o=ne();v(0,"div",3),H("dragover",function(a){return B(o),V(r.handleDragOver(a))})("dragleave",function(){return B(o),V(r.handleDragLeave())})("dragend",function(){return B(o),V(r.handleDragLeave())})("drop",function(a){return B(o),V(r.handleDrop(a))}),v(1,"div",4)(2,"div",5),H("click",function(){return B(o),V(r.handleClickTitle(!0))}),ee(3,"me-logo"),S(4," Model Explorer "),ee(5,"new-version-chip"),b(),v(6,"div",6)(7,"button",7),H("click",function(){return B(o),V(r.handleClickSettings())}),v(8,"mat-icon"),S(9,"settings"),b()(),v(10,"a",8)(11,"button",9)(12,"mat-icon"),S(13,"article"),b()()(),v(14,"a",10)(15,"button",11)(16,"mat-icon"),S(17,"bug_report"),b()()(),v(18,"button",12)(19,"mat-icon"),S(20,"info_outline"),b()(),v(21,"mat-menu",null,0)(23,"button",13),H("click",function(){return B(o),V(r.handleClickShowThirdPartyLibraries())}),S(24," Open source libraries "),b(),v(25,"div",14),S(26),b()(),ee(27,"open-in-new-tab-button"),b()(),v(28,"div",15),$(29,P0e,5,0,"div",16)(30,O0e,2,0,"div",17)(31,R0e,3,0,"div",18),ee(32,"div",19),b(),$(33,A0e,5,0,"div",20)(34,N0e,2,6,"model-graph-visualizer",21),v(35,"div",22)(36,"div",23),S(37,"Drop to add model files"),b()()()}if(n&2){let o=ve(22);re("dragover",r.dragOver),w(),re("hide",r.loadedGraphCollections()!=null||r.benchmark),w(17),R("matMenuTriggerFor",o),w(8),Se("v",r.runningVersion(),""),w(2),re("hide",r.loadedGraphCollections()!=null||r.benchmark),w(),oe(r.showWelcomeCard?29:-1),w(),oe(r.loadingExtensions()?30:31),w(3),oe(r.loadedGraphCollections()==null&&!r.benchmark?33:-1),w(),R("ngIf",r.loadedGraphCollections()!=null||r.benchmark)}},dependencies:[Ae,Tn,rf,xn,Wo,_a,tt,pt,ua,ns,Y_,xl,ao,fa,GG,Xt,Yn,iS,F5,YC,WC,z5],styles:[`.container[_ngcontent-%COMP%]{width:100%;height:100%;overflow:hidden;display:flex;flex-direction:column;position:relative}.container.dragover[_ngcontent-%COMP%] .dragover-overlay[_ngcontent-%COMP%]{display:flex}.container[_ngcontent-%COMP%] .dragover-overlay[_ngcontent-%COMP%]{display:none;position:absolute;left:0;top:0;width:100%;height:100%;background-color:#0000001a;pointer-events:none;flex-direction:column;align-items:center;justify-content:flex-end;z-index:500}.container[_ngcontent-%COMP%] .dragover-overlay[_ngcontent-%COMP%] .msg[_ngcontent-%COMP%]{margin-bottom:16px;color:#fff;padding:4px 12px;border-radius:99px;background-color:#4285f4}@keyframes _ngcontent-%COMP%_rotate{0%{transform:rotate(0)}30%{transform:rotate(180deg)}60%{transform:rotate(360deg)}to{transform:rotate(360deg)}}@keyframes _ngcontent-%COMP%_goUp{0%{transform:translateY(10%);opacity:0}30%{transform:translate(0);opacity:1}to{transform:translateY(-25%);opacity:0}}.container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding:8px 12px;box-sizing:border-box;height:48px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;color:#444746;border-bottom:1px solid transparent}.container[_ngcontent-%COMP%] .title.hide[_ngcontent-%COMP%]{display:none}.container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{display:flex;align-items:center;font-size:20px}.container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%] .name[_ngcontent-%COMP%] me-logo[_ngcontent-%COMP%]{margin-right:6px}.container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%] .name[_ngcontent-%COMP%] new-version-chip[_ngcontent-%COMP%]{margin-left:16px}.container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%] .icons-container[_ngcontent-%COMP%]{display:flex;align-items:center}.container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%] .icons-container[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;color:#000}.container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%] .icons-container[_ngcontent-%COMP%] open-in-new-tab-button[_ngcontent-%COMP%]{margin-left:8px}.container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{flex-grow:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;position:relative;margin-top:16px;overflow:hidden}.container[_ngcontent-%COMP%] .content.hide[_ngcontent-%COMP%]{display:none}.container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .welcome-card-container[_ngcontent-%COMP%]{width:1016px;flex-shrink:0;position:relative}.container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .welcome-card-container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]{position:absolute;top:6px;right:6px;cursor:pointer;opacity:.5}.container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .welcome-card-container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]:hover{opacity:.8}.container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .welcome-card-container[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px}.container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .loading-adapter-extension-container[_ngcontent-%COMP%]{margin-top:20px}.container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .model-source-input-container[_ngcontent-%COMP%]{width:1016px;margin-top:20px;overflow:hidden;z-index:100;background-color:#fff}.container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .padding[_ngcontent-%COMP%]{width:100%;flex-grow:1;min-height:12px}.container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .cover[_ngcontent-%COMP%]{position:absolute;top:0;left:0;width:100%;height:100%;z-index:5000;color:#333;background-color:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;align-items:center;justify-content:center}.container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .cover[_ngcontent-%COMP%] .loading-subtitle[_ngcontent-%COMP%]{font-size:14px;color:#999;margin-top:20px}.container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%] .wait-icon[_ngcontent-%COMP%]{display:inline-block;margin:0 8px;animation:_ngcontent-%COMP%_rotate 2s ease-in-out 0s infinite}.container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .uploading[_ngcontent-%COMP%] .upload-icon[_ngcontent-%COMP%]{display:inline-block;margin:0 8px;animation:_ngcontent-%COMP%_goUp 1s ease-in-out 0s infinite}.container[_ngcontent-%COMP%] .utos[_ngcontent-%COMP%]{position:absolute;right:12px;bottom:12px;font-size:12px;color:#999}.container[_ngcontent-%COMP%] .utos[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:#999}.container[_ngcontent-%COMP%] model-graph-visualizer[_ngcontent-%COMP%]{width:100%;height:100%}.container[_ngcontent-%COMP%] .bug-report[_ngcontent-%COMP%]{position:absolute;bottom:8px;left:8px;display:inline-block;display:flex;align-items:center;justify-content:center;color:#000;opacity:.5}.container[_ngcontent-%COMP%] .bug-report[_ngcontent-%COMP%]:hover{opacity:.8}.container[_ngcontent-%COMP%] .btns-container[_ngcontent-%COMP%]{display:flex;align-items:center}.container[_ngcontent-%COMP%] .btns-container[_ngcontent-%COMP%] .share-button-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center}.container[_ngcontent-%COMP%] .btns-container[_ngcontent-%COMP%] .divider[_ngcontent-%COMP%]{border-left:1px solid #ccc;height:28px;box-sizing:border-box;margin-left:8px;margin-right:8px} .model-explorer-version{font-size:12px;text-align:right;padding:8px 16px 0;color:#999} @@ -4336,4 +4355,4 @@ THE SOFTWARE.`}];static \u0275fac=function(n){return new(n||i)};static \u0275cmp -`]})}return i})();var h0e="/apipost/v1/upload",p0e="/api/v1/load_graphs_json",f0e="/api/v1/read_text_file",F5=(()=>{class i{settingsService;extensionService;loadedGraphCollections=ut(void 0);constructor(t,n){this.settingsService=t,this.extensionService=n}loadModels(t){return At(this,null,function*(){let n=[];for(let o of t)(o.type===ni.LOCAL||o.type===ni.GRAPH_JSONS_FROM_SERVER||o.type===ni.FILE_PATH)&&n.push(this.loadModel(o));let r=yield Promise.all(n);for(let o of t)o.errorMessage!=null&&(o.errorMessage=XF(o.errorMessage));r.find(o=>o.length===0)==null&&this.loadedGraphCollections.set(r.flat())})}loadModel(t){return At(this,null,function*(){t.status.set(kn.PROCESSING);let n=[];if(t.type===ni.FILE_PATH)switch(t.selectedAdapter?.id){case Cc.JSON_LOADER:try{let s=yield this.readTextFile(t.path),a=t.path.split("/").pop()||"untitled",l=JSON.parse(s),c=FO(a,l);if(c.error)throw new Error(`Failed to process file: ${c.error})`);c.graphCollections&&(n=c.graphCollections),t.status.set(kn.DONE)}catch(s){t.selected=!1,t.status.set(kn.ERROR),t.errorMessage=s}break;default:let r=t.path,o=r.split("/").pop()||"untitled";n=yield this.sendConvertRequest(t,r,o,!1);break}else{let r=t.file;switch(t.selectedAdapter?.id){case Cc.JSON_LOADER:try{t.type===ni.GRAPH_JSONS_FROM_SERVER?(n=yield this.loadGraphsFromBackendGraphsJson(t.path),t.status.set(kn.DONE)):(n=yield Aj(r),t.status.set(kn.DONE))}catch(a){t.selected=!1,t.status.set(kn.ERROR),t.errorMessage=a}break;default:t.status.set(kn.UPLOADING);let{path:o,error:s}=yield this.uploadModelFile(r);if(s)return t.selected=!1,t.status.set(kn.ERROR),t.errorMessage=s,[];n=yield this.sendConvertRequest(t,o,r.name,!0);break}}return n})}readTextFile(t){return At(this,null,function*(){let r=yield(yield fetch(`${f0e}?path=${t}`)).json();if(r.error)throw new Error(`Failed to read file: ${r.error}`);return r.content})}loadGraphsFromBackendGraphsJson(t){return At(this,null,function*(){let n=t.replace(oS,""),r=n.lastIndexOf("/"),o=n.substring(0,r),s=Number(n.substring(r+1)),l=yield(yield fetch(`${p0e}?graph_index=${s}`)).json();return this.processAdapterConvertResponse(l,o)})}uploadModelFile(t){return At(this,null,function*(){let n=new FormData;n.append("file",t,t.name);let r=yield fetch(h0e,{method:"POST",body:n});return r.ok?{path:JSON.parse(yield r.text()).path}:(console.error(yield r.text()),{path:"",error:"Failed to upload model. Check console for details"})})}sendConvertRequest(t,n,r,o){return At(this,null,function*(){let s=[];t.status.set(kn.PROCESSING);let a={cmdId:"convert",extensionId:t.selectedAdapter?.id||"",modelPath:n,settings:this.settingsService.getAllSettingsValues(),deleteAfterConversion:o},{cmdResp:l,otherError:c}=yield this.extensionService.sendCommandToExtension(a),d=l?.error||c;return d?(t.selected=!1,t.status.set(kn.ERROR),t.errorMessage=d,[]):(l&&(s=this.processAdapterConvertResponse(l,r)),t.status.set(kn.DONE),s)})}processAdapterConvertResponse(t,n){return t.graphs?[{label:n,graphs:t.graphs}]:t.graphCollections?t.graphCollections.map(r=>({label:r.label===""?n:`${n} (${r.label})`,graphs:r.graphs})):[]}static \u0275fac=function(n){return new(n||i)(X(ff),X(mf))};static \u0275prov=J({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();var m0e=[{path:"",component:L5},{path:"demo",component:b5}],B5={providers:[X2({eventCoalescing:!0}),cF(m0e),jF(),{provide:"ModelLoaderService",useClass:F5},{provide:aS,useValue:window}]};EL(uF,B5).catch(i=>console.error(i)); +`]})}return i})();var k0e="/apipost/v1/upload",L0e="/api/v1/load_graphs_json",F0e="/api/v1/read_text_file",W5=(()=>{class i{settingsService;extensionService;loadedGraphCollections=ct(void 0);constructor(t,n){this.settingsService=t,this.extensionService=n}loadModels(t){return It(this,null,function*(){let n=[];for(let o of t)(o.type===ri.LOCAL||o.type===ri.GRAPH_JSONS_FROM_SERVER||o.type===ri.FILE_PATH)&&n.push(this.loadModel(o));let r=yield Promise.all(n);for(let o of t)o.errorMessage!=null&&(o.errorMessage=KF(o.errorMessage));r.find(o=>o.length===0)==null&&this.loadedGraphCollections.set(r.flat())})}loadModel(t){return It(this,null,function*(){t.status.set(Bn.PROCESSING);let n=[];if(t.type===ri.FILE_PATH)switch(t.selectedAdapter?.id){case El.JSON_LOADER:try{let s=yield this.readTextFile(t.path),a=t.path.split("/").pop()||"untitled",c=JSON.parse(s),l=zO(a,c);if(l.error)throw new Error(`Failed to process file: ${l.error})`);l.graphCollections&&(n=l.graphCollections),t.status.set(Bn.DONE)}catch(s){t.selected=!1,t.status.set(Bn.ERROR),t.errorMessage=s}break;default:let r=t.path,o=r.split("/").pop()||"untitled";n=yield this.sendConvertRequest(t,r,o,!1);break}else{let r=t.file;switch(t.selectedAdapter?.id){case El.JSON_LOADER:try{t.type===ri.GRAPH_JSONS_FROM_SERVER?(n=yield this.loadGraphsFromBackendGraphsJson(t.path),t.status.set(Bn.DONE)):(n=yield Uj(r),t.status.set(Bn.DONE))}catch(a){t.selected=!1,t.status.set(Bn.ERROR),t.errorMessage=a}break;default:t.status.set(Bn.UPLOADING);let{path:o,error:s}=yield this.uploadModelFile(r);if(s)return t.selected=!1,t.status.set(Bn.ERROR),t.errorMessage=s,[];n=yield this.sendConvertRequest(t,o,r.name,!0);break}}return n})}readTextFile(t){return It(this,null,function*(){let r=yield(yield fetch(`${F0e}?path=${t}`)).json();if(r.error)throw new Error(`Failed to read file: ${r.error}`);return r.content})}loadGraphsFromBackendGraphsJson(t){return It(this,null,function*(){let n=t.replace(sS,""),r=n.lastIndexOf("/"),o=n.substring(0,r),s=Number(n.substring(r+1)),c=yield(yield fetch(`${L0e}?graph_index=${s}`)).json();return this.processAdapterConvertResponse(c,o)})}uploadModelFile(t){return It(this,null,function*(){let n=new FormData;n.append("file",t,t.name);let r=yield fetch(k0e,{method:"POST",body:n});return r.ok?{path:JSON.parse(yield r.text()).path}:(console.error(yield r.text()),{path:"",error:"Failed to upload model. Check console for details"})})}sendConvertRequest(t,n,r,o){return It(this,null,function*(){let s=[];t.status.set(Bn.PROCESSING);let a={cmdId:"convert",extensionId:t.selectedAdapter?.id||"",modelPath:n,settings:this.settingsService.getAllSettingsValues(),deleteAfterConversion:o},{cmdResp:c,otherError:l}=yield this.extensionService.sendCommandToExtension(a),d=c?.error||l;return d?(t.selected=!1,t.status.set(Bn.ERROR),t.errorMessage=d,[]):(c&&(s=this.processAdapterConvertResponse(c,r)),t.status.set(Bn.DONE),s)})}processAdapterConvertResponse(t,n){return t.graphs?[{label:n,graphs:t.graphs}]:t.graphCollections?t.graphCollections.map(r=>({label:r.label===""?n:`${n} (${r.label})`,graphs:r.graphs})):[]}static \u0275fac=function(n){return new(n||i)(X(vf),X(bf))};static \u0275prov=J({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();var B0e=[{path:"",component:j5},{path:"demo",component:I5}],$5={providers:[K2({eventCoalescing:!0}),hF(B0e),qF(),{provide:"ModelLoaderService",useClass:W5},{provide:cS,useValue:window}]};DL(fF,$5).catch(i=>console.error(i)); diff --git a/src/server/package/src/model_explorer/web_app/styles-54D2WFUC.css b/src/server/package/src/model_explorer/web_app/styles-GNTXUQ3P.css similarity index 69% rename from src/server/package/src/model_explorer/web_app/styles-54D2WFUC.css rename to src/server/package/src/model_explorer/web_app/styles-GNTXUQ3P.css index bcbbef65..4fcd920d 100644 --- a/src/server/package/src/model_explorer/web_app/styles-54D2WFUC.css +++ b/src/server/package/src/model_explorer/web_app/styles-GNTXUQ3P.css @@ -1 +1 @@ -.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0);background-color:var(--mat-ripple-color, rgba(0, 0, 0, .1))}.cdk-high-contrast-active .mat-ripple-element,.cdk-drag-preview .mat-ripple-element,.cdk-drag-placeholder .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-mdc-focus-indicator-display, none);border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.mat-app-background{background-color:var(--mat-app-background-color, transparent);color:var(--mat-app-text-color, inherit)}.mat-elevation-z0,.mat-mdc-elevation-specific.mat-elevation-z0{box-shadow:var(--mat-app-elevation-shadow-level-0, none)}.mat-elevation-z1,.mat-mdc-elevation-specific.mat-elevation-z1{box-shadow:var(--mat-app-elevation-shadow-level-1, none)}.mat-elevation-z2,.mat-mdc-elevation-specific.mat-elevation-z2{box-shadow:var(--mat-app-elevation-shadow-level-2, none)}.mat-elevation-z3,.mat-mdc-elevation-specific.mat-elevation-z3{box-shadow:var(--mat-app-elevation-shadow-level-3, none)}.mat-elevation-z4,.mat-mdc-elevation-specific.mat-elevation-z4{box-shadow:var(--mat-app-elevation-shadow-level-4, none)}.mat-elevation-z5,.mat-mdc-elevation-specific.mat-elevation-z5{box-shadow:var(--mat-app-elevation-shadow-level-5, none)}.mat-elevation-z6,.mat-mdc-elevation-specific.mat-elevation-z6{box-shadow:var(--mat-app-elevation-shadow-level-6, none)}.mat-elevation-z7,.mat-mdc-elevation-specific.mat-elevation-z7{box-shadow:var(--mat-app-elevation-shadow-level-7, none)}.mat-elevation-z8,.mat-mdc-elevation-specific.mat-elevation-z8{box-shadow:var(--mat-app-elevation-shadow-level-8, none)}.mat-elevation-z9,.mat-mdc-elevation-specific.mat-elevation-z9{box-shadow:var(--mat-app-elevation-shadow-level-9, none)}.mat-elevation-z10,.mat-mdc-elevation-specific.mat-elevation-z10{box-shadow:var(--mat-app-elevation-shadow-level-10, none)}.mat-elevation-z11,.mat-mdc-elevation-specific.mat-elevation-z11{box-shadow:var(--mat-app-elevation-shadow-level-11, none)}.mat-elevation-z12,.mat-mdc-elevation-specific.mat-elevation-z12{box-shadow:var(--mat-app-elevation-shadow-level-12, none)}.mat-elevation-z13,.mat-mdc-elevation-specific.mat-elevation-z13{box-shadow:var(--mat-app-elevation-shadow-level-13, none)}.mat-elevation-z14,.mat-mdc-elevation-specific.mat-elevation-z14{box-shadow:var(--mat-app-elevation-shadow-level-14, none)}.mat-elevation-z15,.mat-mdc-elevation-specific.mat-elevation-z15{box-shadow:var(--mat-app-elevation-shadow-level-15, none)}.mat-elevation-z16,.mat-mdc-elevation-specific.mat-elevation-z16{box-shadow:var(--mat-app-elevation-shadow-level-16, none)}.mat-elevation-z17,.mat-mdc-elevation-specific.mat-elevation-z17{box-shadow:var(--mat-app-elevation-shadow-level-17, none)}.mat-elevation-z18,.mat-mdc-elevation-specific.mat-elevation-z18{box-shadow:var(--mat-app-elevation-shadow-level-18, none)}.mat-elevation-z19,.mat-mdc-elevation-specific.mat-elevation-z19{box-shadow:var(--mat-app-elevation-shadow-level-19, none)}.mat-elevation-z20,.mat-mdc-elevation-specific.mat-elevation-z20{box-shadow:var(--mat-app-elevation-shadow-level-20, none)}.mat-elevation-z21,.mat-mdc-elevation-specific.mat-elevation-z21{box-shadow:var(--mat-app-elevation-shadow-level-21, none)}.mat-elevation-z22,.mat-mdc-elevation-specific.mat-elevation-z22{box-shadow:var(--mat-app-elevation-shadow-level-22, none)}.mat-elevation-z23,.mat-mdc-elevation-specific.mat-elevation-z23{box-shadow:var(--mat-app-elevation-shadow-level-23, none)}.mat-elevation-z24,.mat-mdc-elevation-specific.mat-elevation-z24{box-shadow:var(--mat-app-elevation-shadow-level-24, none)}.mat-theme-loaded-marker{display:none}html{--mat-ripple-color: rgba(0, 0, 0, .1)}html,.mat-accent{--mat-option-selected-state-label-text-color: #1a73e8;--mat-option-label-text-color: rgba(0, 0, 0, .87);--mat-option-hover-state-layer-color: rgba(0, 0, 0, .04);--mat-option-focus-state-layer-color: rgba(0, 0, 0, .04);--mat-option-selected-state-layer-color: rgba(0, 0, 0, .04)}.mat-warn{--mat-option-selected-state-label-text-color: #f44336;--mat-option-label-text-color: rgba(0, 0, 0, .87);--mat-option-hover-state-layer-color: rgba(0, 0, 0, .04);--mat-option-focus-state-layer-color: rgba(0, 0, 0, .04);--mat-option-selected-state-layer-color: rgba(0, 0, 0, .04)}html{--mat-optgroup-label-text-color: rgba(0, 0, 0, .87)}.mat-primary,html,.mat-accent{--mat-full-pseudo-checkbox-selected-icon-color: #1a73e8;--mat-full-pseudo-checkbox-selected-checkmark-color: #fafafa;--mat-full-pseudo-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mat-full-pseudo-checkbox-disabled-selected-checkmark-color: #fafafa;--mat-full-pseudo-checkbox-disabled-unselected-icon-color: #b0b0b0;--mat-full-pseudo-checkbox-disabled-selected-icon-color: #b0b0b0;--mat-minimal-pseudo-checkbox-selected-checkmark-color: #1a73e8;--mat-minimal-pseudo-checkbox-disabled-selected-checkmark-color: #b0b0b0}.mat-warn{--mat-full-pseudo-checkbox-selected-icon-color: #f44336;--mat-full-pseudo-checkbox-selected-checkmark-color: #fafafa;--mat-full-pseudo-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mat-full-pseudo-checkbox-disabled-selected-checkmark-color: #fafafa;--mat-full-pseudo-checkbox-disabled-unselected-icon-color: #b0b0b0;--mat-full-pseudo-checkbox-disabled-selected-icon-color: #b0b0b0;--mat-minimal-pseudo-checkbox-selected-checkmark-color: #f44336;--mat-minimal-pseudo-checkbox-disabled-selected-checkmark-color: #b0b0b0}html{--mat-app-background-color: #fafafa;--mat-app-text-color: rgba(0, 0, 0, .87);--mat-app-elevation-shadow-level-0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-2: 0px 3px 1px -2px rgba(0, 0, 0, .2), 0px 2px 2px 0px rgba(0, 0, 0, .14), 0px 1px 5px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-3: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-4: 0px 2px 4px -1px rgba(0, 0, 0, .2), 0px 4px 5px 0px rgba(0, 0, 0, .14), 0px 1px 10px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-5: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 5px 8px 0px rgba(0, 0, 0, .14), 0px 1px 14px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-6: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-7: 0px 4px 5px -2px rgba(0, 0, 0, .2), 0px 7px 10px 1px rgba(0, 0, 0, .14), 0px 2px 16px 1px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-8: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-9: 0px 5px 6px -3px rgba(0, 0, 0, .2), 0px 9px 12px 1px rgba(0, 0, 0, .14), 0px 3px 16px 2px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-10: 0px 6px 6px -3px rgba(0, 0, 0, .2), 0px 10px 14px 1px rgba(0, 0, 0, .14), 0px 4px 18px 3px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-11: 0px 6px 7px -4px rgba(0, 0, 0, .2), 0px 11px 15px 1px rgba(0, 0, 0, .14), 0px 4px 20px 3px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-12: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-13: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 13px 19px 2px rgba(0, 0, 0, .14), 0px 5px 24px 4px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-14: 0px 7px 9px -4px rgba(0, 0, 0, .2), 0px 14px 21px 2px rgba(0, 0, 0, .14), 0px 5px 26px 4px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-15: 0px 8px 9px -5px rgba(0, 0, 0, .2), 0px 15px 22px 2px rgba(0, 0, 0, .14), 0px 6px 28px 5px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-16: 0px 8px 10px -5px rgba(0, 0, 0, .2), 0px 16px 24px 2px rgba(0, 0, 0, .14), 0px 6px 30px 5px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-17: 0px 8px 11px -5px rgba(0, 0, 0, .2), 0px 17px 26px 2px rgba(0, 0, 0, .14), 0px 6px 32px 5px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-18: 0px 9px 11px -5px rgba(0, 0, 0, .2), 0px 18px 28px 2px rgba(0, 0, 0, .14), 0px 7px 34px 6px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-19: 0px 9px 12px -6px rgba(0, 0, 0, .2), 0px 19px 29px 2px rgba(0, 0, 0, .14), 0px 7px 36px 6px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-20: 0px 10px 13px -6px rgba(0, 0, 0, .2), 0px 20px 31px 3px rgba(0, 0, 0, .14), 0px 8px 38px 7px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-21: 0px 10px 13px -6px rgba(0, 0, 0, .2), 0px 21px 33px 3px rgba(0, 0, 0, .14), 0px 8px 40px 7px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-22: 0px 10px 14px -6px rgba(0, 0, 0, .2), 0px 22px 35px 3px rgba(0, 0, 0, .14), 0px 8px 42px 7px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-23: 0px 11px 14px -7px rgba(0, 0, 0, .2), 0px 23px 36px 3px rgba(0, 0, 0, .14), 0px 9px 44px 8px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-24: 0px 11px 15px -7px rgba(0, 0, 0, .2), 0px 24px 38px 3px rgba(0, 0, 0, .14), 0px 9px 46px 8px rgba(0, 0, 0, .12)}html{--mat-option-label-text-font: Roboto, sans-serif;--mat-option-label-text-line-height: 24px;--mat-option-label-text-size: 16px;--mat-option-label-text-tracking: .03125em;--mat-option-label-text-weight: 400}html{--mat-optgroup-label-text-font: Roboto, sans-serif;--mat-optgroup-label-text-line-height: 24px;--mat-optgroup-label-text-size: 16px;--mat-optgroup-label-text-tracking: .03125em;--mat-optgroup-label-text-weight: 400}.mat-h1,.mat-headline-5,.mat-typography .mat-h1,.mat-typography .mat-headline-5,.mat-typography h1{font:400 24px/32px Roboto,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h2,.mat-headline-6,.mat-typography .mat-h2,.mat-typography .mat-headline-6,.mat-typography h2{font:500 20px/32px Roboto,sans-serif;letter-spacing:.0125em;margin:0 0 16px}.mat-h3,.mat-subtitle-1,.mat-typography .mat-h3,.mat-typography .mat-subtitle-1,.mat-typography h3{font:400 16px/28px Roboto,sans-serif;letter-spacing:.009375em;margin:0 0 16px}.mat-h4,.mat-body-1,.mat-typography .mat-h4,.mat-typography .mat-body-1,.mat-typography h4{font:400 16px/24px Roboto,sans-serif;letter-spacing:.03125em;margin:0 0 16px}.mat-h5,.mat-typography .mat-h5,.mat-typography h5{font:400 11.62px/20px Roboto,sans-serif;margin:0 0 12px}.mat-h6,.mat-typography .mat-h6,.mat-typography h6{font:400 9.38px/20px Roboto,sans-serif;margin:0 0 12px}.mat-body-strong,.mat-subtitle-2,.mat-typography .mat-body-strong,.mat-typography .mat-subtitle-2{font:500 14px/22px Roboto,sans-serif;letter-spacing:.0071428571em}.mat-body,.mat-body-2,.mat-typography .mat-body,.mat-typography .mat-body-2,.mat-typography{font:400 14px/20px Roboto,sans-serif;letter-spacing:.0178571429em}.mat-body p,.mat-body-2 p,.mat-typography .mat-body p,.mat-typography .mat-body-2 p,.mat-typography p{margin:0 0 12px}.mat-small,.mat-caption,.mat-typography .mat-small,.mat-typography .mat-caption{font:400 12px/20px Roboto,sans-serif;letter-spacing:.0333333333em}.mat-headline-1,.mat-typography .mat-headline-1{font:300 96px/96px Roboto,sans-serif;letter-spacing:-.015625em;margin:0 0 56px}.mat-headline-2,.mat-typography .mat-headline-2{font:300 60px/60px Roboto,sans-serif;letter-spacing:-.0083333333em;margin:0 0 64px}.mat-headline-3,.mat-typography .mat-headline-3{font:400 48px/50px Roboto,sans-serif;letter-spacing:normal;margin:0 0 64px}.mat-headline-4,.mat-typography .mat-headline-4{font:400 34px/40px Roboto,sans-serif;letter-spacing:.0073529412em;margin:0 0 64px}html{--mat-autocomplete-container-shape: 4px;--mat-autocomplete-container-elevation-shadow: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12)}html{--mat-autocomplete-background-color: white}html{--mdc-text-button-container-shape: 4px;--mdc-text-button-keep-touch-target: false;--mdc-filled-button-container-shape: 4px;--mdc-filled-button-keep-touch-target: false;--mdc-protected-button-container-shape: 4px;--mdc-protected-button-container-elevation-shadow: 0px 3px 1px -2px rgba(0, 0, 0, .2), 0px 2px 2px 0px rgba(0, 0, 0, .14), 0px 1px 5px 0px rgba(0, 0, 0, .12);--mdc-protected-button-disabled-container-elevation-shadow: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mdc-protected-button-focus-container-elevation-shadow: 0px 2px 4px -1px rgba(0, 0, 0, .2), 0px 4px 5px 0px rgba(0, 0, 0, .14), 0px 1px 10px 0px rgba(0, 0, 0, .12);--mdc-protected-button-hover-container-elevation-shadow: 0px 2px 4px -1px rgba(0, 0, 0, .2), 0px 4px 5px 0px rgba(0, 0, 0, .14), 0px 1px 10px 0px rgba(0, 0, 0, .12);--mdc-protected-button-pressed-container-elevation-shadow: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mdc-outlined-button-keep-touch-target: false;--mdc-outlined-button-outline-width: 1px;--mdc-outlined-button-container-shape: 4px;--mat-text-button-horizontal-padding: 8px;--mat-text-button-with-icon-horizontal-padding: 8px;--mat-text-button-icon-spacing: 8px;--mat-text-button-icon-offset: 0;--mat-filled-button-horizontal-padding: 16px;--mat-filled-button-icon-spacing: 8px;--mat-filled-button-icon-offset: -4px;--mat-protected-button-horizontal-padding: 16px;--mat-protected-button-icon-spacing: 8px;--mat-protected-button-icon-offset: -4px;--mat-outlined-button-horizontal-padding: 15px;--mat-outlined-button-icon-spacing: 8px;--mat-outlined-button-icon-offset: -4px}html{--mdc-text-button-label-text-color: black;--mdc-text-button-disabled-label-text-color: rgba(0, 0, 0, .38);--mat-text-button-state-layer-color: black;--mat-text-button-disabled-state-layer-color: black;--mat-text-button-ripple-color: rgba(0, 0, 0, .1);--mat-text-button-hover-state-layer-opacity: .04;--mat-text-button-focus-state-layer-opacity: .12;--mat-text-button-pressed-state-layer-opacity: .12;--mdc-filled-button-container-color: white;--mdc-filled-button-label-text-color: black;--mdc-filled-button-disabled-container-color: rgba(0, 0, 0, .12);--mdc-filled-button-disabled-label-text-color: rgba(0, 0, 0, .38);--mat-filled-button-state-layer-color: black;--mat-filled-button-disabled-state-layer-color: black;--mat-filled-button-ripple-color: rgba(0, 0, 0, .1);--mat-filled-button-hover-state-layer-opacity: .04;--mat-filled-button-focus-state-layer-opacity: .12;--mat-filled-button-pressed-state-layer-opacity: .12;--mdc-protected-button-container-color: white;--mdc-protected-button-label-text-color: black;--mdc-protected-button-disabled-container-color: rgba(0, 0, 0, .12);--mdc-protected-button-disabled-label-text-color: rgba(0, 0, 0, .38);--mat-protected-button-state-layer-color: black;--mat-protected-button-disabled-state-layer-color: black;--mat-protected-button-ripple-color: rgba(0, 0, 0, .1);--mat-protected-button-hover-state-layer-opacity: .04;--mat-protected-button-focus-state-layer-opacity: .12;--mat-protected-button-pressed-state-layer-opacity: .12;--mdc-outlined-button-disabled-outline-color: rgba(0, 0, 0, .12);--mdc-outlined-button-disabled-label-text-color: rgba(0, 0, 0, .38);--mdc-outlined-button-label-text-color: black;--mdc-outlined-button-outline-color: rgba(0, 0, 0, .12);--mat-outlined-button-state-layer-color: black;--mat-outlined-button-disabled-state-layer-color: black;--mat-outlined-button-ripple-color: rgba(0, 0, 0, .1);--mat-outlined-button-hover-state-layer-opacity: .04;--mat-outlined-button-focus-state-layer-opacity: .12;--mat-outlined-button-pressed-state-layer-opacity: .12}.mat-mdc-button.mat-primary,.mat-mdc-button.mat-accent{--mdc-text-button-label-text-color: #1a73e8;--mat-text-button-state-layer-color: #1a73e8;--mat-text-button-ripple-color: rgba(26, 115, 232, .1)}.mat-mdc-button.mat-warn{--mdc-text-button-label-text-color: #f44336;--mat-text-button-state-layer-color: #f44336;--mat-text-button-ripple-color: rgba(244, 67, 54, .1)}.mat-mdc-unelevated-button.mat-primary,.mat-mdc-unelevated-button.mat-accent{--mdc-filled-button-container-color: #1a73e8;--mdc-filled-button-label-text-color: white;--mat-filled-button-state-layer-color: white;--mat-filled-button-ripple-color: rgba(255, 255, 255, .1)}.mat-mdc-unelevated-button.mat-warn{--mdc-filled-button-container-color: #f44336;--mdc-filled-button-label-text-color: white;--mat-filled-button-state-layer-color: white;--mat-filled-button-ripple-color: rgba(255, 255, 255, .1)}.mat-mdc-raised-button.mat-primary,.mat-mdc-raised-button.mat-accent{--mdc-protected-button-container-color: #1a73e8;--mdc-protected-button-label-text-color: white;--mat-protected-button-state-layer-color: white;--mat-protected-button-ripple-color: rgba(255, 255, 255, .1)}.mat-mdc-raised-button.mat-warn{--mdc-protected-button-container-color: #f44336;--mdc-protected-button-label-text-color: white;--mat-protected-button-state-layer-color: white;--mat-protected-button-ripple-color: rgba(255, 255, 255, .1)}.mat-mdc-outlined-button.mat-primary,.mat-mdc-outlined-button.mat-accent{--mdc-outlined-button-label-text-color: #1a73e8;--mdc-outlined-button-outline-color: rgba(0, 0, 0, .12);--mat-outlined-button-state-layer-color: #1a73e8;--mat-outlined-button-ripple-color: rgba(26, 115, 232, .1)}.mat-mdc-outlined-button.mat-warn{--mdc-outlined-button-label-text-color: #f44336;--mdc-outlined-button-outline-color: rgba(0, 0, 0, .12);--mat-outlined-button-state-layer-color: #f44336;--mat-outlined-button-ripple-color: rgba(244, 67, 54, .1)}html{--mdc-text-button-container-height: 36px;--mdc-filled-button-container-height: 36px;--mdc-protected-button-container-height: 36px;--mdc-outlined-button-container-height: 36px;--mat-text-button-touch-target-display: block;--mat-filled-button-touch-target-display: block;--mat-protected-button-touch-target-display: block;--mat-outlined-button-touch-target-display: block}html{--mdc-text-button-label-text-font: Roboto, sans-serif;--mdc-text-button-label-text-size: 14px;--mdc-text-button-label-text-tracking: .0892857143em;--mdc-text-button-label-text-weight: 500;--mdc-text-button-label-text-transform: none;--mdc-filled-button-label-text-font: Roboto, sans-serif;--mdc-filled-button-label-text-size: 14px;--mdc-filled-button-label-text-tracking: .0892857143em;--mdc-filled-button-label-text-weight: 500;--mdc-filled-button-label-text-transform: none;--mdc-protected-button-label-text-font: Roboto, sans-serif;--mdc-protected-button-label-text-size: 14px;--mdc-protected-button-label-text-tracking: .0892857143em;--mdc-protected-button-label-text-weight: 500;--mdc-protected-button-label-text-transform: none;--mdc-outlined-button-label-text-font: Roboto, sans-serif;--mdc-outlined-button-label-text-size: 14px;--mdc-outlined-button-label-text-tracking: .0892857143em;--mdc-outlined-button-label-text-weight: 500;--mdc-outlined-button-label-text-transform: none}html{--mdc-elevated-card-container-shape: 4px;--mdc-outlined-card-container-shape: 4px;--mdc-outlined-card-outline-width: 1px}html{--mdc-elevated-card-container-color: white;--mdc-elevated-card-container-elevation: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mdc-outlined-card-container-color: white;--mdc-outlined-card-outline-color: rgba(0, 0, 0, .12);--mdc-outlined-card-container-elevation: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-card-subtitle-text-color: rgba(0, 0, 0, .54)}html{--mat-card-title-text-font: Roboto, sans-serif;--mat-card-title-text-line-height: 32px;--mat-card-title-text-size: 20px;--mat-card-title-text-tracking: .0125em;--mat-card-title-text-weight: 500;--mat-card-subtitle-text-font: Roboto, sans-serif;--mat-card-subtitle-text-line-height: 22px;--mat-card-subtitle-text-size: 14px;--mat-card-subtitle-text-tracking: .0071428571em;--mat-card-subtitle-text-weight: 500}html{--mdc-checkbox-disabled-selected-checkmark-color: #fff;--mdc-checkbox-selected-focus-state-layer-opacity: .16;--mdc-checkbox-selected-hover-state-layer-opacity: .04;--mdc-checkbox-selected-pressed-state-layer-opacity: .16;--mdc-checkbox-unselected-focus-state-layer-opacity: .16;--mdc-checkbox-unselected-hover-state-layer-opacity: .04;--mdc-checkbox-unselected-pressed-state-layer-opacity: .16}html{--mdc-checkbox-disabled-selected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color: white;--mdc-checkbox-selected-focus-icon-color: #1a73e8;--mdc-checkbox-selected-hover-icon-color: #1a73e8;--mdc-checkbox-selected-icon-color: #1a73e8;--mdc-checkbox-unselected-focus-icon-color: #212121;--mdc-checkbox-unselected-hover-icon-color: #212121;--mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color: #1a73e8;--mdc-checkbox-selected-hover-state-layer-color: #1a73e8;--mdc-checkbox-selected-pressed-state-layer-color: #1a73e8;--mdc-checkbox-unselected-focus-state-layer-color: black;--mdc-checkbox-unselected-hover-state-layer-color: black;--mdc-checkbox-unselected-pressed-state-layer-color: black;--mat-checkbox-disabled-label-color: rgba(0, 0, 0, .38);--mat-checkbox-label-text-color: rgba(0, 0, 0, .87)}.mat-mdc-checkbox.mat-primary{--mdc-checkbox-disabled-selected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color: white;--mdc-checkbox-selected-focus-icon-color: #1a73e8;--mdc-checkbox-selected-hover-icon-color: #1a73e8;--mdc-checkbox-selected-icon-color: #1a73e8;--mdc-checkbox-unselected-focus-icon-color: #212121;--mdc-checkbox-unselected-hover-icon-color: #212121;--mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color: #1a73e8;--mdc-checkbox-selected-hover-state-layer-color: #1a73e8;--mdc-checkbox-selected-pressed-state-layer-color: #1a73e8;--mdc-checkbox-unselected-focus-state-layer-color: black;--mdc-checkbox-unselected-hover-state-layer-color: black;--mdc-checkbox-unselected-pressed-state-layer-color: black}.mat-mdc-checkbox.mat-warn{--mdc-checkbox-disabled-selected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color: white;--mdc-checkbox-selected-focus-icon-color: #f44336;--mdc-checkbox-selected-hover-icon-color: #f44336;--mdc-checkbox-selected-icon-color: #f44336;--mdc-checkbox-unselected-focus-icon-color: #212121;--mdc-checkbox-unselected-hover-icon-color: #212121;--mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color: #f44336;--mdc-checkbox-selected-hover-state-layer-color: #f44336;--mdc-checkbox-selected-pressed-state-layer-color: #f44336;--mdc-checkbox-unselected-focus-state-layer-color: black;--mdc-checkbox-unselected-hover-state-layer-color: black;--mdc-checkbox-unselected-pressed-state-layer-color: black}html{--mdc-checkbox-state-layer-size: 40px;--mat-checkbox-touch-target-display: block}html{--mat-checkbox-label-text-font: Roboto, sans-serif;--mat-checkbox-label-text-line-height: 20px;--mat-checkbox-label-text-size: 14px;--mat-checkbox-label-text-tracking: .0178571429em;--mat-checkbox-label-text-weight: 400}html{--mdc-dialog-container-shape: 4px;--mat-dialog-container-elevation-shadow: 0px 11px 15px -7px rgba(0, 0, 0, .2), 0px 24px 38px 3px rgba(0, 0, 0, .14), 0px 9px 46px 8px rgba(0, 0, 0, .12);--mat-dialog-container-max-width: 80vw;--mat-dialog-container-small-max-width: 80vw;--mat-dialog-container-min-width: 0;--mat-dialog-actions-alignment: start;--mat-dialog-actions-padding: 8px;--mat-dialog-content-padding: 20px 24px;--mat-dialog-with-actions-content-padding: 20px 24px;--mat-dialog-headline-padding: 0 24px 9px}html{--mdc-dialog-container-color: white;--mdc-dialog-subhead-color: rgba(0, 0, 0, .87);--mdc-dialog-supporting-text-color: rgba(0, 0, 0, .6)}html{--mdc-dialog-subhead-font: Roboto, sans-serif;--mdc-dialog-subhead-line-height: 32px;--mdc-dialog-subhead-size: 20px;--mdc-dialog-subhead-weight: 500;--mdc-dialog-subhead-tracking: .0125em;--mdc-dialog-supporting-text-font: Roboto, sans-serif;--mdc-dialog-supporting-text-line-height: 24px;--mdc-dialog-supporting-text-size: 16px;--mdc-dialog-supporting-text-weight: 400;--mdc-dialog-supporting-text-tracking: .03125em}html{--mdc-filled-text-field-active-indicator-height: 1px;--mdc-filled-text-field-focus-active-indicator-height: 2px;--mdc-filled-text-field-container-shape: 4px;--mdc-outlined-text-field-outline-width: 1px;--mdc-outlined-text-field-focus-outline-width: 2px;--mdc-outlined-text-field-container-shape: 4px}html{--mdc-filled-text-field-caret-color: #1a73e8;--mdc-filled-text-field-focus-active-indicator-color: #1a73e8;--mdc-filled-text-field-focus-label-text-color: rgba(26, 115, 232, .87);--mdc-filled-text-field-container-color: whitesmoke;--mdc-filled-text-field-disabled-container-color: #fafafa;--mdc-filled-text-field-label-text-color: rgba(0, 0, 0, .6);--mdc-filled-text-field-hover-label-text-color: rgba(0, 0, 0, .6);--mdc-filled-text-field-disabled-label-text-color: rgba(0, 0, 0, .38);--mdc-filled-text-field-input-text-color: rgba(0, 0, 0, .87);--mdc-filled-text-field-disabled-input-text-color: rgba(0, 0, 0, .38);--mdc-filled-text-field-input-text-placeholder-color: rgba(0, 0, 0, .6);--mdc-filled-text-field-error-hover-label-text-color: #f44336;--mdc-filled-text-field-error-focus-label-text-color: #f44336;--mdc-filled-text-field-error-label-text-color: #f44336;--mdc-filled-text-field-error-caret-color: #f44336;--mdc-filled-text-field-active-indicator-color: rgba(0, 0, 0, .42);--mdc-filled-text-field-disabled-active-indicator-color: rgba(0, 0, 0, .06);--mdc-filled-text-field-hover-active-indicator-color: rgba(0, 0, 0, .87);--mdc-filled-text-field-error-active-indicator-color: #f44336;--mdc-filled-text-field-error-focus-active-indicator-color: #f44336;--mdc-filled-text-field-error-hover-active-indicator-color: #f44336;--mdc-outlined-text-field-caret-color: #1a73e8;--mdc-outlined-text-field-focus-outline-color: #1a73e8;--mdc-outlined-text-field-focus-label-text-color: rgba(26, 115, 232, .87);--mdc-outlined-text-field-label-text-color: rgba(0, 0, 0, .6);--mdc-outlined-text-field-hover-label-text-color: rgba(0, 0, 0, .6);--mdc-outlined-text-field-disabled-label-text-color: rgba(0, 0, 0, .38);--mdc-outlined-text-field-input-text-color: rgba(0, 0, 0, .87);--mdc-outlined-text-field-disabled-input-text-color: rgba(0, 0, 0, .38);--mdc-outlined-text-field-input-text-placeholder-color: rgba(0, 0, 0, .6);--mdc-outlined-text-field-error-caret-color: #f44336;--mdc-outlined-text-field-error-focus-label-text-color: #f44336;--mdc-outlined-text-field-error-label-text-color: #f44336;--mdc-outlined-text-field-error-hover-label-text-color: #f44336;--mdc-outlined-text-field-outline-color: rgba(0, 0, 0, .38);--mdc-outlined-text-field-disabled-outline-color: rgba(0, 0, 0, .06);--mdc-outlined-text-field-hover-outline-color: rgba(0, 0, 0, .87);--mdc-outlined-text-field-error-focus-outline-color: #f44336;--mdc-outlined-text-field-error-hover-outline-color: #f44336;--mdc-outlined-text-field-error-outline-color: #f44336;--mat-form-field-focus-select-arrow-color: rgba(26, 115, 232, .87);--mat-form-field-disabled-input-text-placeholder-color: rgba(0, 0, 0, .38);--mat-form-field-state-layer-color: rgba(0, 0, 0, .87);--mat-form-field-error-text-color: #f44336;--mat-form-field-select-option-text-color: inherit;--mat-form-field-select-disabled-option-text-color: GrayText;--mat-form-field-leading-icon-color: unset;--mat-form-field-disabled-leading-icon-color: unset;--mat-form-field-trailing-icon-color: unset;--mat-form-field-disabled-trailing-icon-color: unset;--mat-form-field-error-focus-trailing-icon-color: unset;--mat-form-field-error-hover-trailing-icon-color: unset;--mat-form-field-error-trailing-icon-color: unset;--mat-form-field-enabled-select-arrow-color: rgba(0, 0, 0, .54);--mat-form-field-disabled-select-arrow-color: rgba(0, 0, 0, .38);--mat-form-field-hover-state-layer-opacity: .04;--mat-form-field-focus-state-layer-opacity: .08}.mat-mdc-form-field.mat-accent{--mdc-filled-text-field-caret-color: #1a73e8;--mdc-filled-text-field-focus-active-indicator-color: #1a73e8;--mdc-filled-text-field-focus-label-text-color: rgba(26, 115, 232, .87);--mdc-outlined-text-field-caret-color: #1a73e8;--mdc-outlined-text-field-focus-outline-color: #1a73e8;--mdc-outlined-text-field-focus-label-text-color: rgba(26, 115, 232, .87);--mat-form-field-focus-select-arrow-color: rgba(26, 115, 232, .87)}.mat-mdc-form-field.mat-warn{--mdc-filled-text-field-caret-color: #f44336;--mdc-filled-text-field-focus-active-indicator-color: #f44336;--mdc-filled-text-field-focus-label-text-color: rgba(244, 67, 54, .87);--mdc-outlined-text-field-caret-color: #f44336;--mdc-outlined-text-field-focus-outline-color: #f44336;--mdc-outlined-text-field-focus-label-text-color: rgba(244, 67, 54, .87);--mat-form-field-focus-select-arrow-color: rgba(244, 67, 54, .87)}html{--mat-form-field-container-height: 56px;--mat-form-field-filled-label-display: block;--mat-form-field-container-vertical-padding: 16px;--mat-form-field-filled-with-label-container-padding-top: 24px;--mat-form-field-filled-with-label-container-padding-bottom: 8px}html{--mdc-filled-text-field-label-text-font: Roboto, sans-serif;--mdc-filled-text-field-label-text-size: 16px;--mdc-filled-text-field-label-text-tracking: .03125em;--mdc-filled-text-field-label-text-weight: 400;--mdc-outlined-text-field-label-text-font: Roboto, sans-serif;--mdc-outlined-text-field-label-text-size: 16px;--mdc-outlined-text-field-label-text-tracking: .03125em;--mdc-outlined-text-field-label-text-weight: 400;--mat-form-field-container-text-font: Roboto, sans-serif;--mat-form-field-container-text-line-height: 24px;--mat-form-field-container-text-size: 16px;--mat-form-field-container-text-tracking: .03125em;--mat-form-field-container-text-weight: 400;--mat-form-field-outlined-label-text-populated-size: 16px;--mat-form-field-subscript-text-font: Roboto, sans-serif;--mat-form-field-subscript-text-line-height: 20px;--mat-form-field-subscript-text-size: 12px;--mat-form-field-subscript-text-tracking: .0333333333em;--mat-form-field-subscript-text-weight: 400}html{--mdc-icon-button-icon-size: 24px}html{--mdc-icon-button-icon-color: inherit;--mdc-icon-button-disabled-icon-color: rgba(0, 0, 0, .38);--mat-icon-button-state-layer-color: black;--mat-icon-button-disabled-state-layer-color: black;--mat-icon-button-ripple-color: rgba(0, 0, 0, .1);--mat-icon-button-hover-state-layer-opacity: .04;--mat-icon-button-focus-state-layer-opacity: .12;--mat-icon-button-pressed-state-layer-opacity: .12}html .mat-mdc-icon-button.mat-primary,html .mat-mdc-icon-button.mat-accent{--mdc-icon-button-icon-color: #1a73e8;--mat-icon-button-state-layer-color: #1a73e8;--mat-icon-button-ripple-color: rgba(26, 115, 232, .1)}html .mat-mdc-icon-button.mat-warn{--mdc-icon-button-icon-color: #f44336;--mat-icon-button-state-layer-color: #f44336;--mat-icon-button-ripple-color: rgba(244, 67, 54, .1)}html{--mat-icon-button-touch-target-display: block}.mat-mdc-icon-button.mat-mdc-button-base{--mdc-icon-button-state-layer-size: 48px;width:var(--mdc-icon-button-state-layer-size);height:var(--mdc-icon-button-state-layer-size);padding:12px}html{--mat-icon-color: inherit}.mat-icon.mat-primary,.mat-icon.mat-accent{--mat-icon-color: #1a73e8}.mat-icon.mat-warn{--mat-icon-color: #f44336}html{--mdc-list-list-item-container-shape: 0;--mdc-list-list-item-leading-avatar-shape: 50%;--mdc-list-list-item-container-color: transparent;--mdc-list-list-item-selected-container-color: transparent;--mdc-list-list-item-leading-avatar-color: transparent;--mdc-list-list-item-leading-icon-size: 24px;--mdc-list-list-item-leading-avatar-size: 40px;--mdc-list-list-item-trailing-icon-size: 24px;--mdc-list-list-item-disabled-state-layer-color: transparent;--mdc-list-list-item-disabled-state-layer-opacity: 0;--mdc-list-list-item-disabled-label-text-opacity: .38;--mdc-list-list-item-disabled-leading-icon-opacity: .38;--mdc-list-list-item-disabled-trailing-icon-opacity: .38;--mat-list-active-indicator-color: transparent;--mat-list-active-indicator-shape: 4px}html{--mdc-list-list-item-label-text-color: rgba(0, 0, 0, .87);--mdc-list-list-item-supporting-text-color: rgba(0, 0, 0, .54);--mdc-list-list-item-leading-icon-color: rgba(0, 0, 0, .38);--mdc-list-list-item-trailing-supporting-text-color: rgba(0, 0, 0, .38);--mdc-list-list-item-trailing-icon-color: rgba(0, 0, 0, .38);--mdc-list-list-item-selected-trailing-icon-color: rgba(0, 0, 0, .38);--mdc-list-list-item-disabled-label-text-color: black;--mdc-list-list-item-disabled-leading-icon-color: black;--mdc-list-list-item-disabled-trailing-icon-color: black;--mdc-list-list-item-hover-label-text-color: rgba(0, 0, 0, .87);--mdc-list-list-item-hover-leading-icon-color: rgba(0, 0, 0, .38);--mdc-list-list-item-hover-trailing-icon-color: rgba(0, 0, 0, .38);--mdc-list-list-item-focus-label-text-color: rgba(0, 0, 0, .87);--mdc-list-list-item-hover-state-layer-color: black;--mdc-list-list-item-hover-state-layer-opacity: .04;--mdc-list-list-item-focus-state-layer-color: black;--mdc-list-list-item-focus-state-layer-opacity: .12}.mdc-list-item__start,.mdc-list-item__end,.mat-accent .mdc-list-item__start,.mat-accent .mdc-list-item__end{--mdc-radio-disabled-selected-icon-color: black;--mdc-radio-disabled-unselected-icon-color: black;--mdc-radio-unselected-hover-icon-color: #212121;--mdc-radio-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-radio-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-radio-selected-focus-icon-color: #1a73e8;--mdc-radio-selected-hover-icon-color: #1a73e8;--mdc-radio-selected-icon-color: #1a73e8;--mdc-radio-selected-pressed-icon-color: #1a73e8}.mat-warn .mdc-list-item__start,.mat-warn .mdc-list-item__end{--mdc-radio-disabled-selected-icon-color: black;--mdc-radio-disabled-unselected-icon-color: black;--mdc-radio-unselected-hover-icon-color: #212121;--mdc-radio-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-radio-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-radio-selected-focus-icon-color: #f44336;--mdc-radio-selected-hover-icon-color: #f44336;--mdc-radio-selected-icon-color: #f44336;--mdc-radio-selected-pressed-icon-color: #f44336}.mat-mdc-list-option,.mat-mdc-list-option.mat-accent{--mdc-checkbox-disabled-selected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color: white;--mdc-checkbox-selected-focus-icon-color: #1a73e8;--mdc-checkbox-selected-hover-icon-color: #1a73e8;--mdc-checkbox-selected-icon-color: #1a73e8;--mdc-checkbox-unselected-focus-icon-color: #212121;--mdc-checkbox-unselected-hover-icon-color: #212121;--mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color: #1a73e8;--mdc-checkbox-selected-hover-state-layer-color: #1a73e8;--mdc-checkbox-selected-pressed-state-layer-color: #1a73e8;--mdc-checkbox-unselected-focus-state-layer-color: black;--mdc-checkbox-unselected-hover-state-layer-color: black;--mdc-checkbox-unselected-pressed-state-layer-color: black}.mat-mdc-list-option.mat-warn{--mdc-checkbox-disabled-selected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color: white;--mdc-checkbox-selected-focus-icon-color: #f44336;--mdc-checkbox-selected-hover-icon-color: #f44336;--mdc-checkbox-selected-icon-color: #f44336;--mdc-checkbox-unselected-focus-icon-color: #212121;--mdc-checkbox-unselected-hover-icon-color: #212121;--mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color: #f44336;--mdc-checkbox-selected-hover-state-layer-color: #f44336;--mdc-checkbox-selected-pressed-state-layer-color: #f44336;--mdc-checkbox-unselected-focus-state-layer-color: black;--mdc-checkbox-unselected-hover-state-layer-color: black;--mdc-checkbox-unselected-pressed-state-layer-color: black}.mat-mdc-list-base.mat-mdc-list-base .mdc-list-item--selected .mdc-list-item__primary-text,.mat-mdc-list-base.mat-mdc-list-base .mdc-list-item--selected .mdc-list-item__start,.mat-mdc-list-base.mat-mdc-list-base .mdc-list-item--activated .mdc-list-item__primary-text,.mat-mdc-list-base.mat-mdc-list-base .mdc-list-item--activated .mdc-list-item__start{color:#1a73e8}.mat-mdc-list-base .mdc-list-item--disabled .mdc-list-item__start,.mat-mdc-list-base .mdc-list-item--disabled .mdc-list-item__content,.mat-mdc-list-base .mdc-list-item--disabled .mdc-list-item__end{opacity:1}html{--mdc-list-list-item-one-line-container-height: 48px;--mdc-list-list-item-two-line-container-height: 64px;--mdc-list-list-item-three-line-container-height: 88px;--mat-list-list-item-leading-icon-start-space: 16px;--mat-list-list-item-leading-icon-end-space: 32px}.mdc-list-item__start,.mdc-list-item__end{--mdc-radio-state-layer-size: 40px}.mat-mdc-list-item.mdc-list-item--with-leading-avatar.mdc-list-item--with-one-line,.mat-mdc-list-item.mdc-list-item--with-leading-checkbox.mdc-list-item--with-one-line,.mat-mdc-list-item.mdc-list-item--with-leading-icon.mdc-list-item--with-one-line{height:56px}.mat-mdc-list-item.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines,.mat-mdc-list-item.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines,.mat-mdc-list-item.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines{height:72px}html{--mdc-list-list-item-label-text-font: Roboto, sans-serif;--mdc-list-list-item-label-text-line-height: 24px;--mdc-list-list-item-label-text-size: 16px;--mdc-list-list-item-label-text-tracking: .03125em;--mdc-list-list-item-label-text-weight: 400;--mdc-list-list-item-supporting-text-font: Roboto, sans-serif;--mdc-list-list-item-supporting-text-line-height: 20px;--mdc-list-list-item-supporting-text-size: 14px;--mdc-list-list-item-supporting-text-tracking: .0178571429em;--mdc-list-list-item-supporting-text-weight: 400;--mdc-list-list-item-trailing-supporting-text-font: Roboto, sans-serif;--mdc-list-list-item-trailing-supporting-text-line-height: 20px;--mdc-list-list-item-trailing-supporting-text-size: 12px;--mdc-list-list-item-trailing-supporting-text-tracking: .0333333333em;--mdc-list-list-item-trailing-supporting-text-weight: 400}.mdc-list-group__subheader{font:400 16px/28px Roboto,sans-serif;letter-spacing:.009375em}html{--mat-menu-container-shape: 4px;--mat-menu-divider-bottom-spacing: 0;--mat-menu-divider-top-spacing: 0;--mat-menu-item-spacing: 16px;--mat-menu-item-icon-size: 24px;--mat-menu-item-leading-spacing: 16px;--mat-menu-item-trailing-spacing: 16px;--mat-menu-item-with-icon-leading-spacing: 16px;--mat-menu-item-with-icon-trailing-spacing: 16px;--mat-menu-base-elevation-level: 8}html{--mat-menu-item-label-text-color: rgba(0, 0, 0, .87);--mat-menu-item-icon-color: rgba(0, 0, 0, .87);--mat-menu-item-hover-state-layer-color: rgba(0, 0, 0, .04);--mat-menu-item-focus-state-layer-color: rgba(0, 0, 0, .04);--mat-menu-container-color: white;--mat-menu-divider-color: rgba(0, 0, 0, .12)}html{--mat-menu-item-label-text-font: Roboto, sans-serif;--mat-menu-item-label-text-size: 16px;--mat-menu-item-label-text-tracking: .03125em;--mat-menu-item-label-text-line-height: 24px;--mat-menu-item-label-text-weight: 400}html{--mdc-circular-progress-active-indicator-width: 4px;--mdc-circular-progress-size: 48px}html,html .mat-accent{--mdc-circular-progress-active-indicator-color: #1a73e8}html .mat-warn{--mdc-circular-progress-active-indicator-color: #f44336}html{--mat-select-container-elevation-shadow: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12)}html,html .mat-mdc-form-field.mat-accent{--mat-select-panel-background-color: white;--mat-select-enabled-trigger-text-color: rgba(0, 0, 0, .87);--mat-select-disabled-trigger-text-color: rgba(0, 0, 0, .38);--mat-select-placeholder-text-color: rgba(0, 0, 0, .6);--mat-select-enabled-arrow-color: rgba(0, 0, 0, .54);--mat-select-disabled-arrow-color: rgba(0, 0, 0, .38);--mat-select-focused-arrow-color: rgba(26, 115, 232, .87);--mat-select-invalid-arrow-color: rgba(244, 67, 54, .87)}html .mat-mdc-form-field.mat-warn{--mat-select-panel-background-color: white;--mat-select-enabled-trigger-text-color: rgba(0, 0, 0, .87);--mat-select-disabled-trigger-text-color: rgba(0, 0, 0, .38);--mat-select-placeholder-text-color: rgba(0, 0, 0, .6);--mat-select-enabled-arrow-color: rgba(0, 0, 0, .54);--mat-select-disabled-arrow-color: rgba(0, 0, 0, .38);--mat-select-focused-arrow-color: rgba(244, 67, 54, .87);--mat-select-invalid-arrow-color: rgba(244, 67, 54, .87)}html{--mat-select-arrow-transform: translateY(-8px)}html{--mat-select-trigger-text-font: Roboto, sans-serif;--mat-select-trigger-text-line-height: 24px;--mat-select-trigger-text-size: 16px;--mat-select-trigger-text-tracking: .03125em;--mat-select-trigger-text-weight: 400}html{--mat-sidenav-container-shape: 0;--mat-sidenav-container-elevation-shadow: 0px 8px 10px -5px rgba(0, 0, 0, .2), 0px 16px 24px 2px rgba(0, 0, 0, .14), 0px 6px 30px 5px rgba(0, 0, 0, .12);--mat-sidenav-container-width: auto}html{--mat-sidenav-container-divider-color: rgba(0, 0, 0, .12);--mat-sidenav-container-background-color: white;--mat-sidenav-container-text-color: rgba(0, 0, 0, .87);--mat-sidenav-content-background-color: #fafafa;--mat-sidenav-content-text-color: rgba(0, 0, 0, .87);--mat-sidenav-scrim-color: rgba(0, 0, 0, .6)}html{--mdc-switch-disabled-selected-icon-opacity: .38;--mdc-switch-disabled-track-opacity: .12;--mdc-switch-disabled-unselected-icon-opacity: .38;--mdc-switch-handle-height: 20px;--mdc-switch-handle-shape: 10px;--mdc-switch-handle-width: 20px;--mdc-switch-selected-icon-size: 18px;--mdc-switch-track-height: 14px;--mdc-switch-track-shape: 7px;--mdc-switch-track-width: 36px;--mdc-switch-unselected-icon-size: 18px;--mdc-switch-selected-focus-state-layer-opacity: .12;--mdc-switch-selected-hover-state-layer-opacity: .04;--mdc-switch-selected-pressed-state-layer-opacity: .1;--mdc-switch-unselected-focus-state-layer-opacity: .12;--mdc-switch-unselected-hover-state-layer-opacity: .04;--mdc-switch-unselected-pressed-state-layer-opacity: .1}html .mat-mdc-slide-toggle{--mat-switch-disabled-selected-handle-opacity: .38;--mat-switch-disabled-unselected-handle-opacity: .38;--mat-switch-unselected-handle-size: 20px;--mat-switch-selected-handle-size: 20px;--mat-switch-pressed-handle-size: 20px;--mat-switch-with-icon-handle-size: 20px;--mat-switch-selected-handle-horizontal-margin: 0;--mat-switch-selected-with-icon-handle-horizontal-margin: 0;--mat-switch-selected-pressed-handle-horizontal-margin: 0;--mat-switch-unselected-handle-horizontal-margin: 0;--mat-switch-unselected-with-icon-handle-horizontal-margin: 0;--mat-switch-unselected-pressed-handle-horizontal-margin: 0;--mat-switch-visible-track-opacity: 1;--mat-switch-hidden-track-opacity: 1;--mat-switch-visible-track-transition: transform 75ms 0ms cubic-bezier(0, 0, .2, 1);--mat-switch-hidden-track-transition: transform 75ms 0ms cubic-bezier(.4, 0, .6, 1);--mat-switch-track-outline-width: 1px;--mat-switch-track-outline-color: transparent;--mat-switch-selected-track-outline-width: 1px;--mat-switch-selected-track-outline-color: transparent;--mat-switch-disabled-unselected-track-outline-width: 1px;--mat-switch-disabled-unselected-track-outline-color: transparent}html{--mdc-switch-selected-focus-state-layer-color: #1a73e8;--mdc-switch-selected-handle-color: #1a73e8;--mdc-switch-selected-hover-state-layer-color: #1a73e8;--mdc-switch-selected-pressed-state-layer-color: #1a73e8;--mdc-switch-selected-focus-handle-color: #174ea6;--mdc-switch-selected-hover-handle-color: #174ea6;--mdc-switch-selected-pressed-handle-color: #174ea6;--mdc-switch-selected-focus-track-color: #8ab4f8;--mdc-switch-selected-hover-track-color: #8ab4f8;--mdc-switch-selected-pressed-track-color: #8ab4f8;--mdc-switch-selected-track-color: #8ab4f8;--mdc-switch-disabled-selected-handle-color: #424242;--mdc-switch-disabled-selected-icon-color: #fff;--mdc-switch-disabled-selected-track-color: #424242;--mdc-switch-disabled-unselected-handle-color: #424242;--mdc-switch-disabled-unselected-icon-color: #fff;--mdc-switch-disabled-unselected-track-color: #424242;--mdc-switch-handle-surface-color: #fff;--mdc-switch-selected-icon-color: #fff;--mdc-switch-unselected-focus-handle-color: #212121;--mdc-switch-unselected-focus-state-layer-color: #424242;--mdc-switch-unselected-focus-track-color: #e0e0e0;--mdc-switch-unselected-handle-color: #616161;--mdc-switch-unselected-hover-handle-color: #212121;--mdc-switch-unselected-hover-state-layer-color: #424242;--mdc-switch-unselected-hover-track-color: #e0e0e0;--mdc-switch-unselected-icon-color: #fff;--mdc-switch-unselected-pressed-handle-color: #212121;--mdc-switch-unselected-pressed-state-layer-color: #424242;--mdc-switch-unselected-pressed-track-color: #e0e0e0;--mdc-switch-unselected-track-color: #e0e0e0;--mdc-switch-handle-elevation-shadow: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mdc-switch-disabled-handle-elevation-shadow: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mdc-switch-disabled-label-text-color: rgba(0, 0, 0, .38)}html .mat-mdc-slide-toggle{--mat-switch-label-text-color: rgba(0, 0, 0, .87)}html .mat-mdc-slide-toggle.mat-accent{--mdc-switch-selected-focus-state-layer-color: #1a73e8;--mdc-switch-selected-handle-color: #1a73e8;--mdc-switch-selected-hover-state-layer-color: #1a73e8;--mdc-switch-selected-pressed-state-layer-color: #1a73e8;--mdc-switch-selected-focus-handle-color: #174ea6;--mdc-switch-selected-hover-handle-color: #174ea6;--mdc-switch-selected-pressed-handle-color: #174ea6;--mdc-switch-selected-focus-track-color: #8ab4f8;--mdc-switch-selected-hover-track-color: #8ab4f8;--mdc-switch-selected-pressed-track-color: #8ab4f8;--mdc-switch-selected-track-color: #8ab4f8}html .mat-mdc-slide-toggle.mat-warn{--mdc-switch-selected-focus-state-layer-color: #e53935;--mdc-switch-selected-handle-color: #e53935;--mdc-switch-selected-hover-state-layer-color: #e53935;--mdc-switch-selected-pressed-state-layer-color: #e53935;--mdc-switch-selected-focus-handle-color: #b71c1c;--mdc-switch-selected-hover-handle-color: #b71c1c;--mdc-switch-selected-pressed-handle-color: #b71c1c;--mdc-switch-selected-focus-track-color: #e57373;--mdc-switch-selected-hover-track-color: #e57373;--mdc-switch-selected-pressed-track-color: #e57373;--mdc-switch-selected-track-color: #e57373}html{--mdc-switch-state-layer-size: 40px}html .mat-mdc-slide-toggle{--mat-switch-label-text-font: Roboto, sans-serif;--mat-switch-label-text-line-height: 20px;--mat-switch-label-text-size: 14px;--mat-switch-label-text-tracking: .0178571429em;--mat-switch-label-text-weight: 400}html{--mdc-snackbar-container-shape: 4px}html{--mdc-snackbar-container-color: #333333;--mdc-snackbar-supporting-text-color: rgba(255, 255, 255, .87);--mat-snack-bar-button-color: #1a73e8}html{--mdc-snackbar-supporting-text-font: Roboto, sans-serif;--mdc-snackbar-supporting-text-line-height: 20px;--mdc-snackbar-supporting-text-size: 14px;--mdc-snackbar-supporting-text-weight: 400}html{--mdc-plain-tooltip-container-shape: 4px;--mdc-plain-tooltip-supporting-text-line-height: 16px}html{--mdc-plain-tooltip-container-color: #616161;--mdc-plain-tooltip-supporting-text-color: #fff}html{--mdc-plain-tooltip-supporting-text-font: Roboto, sans-serif;--mdc-plain-tooltip-supporting-text-size: 12px;--mdc-plain-tooltip-supporting-text-weight: 400;--mdc-plain-tooltip-supporting-text-tracking: .0333333333em}html{--mat-tree-container-background-color: white;--mat-tree-node-text-color: rgba(0, 0, 0, .87)}html{--mat-tree-node-min-height: 48px}html{--mat-tree-node-text-font: Roboto, sans-serif;--mat-tree-node-text-size: 14px;--mat-tree-node-text-weight: 400}body{font-size:16px;font-weight:400;line-height:24px;font-family:Roboto,sans-serif;letter-spacing:.03125em;background-color:#fafafa}html,body{margin:0;height:100%;line-height:normal;letter-spacing:normal;overflow:hidden;font-family:Google Sans Text,Arial,Helvetica,sans-serif;background-color:#fff}input,textarea{font-family:Google Sans Text,Arial,Helvetica,sans-serif}button>span{font-family:Google Sans Text,Arial,Helvetica,sans-serif;letter-spacing:normal}@font-face{font-family:Material Icons;font-style:normal;font-weight:400;src:url(/static_files/material_icon.woff2) format("woff2")}@font-face{font-family:Google Material Icons;font-style:normal;font-weight:400;src:url(/static_files/google_material_icon.woff2) format("woff2")}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.google-material-icons{font-family:Google Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}@font-face{font-family:Google Sans Text;font-style:italic;font-weight:400;src:url(/static_files/5aUo9-KzpRiLCAt4Unrc-xIKmCU5qE9GjU9GixI.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Google Sans Text;font-style:italic;font-weight:400;src:url(/static_files/5aUo9-KzpRiLCAt4Unrc-xIKmCU5qE9Gik9GixI.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Google Sans Text;font-style:italic;font-weight:400;src:url(/static_files/5aUo9-KzpRiLCAt4Unrc-xIKmCU5qE9Ghk9GixI.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Google Sans Text;font-style:italic;font-weight:400;src:url(/static_files/5aUo9-KzpRiLCAt4Unrc-xIKmCU5qE9Gh09GixI.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Google Sans Text;font-style:italic;font-weight:400;src:url(/static_files/5aUo9-KzpRiLCAt4Unrc-xIKmCU5qE9GiU9G.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Google Sans Text;font-style:italic;font-weight:500;src:url(/static_files/5aUr9-KzpRiLCAt4Unrc-xIKmCU5qE9OemxTsDO_PZ0.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Google Sans Text;font-style:italic;font-weight:500;src:url(/static_files/5aUr9-KzpRiLCAt4Unrc-xIKmCU5qE9OemxTtzO_PZ0.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Google Sans Text;font-style:italic;font-weight:500;src:url(/static_files/5aUr9-KzpRiLCAt4Unrc-xIKmCU5qE9OemxTuzO_PZ0.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Google Sans Text;font-style:italic;font-weight:500;src:url(/static_files/5aUr9-KzpRiLCAt4Unrc-xIKmCU5qE9OemxTujO_PZ0.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Google Sans Text;font-style:italic;font-weight:500;src:url(/static_files/5aUr9-KzpRiLCAt4Unrc-xIKmCU5qE9OemxTtDO_.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Google Sans Text;font-style:italic;font-weight:700;src:url(/static_files/5aUr9-KzpRiLCAt4Unrc-xIKmCU5qE9OMmpTsDO_PZ0.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Google Sans Text;font-style:italic;font-weight:700;src:url(/static_files/5aUr9-KzpRiLCAt4Unrc-xIKmCU5qE9OMmpTtzO_PZ0.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Google Sans Text;font-style:italic;font-weight:700;src:url(/static_files/5aUr9-KzpRiLCAt4Unrc-xIKmCU5qE9OMmpTuzO_PZ0.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Google Sans Text;font-style:italic;font-weight:700;src:url(/static_files/5aUr9-KzpRiLCAt4Unrc-xIKmCU5qE9OMmpTujO_PZ0.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Google Sans Text;font-style:italic;font-weight:700;src:url(/static_files/5aUr9-KzpRiLCAt4Unrc-xIKmCU5qE9OMmpTtDO_.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Google Sans Text;font-style:normal;font-weight:400;src:url(/static_files/5aUu9-KzpRiLCAt4Unrc-xIKmCU5qE52i1dC.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Google Sans Text;font-style:normal;font-weight:400;src:url(/static_files/5aUu9-KzpRiLCAt4Unrc-xIKmCU5qEl2i1dC.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Google Sans Text;font-style:normal;font-weight:400;src:url(/static_files/5aUu9-KzpRiLCAt4Unrc-xIKmCU5qEV2i1dC.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Google Sans Text;font-style:normal;font-weight:400;src:url(/static_files/5aUu9-KzpRiLCAt4Unrc-xIKmCU5qER2i1dC.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Google Sans Text;font-style:normal;font-weight:400;src:url(/static_files/5aUu9-KzpRiLCAt4Unrc-xIKmCU5qEp2iw.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Google Sans Text;font-style:normal;font-weight:500;src:url(/static_files/5aUp9-KzpRiLCAt4Unrc-xIKmCU5oLlVnmxjtiu7.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Google Sans Text;font-style:normal;font-weight:500;src:url(/static_files/5aUp9-KzpRiLCAt4Unrc-xIKmCU5oLlVnmtjtiu7.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Google Sans Text;font-style:normal;font-weight:500;src:url(/static_files/5aUp9-KzpRiLCAt4Unrc-xIKmCU5oLlVnmdjtiu7.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Google Sans Text;font-style:normal;font-weight:500;src:url(/static_files/5aUp9-KzpRiLCAt4Unrc-xIKmCU5oLlVnmZjtiu7.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Google Sans Text;font-style:normal;font-weight:500;src:url(/static_files/5aUp9-KzpRiLCAt4Unrc-xIKmCU5oLlVnmhjtg.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Google Sans Text;font-style:normal;font-weight:700;src:url(/static_files/5aUp9-KzpRiLCAt4Unrc-xIKmCU5oPFTnmxjtiu7.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Google Sans Text;font-style:normal;font-weight:700;src:url(/static_files/5aUp9-KzpRiLCAt4Unrc-xIKmCU5oPFTnmtjtiu7.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Google Sans Text;font-style:normal;font-weight:700;src:url(/static_files/5aUp9-KzpRiLCAt4Unrc-xIKmCU5oPFTnmdjtiu7.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Google Sans Text;font-style:normal;font-weight:700;src:url(/static_files/5aUp9-KzpRiLCAt4Unrc-xIKmCU5oPFTnmZjtiu7.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Google Sans Text;font-style:normal;font-weight:700;src:url(/static_files/5aUp9-KzpRiLCAt4Unrc-xIKmCU5oPFTnmhjtg.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD} +.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0);background-color:var(--mat-ripple-color, rgba(0, 0, 0, .1))}.cdk-high-contrast-active .mat-ripple-element,.cdk-drag-preview .mat-ripple-element,.cdk-drag-placeholder .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-mdc-focus-indicator-display, none);border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.mat-app-background{background-color:var(--mat-app-background-color, transparent);color:var(--mat-app-text-color, inherit)}.mat-elevation-z0,.mat-mdc-elevation-specific.mat-elevation-z0{box-shadow:var(--mat-app-elevation-shadow-level-0, none)}.mat-elevation-z1,.mat-mdc-elevation-specific.mat-elevation-z1{box-shadow:var(--mat-app-elevation-shadow-level-1, none)}.mat-elevation-z2,.mat-mdc-elevation-specific.mat-elevation-z2{box-shadow:var(--mat-app-elevation-shadow-level-2, none)}.mat-elevation-z3,.mat-mdc-elevation-specific.mat-elevation-z3{box-shadow:var(--mat-app-elevation-shadow-level-3, none)}.mat-elevation-z4,.mat-mdc-elevation-specific.mat-elevation-z4{box-shadow:var(--mat-app-elevation-shadow-level-4, none)}.mat-elevation-z5,.mat-mdc-elevation-specific.mat-elevation-z5{box-shadow:var(--mat-app-elevation-shadow-level-5, none)}.mat-elevation-z6,.mat-mdc-elevation-specific.mat-elevation-z6{box-shadow:var(--mat-app-elevation-shadow-level-6, none)}.mat-elevation-z7,.mat-mdc-elevation-specific.mat-elevation-z7{box-shadow:var(--mat-app-elevation-shadow-level-7, none)}.mat-elevation-z8,.mat-mdc-elevation-specific.mat-elevation-z8{box-shadow:var(--mat-app-elevation-shadow-level-8, none)}.mat-elevation-z9,.mat-mdc-elevation-specific.mat-elevation-z9{box-shadow:var(--mat-app-elevation-shadow-level-9, none)}.mat-elevation-z10,.mat-mdc-elevation-specific.mat-elevation-z10{box-shadow:var(--mat-app-elevation-shadow-level-10, none)}.mat-elevation-z11,.mat-mdc-elevation-specific.mat-elevation-z11{box-shadow:var(--mat-app-elevation-shadow-level-11, none)}.mat-elevation-z12,.mat-mdc-elevation-specific.mat-elevation-z12{box-shadow:var(--mat-app-elevation-shadow-level-12, none)}.mat-elevation-z13,.mat-mdc-elevation-specific.mat-elevation-z13{box-shadow:var(--mat-app-elevation-shadow-level-13, none)}.mat-elevation-z14,.mat-mdc-elevation-specific.mat-elevation-z14{box-shadow:var(--mat-app-elevation-shadow-level-14, none)}.mat-elevation-z15,.mat-mdc-elevation-specific.mat-elevation-z15{box-shadow:var(--mat-app-elevation-shadow-level-15, none)}.mat-elevation-z16,.mat-mdc-elevation-specific.mat-elevation-z16{box-shadow:var(--mat-app-elevation-shadow-level-16, none)}.mat-elevation-z17,.mat-mdc-elevation-specific.mat-elevation-z17{box-shadow:var(--mat-app-elevation-shadow-level-17, none)}.mat-elevation-z18,.mat-mdc-elevation-specific.mat-elevation-z18{box-shadow:var(--mat-app-elevation-shadow-level-18, none)}.mat-elevation-z19,.mat-mdc-elevation-specific.mat-elevation-z19{box-shadow:var(--mat-app-elevation-shadow-level-19, none)}.mat-elevation-z20,.mat-mdc-elevation-specific.mat-elevation-z20{box-shadow:var(--mat-app-elevation-shadow-level-20, none)}.mat-elevation-z21,.mat-mdc-elevation-specific.mat-elevation-z21{box-shadow:var(--mat-app-elevation-shadow-level-21, none)}.mat-elevation-z22,.mat-mdc-elevation-specific.mat-elevation-z22{box-shadow:var(--mat-app-elevation-shadow-level-22, none)}.mat-elevation-z23,.mat-mdc-elevation-specific.mat-elevation-z23{box-shadow:var(--mat-app-elevation-shadow-level-23, none)}.mat-elevation-z24,.mat-mdc-elevation-specific.mat-elevation-z24{box-shadow:var(--mat-app-elevation-shadow-level-24, none)}.mat-theme-loaded-marker{display:none}html{--mat-ripple-color: rgba(0, 0, 0, .1)}html,.mat-accent{--mat-option-selected-state-label-text-color: #1a73e8;--mat-option-label-text-color: rgba(0, 0, 0, .87);--mat-option-hover-state-layer-color: rgba(0, 0, 0, .04);--mat-option-focus-state-layer-color: rgba(0, 0, 0, .04);--mat-option-selected-state-layer-color: rgba(0, 0, 0, .04)}.mat-warn{--mat-option-selected-state-label-text-color: #f44336;--mat-option-label-text-color: rgba(0, 0, 0, .87);--mat-option-hover-state-layer-color: rgba(0, 0, 0, .04);--mat-option-focus-state-layer-color: rgba(0, 0, 0, .04);--mat-option-selected-state-layer-color: rgba(0, 0, 0, .04)}html{--mat-optgroup-label-text-color: rgba(0, 0, 0, .87)}.mat-primary,html,.mat-accent{--mat-full-pseudo-checkbox-selected-icon-color: #1a73e8;--mat-full-pseudo-checkbox-selected-checkmark-color: #fafafa;--mat-full-pseudo-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mat-full-pseudo-checkbox-disabled-selected-checkmark-color: #fafafa;--mat-full-pseudo-checkbox-disabled-unselected-icon-color: #b0b0b0;--mat-full-pseudo-checkbox-disabled-selected-icon-color: #b0b0b0;--mat-minimal-pseudo-checkbox-selected-checkmark-color: #1a73e8;--mat-minimal-pseudo-checkbox-disabled-selected-checkmark-color: #b0b0b0}.mat-warn{--mat-full-pseudo-checkbox-selected-icon-color: #f44336;--mat-full-pseudo-checkbox-selected-checkmark-color: #fafafa;--mat-full-pseudo-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mat-full-pseudo-checkbox-disabled-selected-checkmark-color: #fafafa;--mat-full-pseudo-checkbox-disabled-unselected-icon-color: #b0b0b0;--mat-full-pseudo-checkbox-disabled-selected-icon-color: #b0b0b0;--mat-minimal-pseudo-checkbox-selected-checkmark-color: #f44336;--mat-minimal-pseudo-checkbox-disabled-selected-checkmark-color: #b0b0b0}html{--mat-app-background-color: #fafafa;--mat-app-text-color: rgba(0, 0, 0, .87);--mat-app-elevation-shadow-level-0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-2: 0px 3px 1px -2px rgba(0, 0, 0, .2), 0px 2px 2px 0px rgba(0, 0, 0, .14), 0px 1px 5px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-3: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-4: 0px 2px 4px -1px rgba(0, 0, 0, .2), 0px 4px 5px 0px rgba(0, 0, 0, .14), 0px 1px 10px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-5: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 5px 8px 0px rgba(0, 0, 0, .14), 0px 1px 14px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-6: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-7: 0px 4px 5px -2px rgba(0, 0, 0, .2), 0px 7px 10px 1px rgba(0, 0, 0, .14), 0px 2px 16px 1px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-8: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-9: 0px 5px 6px -3px rgba(0, 0, 0, .2), 0px 9px 12px 1px rgba(0, 0, 0, .14), 0px 3px 16px 2px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-10: 0px 6px 6px -3px rgba(0, 0, 0, .2), 0px 10px 14px 1px rgba(0, 0, 0, .14), 0px 4px 18px 3px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-11: 0px 6px 7px -4px rgba(0, 0, 0, .2), 0px 11px 15px 1px rgba(0, 0, 0, .14), 0px 4px 20px 3px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-12: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-13: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 13px 19px 2px rgba(0, 0, 0, .14), 0px 5px 24px 4px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-14: 0px 7px 9px -4px rgba(0, 0, 0, .2), 0px 14px 21px 2px rgba(0, 0, 0, .14), 0px 5px 26px 4px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-15: 0px 8px 9px -5px rgba(0, 0, 0, .2), 0px 15px 22px 2px rgba(0, 0, 0, .14), 0px 6px 28px 5px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-16: 0px 8px 10px -5px rgba(0, 0, 0, .2), 0px 16px 24px 2px rgba(0, 0, 0, .14), 0px 6px 30px 5px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-17: 0px 8px 11px -5px rgba(0, 0, 0, .2), 0px 17px 26px 2px rgba(0, 0, 0, .14), 0px 6px 32px 5px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-18: 0px 9px 11px -5px rgba(0, 0, 0, .2), 0px 18px 28px 2px rgba(0, 0, 0, .14), 0px 7px 34px 6px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-19: 0px 9px 12px -6px rgba(0, 0, 0, .2), 0px 19px 29px 2px rgba(0, 0, 0, .14), 0px 7px 36px 6px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-20: 0px 10px 13px -6px rgba(0, 0, 0, .2), 0px 20px 31px 3px rgba(0, 0, 0, .14), 0px 8px 38px 7px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-21: 0px 10px 13px -6px rgba(0, 0, 0, .2), 0px 21px 33px 3px rgba(0, 0, 0, .14), 0px 8px 40px 7px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-22: 0px 10px 14px -6px rgba(0, 0, 0, .2), 0px 22px 35px 3px rgba(0, 0, 0, .14), 0px 8px 42px 7px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-23: 0px 11px 14px -7px rgba(0, 0, 0, .2), 0px 23px 36px 3px rgba(0, 0, 0, .14), 0px 9px 44px 8px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-24: 0px 11px 15px -7px rgba(0, 0, 0, .2), 0px 24px 38px 3px rgba(0, 0, 0, .14), 0px 9px 46px 8px rgba(0, 0, 0, .12)}html{--mat-option-label-text-font: Roboto, sans-serif;--mat-option-label-text-line-height: 24px;--mat-option-label-text-size: 16px;--mat-option-label-text-tracking: .03125em;--mat-option-label-text-weight: 400}html{--mat-optgroup-label-text-font: Roboto, sans-serif;--mat-optgroup-label-text-line-height: 24px;--mat-optgroup-label-text-size: 16px;--mat-optgroup-label-text-tracking: .03125em;--mat-optgroup-label-text-weight: 400}.mat-h1,.mat-headline-5,.mat-typography .mat-h1,.mat-typography .mat-headline-5,.mat-typography h1{font:400 24px/32px Roboto,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h2,.mat-headline-6,.mat-typography .mat-h2,.mat-typography .mat-headline-6,.mat-typography h2{font:500 20px/32px Roboto,sans-serif;letter-spacing:.0125em;margin:0 0 16px}.mat-h3,.mat-subtitle-1,.mat-typography .mat-h3,.mat-typography .mat-subtitle-1,.mat-typography h3{font:400 16px/28px Roboto,sans-serif;letter-spacing:.009375em;margin:0 0 16px}.mat-h4,.mat-body-1,.mat-typography .mat-h4,.mat-typography .mat-body-1,.mat-typography h4{font:400 16px/24px Roboto,sans-serif;letter-spacing:.03125em;margin:0 0 16px}.mat-h5,.mat-typography .mat-h5,.mat-typography h5{font:400 11.62px/20px Roboto,sans-serif;margin:0 0 12px}.mat-h6,.mat-typography .mat-h6,.mat-typography h6{font:400 9.38px/20px Roboto,sans-serif;margin:0 0 12px}.mat-body-strong,.mat-subtitle-2,.mat-typography .mat-body-strong,.mat-typography .mat-subtitle-2{font:500 14px/22px Roboto,sans-serif;letter-spacing:.0071428571em}.mat-body,.mat-body-2,.mat-typography .mat-body,.mat-typography .mat-body-2,.mat-typography{font:400 14px/20px Roboto,sans-serif;letter-spacing:.0178571429em}.mat-body p,.mat-body-2 p,.mat-typography .mat-body p,.mat-typography .mat-body-2 p,.mat-typography p{margin:0 0 12px}.mat-small,.mat-caption,.mat-typography .mat-small,.mat-typography .mat-caption{font:400 12px/20px Roboto,sans-serif;letter-spacing:.0333333333em}.mat-headline-1,.mat-typography .mat-headline-1{font:300 96px/96px Roboto,sans-serif;letter-spacing:-.015625em;margin:0 0 56px}.mat-headline-2,.mat-typography .mat-headline-2{font:300 60px/60px Roboto,sans-serif;letter-spacing:-.0083333333em;margin:0 0 64px}.mat-headline-3,.mat-typography .mat-headline-3{font:400 48px/50px Roboto,sans-serif;letter-spacing:normal;margin:0 0 64px}.mat-headline-4,.mat-typography .mat-headline-4{font:400 34px/40px Roboto,sans-serif;letter-spacing:.0073529412em;margin:0 0 64px}html{--mat-autocomplete-container-shape: 4px;--mat-autocomplete-container-elevation-shadow: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12)}html{--mat-autocomplete-background-color: white}html{--mdc-text-button-container-shape: 4px;--mdc-text-button-keep-touch-target: false;--mdc-filled-button-container-shape: 4px;--mdc-filled-button-keep-touch-target: false;--mdc-protected-button-container-shape: 4px;--mdc-protected-button-container-elevation-shadow: 0px 3px 1px -2px rgba(0, 0, 0, .2), 0px 2px 2px 0px rgba(0, 0, 0, .14), 0px 1px 5px 0px rgba(0, 0, 0, .12);--mdc-protected-button-disabled-container-elevation-shadow: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mdc-protected-button-focus-container-elevation-shadow: 0px 2px 4px -1px rgba(0, 0, 0, .2), 0px 4px 5px 0px rgba(0, 0, 0, .14), 0px 1px 10px 0px rgba(0, 0, 0, .12);--mdc-protected-button-hover-container-elevation-shadow: 0px 2px 4px -1px rgba(0, 0, 0, .2), 0px 4px 5px 0px rgba(0, 0, 0, .14), 0px 1px 10px 0px rgba(0, 0, 0, .12);--mdc-protected-button-pressed-container-elevation-shadow: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mdc-outlined-button-keep-touch-target: false;--mdc-outlined-button-outline-width: 1px;--mdc-outlined-button-container-shape: 4px;--mat-text-button-horizontal-padding: 8px;--mat-text-button-with-icon-horizontal-padding: 8px;--mat-text-button-icon-spacing: 8px;--mat-text-button-icon-offset: 0;--mat-filled-button-horizontal-padding: 16px;--mat-filled-button-icon-spacing: 8px;--mat-filled-button-icon-offset: -4px;--mat-protected-button-horizontal-padding: 16px;--mat-protected-button-icon-spacing: 8px;--mat-protected-button-icon-offset: -4px;--mat-outlined-button-horizontal-padding: 15px;--mat-outlined-button-icon-spacing: 8px;--mat-outlined-button-icon-offset: -4px}html{--mdc-text-button-label-text-color: black;--mdc-text-button-disabled-label-text-color: rgba(0, 0, 0, .38);--mat-text-button-state-layer-color: black;--mat-text-button-disabled-state-layer-color: black;--mat-text-button-ripple-color: rgba(0, 0, 0, .1);--mat-text-button-hover-state-layer-opacity: .04;--mat-text-button-focus-state-layer-opacity: .12;--mat-text-button-pressed-state-layer-opacity: .12;--mdc-filled-button-container-color: white;--mdc-filled-button-label-text-color: black;--mdc-filled-button-disabled-container-color: rgba(0, 0, 0, .12);--mdc-filled-button-disabled-label-text-color: rgba(0, 0, 0, .38);--mat-filled-button-state-layer-color: black;--mat-filled-button-disabled-state-layer-color: black;--mat-filled-button-ripple-color: rgba(0, 0, 0, .1);--mat-filled-button-hover-state-layer-opacity: .04;--mat-filled-button-focus-state-layer-opacity: .12;--mat-filled-button-pressed-state-layer-opacity: .12;--mdc-protected-button-container-color: white;--mdc-protected-button-label-text-color: black;--mdc-protected-button-disabled-container-color: rgba(0, 0, 0, .12);--mdc-protected-button-disabled-label-text-color: rgba(0, 0, 0, .38);--mat-protected-button-state-layer-color: black;--mat-protected-button-disabled-state-layer-color: black;--mat-protected-button-ripple-color: rgba(0, 0, 0, .1);--mat-protected-button-hover-state-layer-opacity: .04;--mat-protected-button-focus-state-layer-opacity: .12;--mat-protected-button-pressed-state-layer-opacity: .12;--mdc-outlined-button-disabled-outline-color: rgba(0, 0, 0, .12);--mdc-outlined-button-disabled-label-text-color: rgba(0, 0, 0, .38);--mdc-outlined-button-label-text-color: black;--mdc-outlined-button-outline-color: rgba(0, 0, 0, .12);--mat-outlined-button-state-layer-color: black;--mat-outlined-button-disabled-state-layer-color: black;--mat-outlined-button-ripple-color: rgba(0, 0, 0, .1);--mat-outlined-button-hover-state-layer-opacity: .04;--mat-outlined-button-focus-state-layer-opacity: .12;--mat-outlined-button-pressed-state-layer-opacity: .12}.mat-mdc-button.mat-primary,.mat-mdc-button.mat-accent{--mdc-text-button-label-text-color: #1a73e8;--mat-text-button-state-layer-color: #1a73e8;--mat-text-button-ripple-color: rgba(26, 115, 232, .1)}.mat-mdc-button.mat-warn{--mdc-text-button-label-text-color: #f44336;--mat-text-button-state-layer-color: #f44336;--mat-text-button-ripple-color: rgba(244, 67, 54, .1)}.mat-mdc-unelevated-button.mat-primary,.mat-mdc-unelevated-button.mat-accent{--mdc-filled-button-container-color: #1a73e8;--mdc-filled-button-label-text-color: white;--mat-filled-button-state-layer-color: white;--mat-filled-button-ripple-color: rgba(255, 255, 255, .1)}.mat-mdc-unelevated-button.mat-warn{--mdc-filled-button-container-color: #f44336;--mdc-filled-button-label-text-color: white;--mat-filled-button-state-layer-color: white;--mat-filled-button-ripple-color: rgba(255, 255, 255, .1)}.mat-mdc-raised-button.mat-primary,.mat-mdc-raised-button.mat-accent{--mdc-protected-button-container-color: #1a73e8;--mdc-protected-button-label-text-color: white;--mat-protected-button-state-layer-color: white;--mat-protected-button-ripple-color: rgba(255, 255, 255, .1)}.mat-mdc-raised-button.mat-warn{--mdc-protected-button-container-color: #f44336;--mdc-protected-button-label-text-color: white;--mat-protected-button-state-layer-color: white;--mat-protected-button-ripple-color: rgba(255, 255, 255, .1)}.mat-mdc-outlined-button.mat-primary,.mat-mdc-outlined-button.mat-accent{--mdc-outlined-button-label-text-color: #1a73e8;--mdc-outlined-button-outline-color: rgba(0, 0, 0, .12);--mat-outlined-button-state-layer-color: #1a73e8;--mat-outlined-button-ripple-color: rgba(26, 115, 232, .1)}.mat-mdc-outlined-button.mat-warn{--mdc-outlined-button-label-text-color: #f44336;--mdc-outlined-button-outline-color: rgba(0, 0, 0, .12);--mat-outlined-button-state-layer-color: #f44336;--mat-outlined-button-ripple-color: rgba(244, 67, 54, .1)}html{--mdc-text-button-container-height: 36px;--mdc-filled-button-container-height: 36px;--mdc-protected-button-container-height: 36px;--mdc-outlined-button-container-height: 36px;--mat-text-button-touch-target-display: block;--mat-filled-button-touch-target-display: block;--mat-protected-button-touch-target-display: block;--mat-outlined-button-touch-target-display: block}html{--mdc-text-button-label-text-font: Roboto, sans-serif;--mdc-text-button-label-text-size: 14px;--mdc-text-button-label-text-tracking: .0892857143em;--mdc-text-button-label-text-weight: 500;--mdc-text-button-label-text-transform: none;--mdc-filled-button-label-text-font: Roboto, sans-serif;--mdc-filled-button-label-text-size: 14px;--mdc-filled-button-label-text-tracking: .0892857143em;--mdc-filled-button-label-text-weight: 500;--mdc-filled-button-label-text-transform: none;--mdc-protected-button-label-text-font: Roboto, sans-serif;--mdc-protected-button-label-text-size: 14px;--mdc-protected-button-label-text-tracking: .0892857143em;--mdc-protected-button-label-text-weight: 500;--mdc-protected-button-label-text-transform: none;--mdc-outlined-button-label-text-font: Roboto, sans-serif;--mdc-outlined-button-label-text-size: 14px;--mdc-outlined-button-label-text-tracking: .0892857143em;--mdc-outlined-button-label-text-weight: 500;--mdc-outlined-button-label-text-transform: none}html{--mdc-elevated-card-container-shape: 4px;--mdc-outlined-card-container-shape: 4px;--mdc-outlined-card-outline-width: 1px}html{--mdc-elevated-card-container-color: white;--mdc-elevated-card-container-elevation: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mdc-outlined-card-container-color: white;--mdc-outlined-card-outline-color: rgba(0, 0, 0, .12);--mdc-outlined-card-container-elevation: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-card-subtitle-text-color: rgba(0, 0, 0, .54)}html{--mat-card-title-text-font: Roboto, sans-serif;--mat-card-title-text-line-height: 32px;--mat-card-title-text-size: 20px;--mat-card-title-text-tracking: .0125em;--mat-card-title-text-weight: 500;--mat-card-subtitle-text-font: Roboto, sans-serif;--mat-card-subtitle-text-line-height: 22px;--mat-card-subtitle-text-size: 14px;--mat-card-subtitle-text-tracking: .0071428571em;--mat-card-subtitle-text-weight: 500}html{--mdc-checkbox-disabled-selected-checkmark-color: #fff;--mdc-checkbox-selected-focus-state-layer-opacity: .16;--mdc-checkbox-selected-hover-state-layer-opacity: .04;--mdc-checkbox-selected-pressed-state-layer-opacity: .16;--mdc-checkbox-unselected-focus-state-layer-opacity: .16;--mdc-checkbox-unselected-hover-state-layer-opacity: .04;--mdc-checkbox-unselected-pressed-state-layer-opacity: .16}html{--mdc-checkbox-disabled-selected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color: white;--mdc-checkbox-selected-focus-icon-color: #1a73e8;--mdc-checkbox-selected-hover-icon-color: #1a73e8;--mdc-checkbox-selected-icon-color: #1a73e8;--mdc-checkbox-unselected-focus-icon-color: #212121;--mdc-checkbox-unselected-hover-icon-color: #212121;--mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color: #1a73e8;--mdc-checkbox-selected-hover-state-layer-color: #1a73e8;--mdc-checkbox-selected-pressed-state-layer-color: #1a73e8;--mdc-checkbox-unselected-focus-state-layer-color: black;--mdc-checkbox-unselected-hover-state-layer-color: black;--mdc-checkbox-unselected-pressed-state-layer-color: black;--mat-checkbox-disabled-label-color: rgba(0, 0, 0, .38);--mat-checkbox-label-text-color: rgba(0, 0, 0, .87)}.mat-mdc-checkbox.mat-primary{--mdc-checkbox-disabled-selected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color: white;--mdc-checkbox-selected-focus-icon-color: #1a73e8;--mdc-checkbox-selected-hover-icon-color: #1a73e8;--mdc-checkbox-selected-icon-color: #1a73e8;--mdc-checkbox-unselected-focus-icon-color: #212121;--mdc-checkbox-unselected-hover-icon-color: #212121;--mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color: #1a73e8;--mdc-checkbox-selected-hover-state-layer-color: #1a73e8;--mdc-checkbox-selected-pressed-state-layer-color: #1a73e8;--mdc-checkbox-unselected-focus-state-layer-color: black;--mdc-checkbox-unselected-hover-state-layer-color: black;--mdc-checkbox-unselected-pressed-state-layer-color: black}.mat-mdc-checkbox.mat-warn{--mdc-checkbox-disabled-selected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color: white;--mdc-checkbox-selected-focus-icon-color: #f44336;--mdc-checkbox-selected-hover-icon-color: #f44336;--mdc-checkbox-selected-icon-color: #f44336;--mdc-checkbox-unselected-focus-icon-color: #212121;--mdc-checkbox-unselected-hover-icon-color: #212121;--mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color: #f44336;--mdc-checkbox-selected-hover-state-layer-color: #f44336;--mdc-checkbox-selected-pressed-state-layer-color: #f44336;--mdc-checkbox-unselected-focus-state-layer-color: black;--mdc-checkbox-unselected-hover-state-layer-color: black;--mdc-checkbox-unselected-pressed-state-layer-color: black}html{--mdc-checkbox-state-layer-size: 40px;--mat-checkbox-touch-target-display: block}html{--mat-checkbox-label-text-font: Roboto, sans-serif;--mat-checkbox-label-text-line-height: 20px;--mat-checkbox-label-text-size: 14px;--mat-checkbox-label-text-tracking: .0178571429em;--mat-checkbox-label-text-weight: 400}html{--mdc-dialog-container-shape: 4px;--mat-dialog-container-elevation-shadow: 0px 11px 15px -7px rgba(0, 0, 0, .2), 0px 24px 38px 3px rgba(0, 0, 0, .14), 0px 9px 46px 8px rgba(0, 0, 0, .12);--mat-dialog-container-max-width: 80vw;--mat-dialog-container-small-max-width: 80vw;--mat-dialog-container-min-width: 0;--mat-dialog-actions-alignment: start;--mat-dialog-actions-padding: 8px;--mat-dialog-content-padding: 20px 24px;--mat-dialog-with-actions-content-padding: 20px 24px;--mat-dialog-headline-padding: 0 24px 9px}html{--mdc-dialog-container-color: white;--mdc-dialog-subhead-color: rgba(0, 0, 0, .87);--mdc-dialog-supporting-text-color: rgba(0, 0, 0, .6)}html{--mdc-dialog-subhead-font: Roboto, sans-serif;--mdc-dialog-subhead-line-height: 32px;--mdc-dialog-subhead-size: 20px;--mdc-dialog-subhead-weight: 500;--mdc-dialog-subhead-tracking: .0125em;--mdc-dialog-supporting-text-font: Roboto, sans-serif;--mdc-dialog-supporting-text-line-height: 24px;--mdc-dialog-supporting-text-size: 16px;--mdc-dialog-supporting-text-weight: 400;--mdc-dialog-supporting-text-tracking: .03125em}html{--mdc-filled-text-field-active-indicator-height: 1px;--mdc-filled-text-field-focus-active-indicator-height: 2px;--mdc-filled-text-field-container-shape: 4px;--mdc-outlined-text-field-outline-width: 1px;--mdc-outlined-text-field-focus-outline-width: 2px;--mdc-outlined-text-field-container-shape: 4px}html{--mdc-filled-text-field-caret-color: #1a73e8;--mdc-filled-text-field-focus-active-indicator-color: #1a73e8;--mdc-filled-text-field-focus-label-text-color: rgba(26, 115, 232, .87);--mdc-filled-text-field-container-color: whitesmoke;--mdc-filled-text-field-disabled-container-color: #fafafa;--mdc-filled-text-field-label-text-color: rgba(0, 0, 0, .6);--mdc-filled-text-field-hover-label-text-color: rgba(0, 0, 0, .6);--mdc-filled-text-field-disabled-label-text-color: rgba(0, 0, 0, .38);--mdc-filled-text-field-input-text-color: rgba(0, 0, 0, .87);--mdc-filled-text-field-disabled-input-text-color: rgba(0, 0, 0, .38);--mdc-filled-text-field-input-text-placeholder-color: rgba(0, 0, 0, .6);--mdc-filled-text-field-error-hover-label-text-color: #f44336;--mdc-filled-text-field-error-focus-label-text-color: #f44336;--mdc-filled-text-field-error-label-text-color: #f44336;--mdc-filled-text-field-error-caret-color: #f44336;--mdc-filled-text-field-active-indicator-color: rgba(0, 0, 0, .42);--mdc-filled-text-field-disabled-active-indicator-color: rgba(0, 0, 0, .06);--mdc-filled-text-field-hover-active-indicator-color: rgba(0, 0, 0, .87);--mdc-filled-text-field-error-active-indicator-color: #f44336;--mdc-filled-text-field-error-focus-active-indicator-color: #f44336;--mdc-filled-text-field-error-hover-active-indicator-color: #f44336;--mdc-outlined-text-field-caret-color: #1a73e8;--mdc-outlined-text-field-focus-outline-color: #1a73e8;--mdc-outlined-text-field-focus-label-text-color: rgba(26, 115, 232, .87);--mdc-outlined-text-field-label-text-color: rgba(0, 0, 0, .6);--mdc-outlined-text-field-hover-label-text-color: rgba(0, 0, 0, .6);--mdc-outlined-text-field-disabled-label-text-color: rgba(0, 0, 0, .38);--mdc-outlined-text-field-input-text-color: rgba(0, 0, 0, .87);--mdc-outlined-text-field-disabled-input-text-color: rgba(0, 0, 0, .38);--mdc-outlined-text-field-input-text-placeholder-color: rgba(0, 0, 0, .6);--mdc-outlined-text-field-error-caret-color: #f44336;--mdc-outlined-text-field-error-focus-label-text-color: #f44336;--mdc-outlined-text-field-error-label-text-color: #f44336;--mdc-outlined-text-field-error-hover-label-text-color: #f44336;--mdc-outlined-text-field-outline-color: rgba(0, 0, 0, .38);--mdc-outlined-text-field-disabled-outline-color: rgba(0, 0, 0, .06);--mdc-outlined-text-field-hover-outline-color: rgba(0, 0, 0, .87);--mdc-outlined-text-field-error-focus-outline-color: #f44336;--mdc-outlined-text-field-error-hover-outline-color: #f44336;--mdc-outlined-text-field-error-outline-color: #f44336;--mat-form-field-focus-select-arrow-color: rgba(26, 115, 232, .87);--mat-form-field-disabled-input-text-placeholder-color: rgba(0, 0, 0, .38);--mat-form-field-state-layer-color: rgba(0, 0, 0, .87);--mat-form-field-error-text-color: #f44336;--mat-form-field-select-option-text-color: inherit;--mat-form-field-select-disabled-option-text-color: GrayText;--mat-form-field-leading-icon-color: unset;--mat-form-field-disabled-leading-icon-color: unset;--mat-form-field-trailing-icon-color: unset;--mat-form-field-disabled-trailing-icon-color: unset;--mat-form-field-error-focus-trailing-icon-color: unset;--mat-form-field-error-hover-trailing-icon-color: unset;--mat-form-field-error-trailing-icon-color: unset;--mat-form-field-enabled-select-arrow-color: rgba(0, 0, 0, .54);--mat-form-field-disabled-select-arrow-color: rgba(0, 0, 0, .38);--mat-form-field-hover-state-layer-opacity: .04;--mat-form-field-focus-state-layer-opacity: .08}.mat-mdc-form-field.mat-accent{--mdc-filled-text-field-caret-color: #1a73e8;--mdc-filled-text-field-focus-active-indicator-color: #1a73e8;--mdc-filled-text-field-focus-label-text-color: rgba(26, 115, 232, .87);--mdc-outlined-text-field-caret-color: #1a73e8;--mdc-outlined-text-field-focus-outline-color: #1a73e8;--mdc-outlined-text-field-focus-label-text-color: rgba(26, 115, 232, .87);--mat-form-field-focus-select-arrow-color: rgba(26, 115, 232, .87)}.mat-mdc-form-field.mat-warn{--mdc-filled-text-field-caret-color: #f44336;--mdc-filled-text-field-focus-active-indicator-color: #f44336;--mdc-filled-text-field-focus-label-text-color: rgba(244, 67, 54, .87);--mdc-outlined-text-field-caret-color: #f44336;--mdc-outlined-text-field-focus-outline-color: #f44336;--mdc-outlined-text-field-focus-label-text-color: rgba(244, 67, 54, .87);--mat-form-field-focus-select-arrow-color: rgba(244, 67, 54, .87)}html{--mat-form-field-container-height: 56px;--mat-form-field-filled-label-display: block;--mat-form-field-container-vertical-padding: 16px;--mat-form-field-filled-with-label-container-padding-top: 24px;--mat-form-field-filled-with-label-container-padding-bottom: 8px}html{--mdc-filled-text-field-label-text-font: Roboto, sans-serif;--mdc-filled-text-field-label-text-size: 16px;--mdc-filled-text-field-label-text-tracking: .03125em;--mdc-filled-text-field-label-text-weight: 400;--mdc-outlined-text-field-label-text-font: Roboto, sans-serif;--mdc-outlined-text-field-label-text-size: 16px;--mdc-outlined-text-field-label-text-tracking: .03125em;--mdc-outlined-text-field-label-text-weight: 400;--mat-form-field-container-text-font: Roboto, sans-serif;--mat-form-field-container-text-line-height: 24px;--mat-form-field-container-text-size: 16px;--mat-form-field-container-text-tracking: .03125em;--mat-form-field-container-text-weight: 400;--mat-form-field-outlined-label-text-populated-size: 16px;--mat-form-field-subscript-text-font: Roboto, sans-serif;--mat-form-field-subscript-text-line-height: 20px;--mat-form-field-subscript-text-size: 12px;--mat-form-field-subscript-text-tracking: .0333333333em;--mat-form-field-subscript-text-weight: 400}html{--mdc-icon-button-icon-size: 24px}html{--mdc-icon-button-icon-color: inherit;--mdc-icon-button-disabled-icon-color: rgba(0, 0, 0, .38);--mat-icon-button-state-layer-color: black;--mat-icon-button-disabled-state-layer-color: black;--mat-icon-button-ripple-color: rgba(0, 0, 0, .1);--mat-icon-button-hover-state-layer-opacity: .04;--mat-icon-button-focus-state-layer-opacity: .12;--mat-icon-button-pressed-state-layer-opacity: .12}html .mat-mdc-icon-button.mat-primary,html .mat-mdc-icon-button.mat-accent{--mdc-icon-button-icon-color: #1a73e8;--mat-icon-button-state-layer-color: #1a73e8;--mat-icon-button-ripple-color: rgba(26, 115, 232, .1)}html .mat-mdc-icon-button.mat-warn{--mdc-icon-button-icon-color: #f44336;--mat-icon-button-state-layer-color: #f44336;--mat-icon-button-ripple-color: rgba(244, 67, 54, .1)}html{--mat-icon-button-touch-target-display: block}.mat-mdc-icon-button.mat-mdc-button-base{--mdc-icon-button-state-layer-size: 48px;width:var(--mdc-icon-button-state-layer-size);height:var(--mdc-icon-button-state-layer-size);padding:12px}html{--mat-icon-color: inherit}.mat-icon.mat-primary,.mat-icon.mat-accent{--mat-icon-color: #1a73e8}.mat-icon.mat-warn{--mat-icon-color: #f44336}html{--mdc-list-list-item-container-shape: 0;--mdc-list-list-item-leading-avatar-shape: 50%;--mdc-list-list-item-container-color: transparent;--mdc-list-list-item-selected-container-color: transparent;--mdc-list-list-item-leading-avatar-color: transparent;--mdc-list-list-item-leading-icon-size: 24px;--mdc-list-list-item-leading-avatar-size: 40px;--mdc-list-list-item-trailing-icon-size: 24px;--mdc-list-list-item-disabled-state-layer-color: transparent;--mdc-list-list-item-disabled-state-layer-opacity: 0;--mdc-list-list-item-disabled-label-text-opacity: .38;--mdc-list-list-item-disabled-leading-icon-opacity: .38;--mdc-list-list-item-disabled-trailing-icon-opacity: .38;--mat-list-active-indicator-color: transparent;--mat-list-active-indicator-shape: 4px}html{--mdc-list-list-item-label-text-color: rgba(0, 0, 0, .87);--mdc-list-list-item-supporting-text-color: rgba(0, 0, 0, .54);--mdc-list-list-item-leading-icon-color: rgba(0, 0, 0, .38);--mdc-list-list-item-trailing-supporting-text-color: rgba(0, 0, 0, .38);--mdc-list-list-item-trailing-icon-color: rgba(0, 0, 0, .38);--mdc-list-list-item-selected-trailing-icon-color: rgba(0, 0, 0, .38);--mdc-list-list-item-disabled-label-text-color: black;--mdc-list-list-item-disabled-leading-icon-color: black;--mdc-list-list-item-disabled-trailing-icon-color: black;--mdc-list-list-item-hover-label-text-color: rgba(0, 0, 0, .87);--mdc-list-list-item-hover-leading-icon-color: rgba(0, 0, 0, .38);--mdc-list-list-item-hover-trailing-icon-color: rgba(0, 0, 0, .38);--mdc-list-list-item-focus-label-text-color: rgba(0, 0, 0, .87);--mdc-list-list-item-hover-state-layer-color: black;--mdc-list-list-item-hover-state-layer-opacity: .04;--mdc-list-list-item-focus-state-layer-color: black;--mdc-list-list-item-focus-state-layer-opacity: .12}.mdc-list-item__start,.mdc-list-item__end,.mat-accent .mdc-list-item__start,.mat-accent .mdc-list-item__end{--mdc-radio-disabled-selected-icon-color: black;--mdc-radio-disabled-unselected-icon-color: black;--mdc-radio-unselected-hover-icon-color: #212121;--mdc-radio-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-radio-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-radio-selected-focus-icon-color: #1a73e8;--mdc-radio-selected-hover-icon-color: #1a73e8;--mdc-radio-selected-icon-color: #1a73e8;--mdc-radio-selected-pressed-icon-color: #1a73e8}.mat-warn .mdc-list-item__start,.mat-warn .mdc-list-item__end{--mdc-radio-disabled-selected-icon-color: black;--mdc-radio-disabled-unselected-icon-color: black;--mdc-radio-unselected-hover-icon-color: #212121;--mdc-radio-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-radio-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-radio-selected-focus-icon-color: #f44336;--mdc-radio-selected-hover-icon-color: #f44336;--mdc-radio-selected-icon-color: #f44336;--mdc-radio-selected-pressed-icon-color: #f44336}.mat-mdc-list-option,.mat-mdc-list-option.mat-accent{--mdc-checkbox-disabled-selected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color: white;--mdc-checkbox-selected-focus-icon-color: #1a73e8;--mdc-checkbox-selected-hover-icon-color: #1a73e8;--mdc-checkbox-selected-icon-color: #1a73e8;--mdc-checkbox-unselected-focus-icon-color: #212121;--mdc-checkbox-unselected-hover-icon-color: #212121;--mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color: #1a73e8;--mdc-checkbox-selected-hover-state-layer-color: #1a73e8;--mdc-checkbox-selected-pressed-state-layer-color: #1a73e8;--mdc-checkbox-unselected-focus-state-layer-color: black;--mdc-checkbox-unselected-hover-state-layer-color: black;--mdc-checkbox-unselected-pressed-state-layer-color: black}.mat-mdc-list-option.mat-warn{--mdc-checkbox-disabled-selected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color: white;--mdc-checkbox-selected-focus-icon-color: #f44336;--mdc-checkbox-selected-hover-icon-color: #f44336;--mdc-checkbox-selected-icon-color: #f44336;--mdc-checkbox-unselected-focus-icon-color: #212121;--mdc-checkbox-unselected-hover-icon-color: #212121;--mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color: #f44336;--mdc-checkbox-selected-hover-state-layer-color: #f44336;--mdc-checkbox-selected-pressed-state-layer-color: #f44336;--mdc-checkbox-unselected-focus-state-layer-color: black;--mdc-checkbox-unselected-hover-state-layer-color: black;--mdc-checkbox-unselected-pressed-state-layer-color: black}.mat-mdc-list-base.mat-mdc-list-base .mdc-list-item--selected .mdc-list-item__primary-text,.mat-mdc-list-base.mat-mdc-list-base .mdc-list-item--selected .mdc-list-item__start,.mat-mdc-list-base.mat-mdc-list-base .mdc-list-item--activated .mdc-list-item__primary-text,.mat-mdc-list-base.mat-mdc-list-base .mdc-list-item--activated .mdc-list-item__start{color:#1a73e8}.mat-mdc-list-base .mdc-list-item--disabled .mdc-list-item__start,.mat-mdc-list-base .mdc-list-item--disabled .mdc-list-item__content,.mat-mdc-list-base .mdc-list-item--disabled .mdc-list-item__end{opacity:1}html{--mdc-list-list-item-one-line-container-height: 48px;--mdc-list-list-item-two-line-container-height: 64px;--mdc-list-list-item-three-line-container-height: 88px;--mat-list-list-item-leading-icon-start-space: 16px;--mat-list-list-item-leading-icon-end-space: 32px}.mdc-list-item__start,.mdc-list-item__end{--mdc-radio-state-layer-size: 40px}.mat-mdc-list-item.mdc-list-item--with-leading-avatar.mdc-list-item--with-one-line,.mat-mdc-list-item.mdc-list-item--with-leading-checkbox.mdc-list-item--with-one-line,.mat-mdc-list-item.mdc-list-item--with-leading-icon.mdc-list-item--with-one-line{height:56px}.mat-mdc-list-item.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines,.mat-mdc-list-item.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines,.mat-mdc-list-item.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines{height:72px}html{--mdc-list-list-item-label-text-font: Roboto, sans-serif;--mdc-list-list-item-label-text-line-height: 24px;--mdc-list-list-item-label-text-size: 16px;--mdc-list-list-item-label-text-tracking: .03125em;--mdc-list-list-item-label-text-weight: 400;--mdc-list-list-item-supporting-text-font: Roboto, sans-serif;--mdc-list-list-item-supporting-text-line-height: 20px;--mdc-list-list-item-supporting-text-size: 14px;--mdc-list-list-item-supporting-text-tracking: .0178571429em;--mdc-list-list-item-supporting-text-weight: 400;--mdc-list-list-item-trailing-supporting-text-font: Roboto, sans-serif;--mdc-list-list-item-trailing-supporting-text-line-height: 20px;--mdc-list-list-item-trailing-supporting-text-size: 12px;--mdc-list-list-item-trailing-supporting-text-tracking: .0333333333em;--mdc-list-list-item-trailing-supporting-text-weight: 400}.mdc-list-group__subheader{font:400 16px/28px Roboto,sans-serif;letter-spacing:.009375em}html{--mat-menu-container-shape: 4px;--mat-menu-divider-bottom-spacing: 0;--mat-menu-divider-top-spacing: 0;--mat-menu-item-spacing: 16px;--mat-menu-item-icon-size: 24px;--mat-menu-item-leading-spacing: 16px;--mat-menu-item-trailing-spacing: 16px;--mat-menu-item-with-icon-leading-spacing: 16px;--mat-menu-item-with-icon-trailing-spacing: 16px;--mat-menu-base-elevation-level: 8}html{--mat-menu-item-label-text-color: rgba(0, 0, 0, .87);--mat-menu-item-icon-color: rgba(0, 0, 0, .87);--mat-menu-item-hover-state-layer-color: rgba(0, 0, 0, .04);--mat-menu-item-focus-state-layer-color: rgba(0, 0, 0, .04);--mat-menu-container-color: white;--mat-menu-divider-color: rgba(0, 0, 0, .12)}html{--mat-menu-item-label-text-font: Roboto, sans-serif;--mat-menu-item-label-text-size: 16px;--mat-menu-item-label-text-tracking: .03125em;--mat-menu-item-label-text-line-height: 24px;--mat-menu-item-label-text-weight: 400}html{--mdc-circular-progress-active-indicator-width: 4px;--mdc-circular-progress-size: 48px}html,html .mat-accent{--mdc-circular-progress-active-indicator-color: #1a73e8}html .mat-warn{--mdc-circular-progress-active-indicator-color: #f44336}html{--mdc-radio-disabled-selected-icon-opacity: .38;--mdc-radio-disabled-unselected-icon-opacity: .38;--mdc-radio-state-layer-size: 40px}.mat-mdc-radio-button.mat-primary,.mat-mdc-radio-button.mat-accent{--mdc-radio-disabled-selected-icon-color: black;--mdc-radio-disabled-unselected-icon-color: black;--mdc-radio-unselected-hover-icon-color: #212121;--mdc-radio-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-radio-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-radio-selected-focus-icon-color: #1a73e8;--mdc-radio-selected-hover-icon-color: #1a73e8;--mdc-radio-selected-icon-color: #1a73e8;--mdc-radio-selected-pressed-icon-color: #1a73e8;--mat-radio-ripple-color: black;--mat-radio-checked-ripple-color: #1a73e8;--mat-radio-disabled-label-color: rgba(0, 0, 0, .38);--mat-radio-label-text-color: rgba(0, 0, 0, .87)}.mat-mdc-radio-button.mat-warn{--mdc-radio-disabled-selected-icon-color: black;--mdc-radio-disabled-unselected-icon-color: black;--mdc-radio-unselected-hover-icon-color: #212121;--mdc-radio-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-radio-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-radio-selected-focus-icon-color: #f44336;--mdc-radio-selected-hover-icon-color: #f44336;--mdc-radio-selected-icon-color: #f44336;--mdc-radio-selected-pressed-icon-color: #f44336;--mat-radio-ripple-color: black;--mat-radio-checked-ripple-color: #f44336;--mat-radio-disabled-label-color: rgba(0, 0, 0, .38);--mat-radio-label-text-color: rgba(0, 0, 0, .87)}html{--mdc-radio-state-layer-size: 40px;--mat-radio-touch-target-display: block}html{--mat-radio-label-text-font: Roboto, sans-serif;--mat-radio-label-text-line-height: 20px;--mat-radio-label-text-size: 14px;--mat-radio-label-text-tracking: .0178571429em;--mat-radio-label-text-weight: 400}html{--mat-select-container-elevation-shadow: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12)}html,html .mat-mdc-form-field.mat-accent{--mat-select-panel-background-color: white;--mat-select-enabled-trigger-text-color: rgba(0, 0, 0, .87);--mat-select-disabled-trigger-text-color: rgba(0, 0, 0, .38);--mat-select-placeholder-text-color: rgba(0, 0, 0, .6);--mat-select-enabled-arrow-color: rgba(0, 0, 0, .54);--mat-select-disabled-arrow-color: rgba(0, 0, 0, .38);--mat-select-focused-arrow-color: rgba(26, 115, 232, .87);--mat-select-invalid-arrow-color: rgba(244, 67, 54, .87)}html .mat-mdc-form-field.mat-warn{--mat-select-panel-background-color: white;--mat-select-enabled-trigger-text-color: rgba(0, 0, 0, .87);--mat-select-disabled-trigger-text-color: rgba(0, 0, 0, .38);--mat-select-placeholder-text-color: rgba(0, 0, 0, .6);--mat-select-enabled-arrow-color: rgba(0, 0, 0, .54);--mat-select-disabled-arrow-color: rgba(0, 0, 0, .38);--mat-select-focused-arrow-color: rgba(244, 67, 54, .87);--mat-select-invalid-arrow-color: rgba(244, 67, 54, .87)}html{--mat-select-arrow-transform: translateY(-8px)}html{--mat-select-trigger-text-font: Roboto, sans-serif;--mat-select-trigger-text-line-height: 24px;--mat-select-trigger-text-size: 16px;--mat-select-trigger-text-tracking: .03125em;--mat-select-trigger-text-weight: 400}html{--mat-sidenav-container-shape: 0;--mat-sidenav-container-elevation-shadow: 0px 8px 10px -5px rgba(0, 0, 0, .2), 0px 16px 24px 2px rgba(0, 0, 0, .14), 0px 6px 30px 5px rgba(0, 0, 0, .12);--mat-sidenav-container-width: auto}html{--mat-sidenav-container-divider-color: rgba(0, 0, 0, .12);--mat-sidenav-container-background-color: white;--mat-sidenav-container-text-color: rgba(0, 0, 0, .87);--mat-sidenav-content-background-color: #fafafa;--mat-sidenav-content-text-color: rgba(0, 0, 0, .87);--mat-sidenav-scrim-color: rgba(0, 0, 0, .6)}html{--mdc-switch-disabled-selected-icon-opacity: .38;--mdc-switch-disabled-track-opacity: .12;--mdc-switch-disabled-unselected-icon-opacity: .38;--mdc-switch-handle-height: 20px;--mdc-switch-handle-shape: 10px;--mdc-switch-handle-width: 20px;--mdc-switch-selected-icon-size: 18px;--mdc-switch-track-height: 14px;--mdc-switch-track-shape: 7px;--mdc-switch-track-width: 36px;--mdc-switch-unselected-icon-size: 18px;--mdc-switch-selected-focus-state-layer-opacity: .12;--mdc-switch-selected-hover-state-layer-opacity: .04;--mdc-switch-selected-pressed-state-layer-opacity: .1;--mdc-switch-unselected-focus-state-layer-opacity: .12;--mdc-switch-unselected-hover-state-layer-opacity: .04;--mdc-switch-unselected-pressed-state-layer-opacity: .1}html .mat-mdc-slide-toggle{--mat-switch-disabled-selected-handle-opacity: .38;--mat-switch-disabled-unselected-handle-opacity: .38;--mat-switch-unselected-handle-size: 20px;--mat-switch-selected-handle-size: 20px;--mat-switch-pressed-handle-size: 20px;--mat-switch-with-icon-handle-size: 20px;--mat-switch-selected-handle-horizontal-margin: 0;--mat-switch-selected-with-icon-handle-horizontal-margin: 0;--mat-switch-selected-pressed-handle-horizontal-margin: 0;--mat-switch-unselected-handle-horizontal-margin: 0;--mat-switch-unselected-with-icon-handle-horizontal-margin: 0;--mat-switch-unselected-pressed-handle-horizontal-margin: 0;--mat-switch-visible-track-opacity: 1;--mat-switch-hidden-track-opacity: 1;--mat-switch-visible-track-transition: transform 75ms 0ms cubic-bezier(0, 0, .2, 1);--mat-switch-hidden-track-transition: transform 75ms 0ms cubic-bezier(.4, 0, .6, 1);--mat-switch-track-outline-width: 1px;--mat-switch-track-outline-color: transparent;--mat-switch-selected-track-outline-width: 1px;--mat-switch-selected-track-outline-color: transparent;--mat-switch-disabled-unselected-track-outline-width: 1px;--mat-switch-disabled-unselected-track-outline-color: transparent}html{--mdc-switch-selected-focus-state-layer-color: #1a73e8;--mdc-switch-selected-handle-color: #1a73e8;--mdc-switch-selected-hover-state-layer-color: #1a73e8;--mdc-switch-selected-pressed-state-layer-color: #1a73e8;--mdc-switch-selected-focus-handle-color: #174ea6;--mdc-switch-selected-hover-handle-color: #174ea6;--mdc-switch-selected-pressed-handle-color: #174ea6;--mdc-switch-selected-focus-track-color: #8ab4f8;--mdc-switch-selected-hover-track-color: #8ab4f8;--mdc-switch-selected-pressed-track-color: #8ab4f8;--mdc-switch-selected-track-color: #8ab4f8;--mdc-switch-disabled-selected-handle-color: #424242;--mdc-switch-disabled-selected-icon-color: #fff;--mdc-switch-disabled-selected-track-color: #424242;--mdc-switch-disabled-unselected-handle-color: #424242;--mdc-switch-disabled-unselected-icon-color: #fff;--mdc-switch-disabled-unselected-track-color: #424242;--mdc-switch-handle-surface-color: #fff;--mdc-switch-selected-icon-color: #fff;--mdc-switch-unselected-focus-handle-color: #212121;--mdc-switch-unselected-focus-state-layer-color: #424242;--mdc-switch-unselected-focus-track-color: #e0e0e0;--mdc-switch-unselected-handle-color: #616161;--mdc-switch-unselected-hover-handle-color: #212121;--mdc-switch-unselected-hover-state-layer-color: #424242;--mdc-switch-unselected-hover-track-color: #e0e0e0;--mdc-switch-unselected-icon-color: #fff;--mdc-switch-unselected-pressed-handle-color: #212121;--mdc-switch-unselected-pressed-state-layer-color: #424242;--mdc-switch-unselected-pressed-track-color: #e0e0e0;--mdc-switch-unselected-track-color: #e0e0e0;--mdc-switch-handle-elevation-shadow: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mdc-switch-disabled-handle-elevation-shadow: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mdc-switch-disabled-label-text-color: rgba(0, 0, 0, .38)}html .mat-mdc-slide-toggle{--mat-switch-label-text-color: rgba(0, 0, 0, .87)}html .mat-mdc-slide-toggle.mat-accent{--mdc-switch-selected-focus-state-layer-color: #1a73e8;--mdc-switch-selected-handle-color: #1a73e8;--mdc-switch-selected-hover-state-layer-color: #1a73e8;--mdc-switch-selected-pressed-state-layer-color: #1a73e8;--mdc-switch-selected-focus-handle-color: #174ea6;--mdc-switch-selected-hover-handle-color: #174ea6;--mdc-switch-selected-pressed-handle-color: #174ea6;--mdc-switch-selected-focus-track-color: #8ab4f8;--mdc-switch-selected-hover-track-color: #8ab4f8;--mdc-switch-selected-pressed-track-color: #8ab4f8;--mdc-switch-selected-track-color: #8ab4f8}html .mat-mdc-slide-toggle.mat-warn{--mdc-switch-selected-focus-state-layer-color: #e53935;--mdc-switch-selected-handle-color: #e53935;--mdc-switch-selected-hover-state-layer-color: #e53935;--mdc-switch-selected-pressed-state-layer-color: #e53935;--mdc-switch-selected-focus-handle-color: #b71c1c;--mdc-switch-selected-hover-handle-color: #b71c1c;--mdc-switch-selected-pressed-handle-color: #b71c1c;--mdc-switch-selected-focus-track-color: #e57373;--mdc-switch-selected-hover-track-color: #e57373;--mdc-switch-selected-pressed-track-color: #e57373;--mdc-switch-selected-track-color: #e57373}html{--mdc-switch-state-layer-size: 40px}html .mat-mdc-slide-toggle{--mat-switch-label-text-font: Roboto, sans-serif;--mat-switch-label-text-line-height: 20px;--mat-switch-label-text-size: 14px;--mat-switch-label-text-tracking: .0178571429em;--mat-switch-label-text-weight: 400}html{--mdc-snackbar-container-shape: 4px}html{--mdc-snackbar-container-color: #333333;--mdc-snackbar-supporting-text-color: rgba(255, 255, 255, .87);--mat-snack-bar-button-color: #1a73e8}html{--mdc-snackbar-supporting-text-font: Roboto, sans-serif;--mdc-snackbar-supporting-text-line-height: 20px;--mdc-snackbar-supporting-text-size: 14px;--mdc-snackbar-supporting-text-weight: 400}html{--mdc-plain-tooltip-container-shape: 4px;--mdc-plain-tooltip-supporting-text-line-height: 16px}html{--mdc-plain-tooltip-container-color: #616161;--mdc-plain-tooltip-supporting-text-color: #fff}html{--mdc-plain-tooltip-supporting-text-font: Roboto, sans-serif;--mdc-plain-tooltip-supporting-text-size: 12px;--mdc-plain-tooltip-supporting-text-weight: 400;--mdc-plain-tooltip-supporting-text-tracking: .0333333333em}html{--mat-tree-container-background-color: white;--mat-tree-node-text-color: rgba(0, 0, 0, .87)}html{--mat-tree-node-min-height: 48px}html{--mat-tree-node-text-font: Roboto, sans-serif;--mat-tree-node-text-size: 14px;--mat-tree-node-text-weight: 400}body{font-size:16px;font-weight:400;line-height:24px;font-family:Roboto,sans-serif;letter-spacing:.03125em;background-color:#fafafa}html,body{margin:0;height:100%;line-height:normal;letter-spacing:normal;overflow:hidden;font-family:Google Sans Text,Arial,Helvetica,sans-serif;background-color:#fff}input,textarea{font-family:Google Sans Text,Arial,Helvetica,sans-serif}button>span{font-family:Google Sans Text,Arial,Helvetica,sans-serif;letter-spacing:normal}@font-face{font-family:Material Icons;font-style:normal;font-weight:400;src:url(/static_files/material_icon.woff2) format("woff2")}@font-face{font-family:Google Material Icons;font-style:normal;font-weight:400;src:url(/static_files/google_material_icon.woff2) format("woff2")}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.google-material-icons{font-family:Google Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}@font-face{font-family:Google Sans Text;font-style:italic;font-weight:400;src:url(/static_files/5aUo9-KzpRiLCAt4Unrc-xIKmCU5qE9GjU9GixI.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Google Sans Text;font-style:italic;font-weight:400;src:url(/static_files/5aUo9-KzpRiLCAt4Unrc-xIKmCU5qE9Gik9GixI.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Google Sans Text;font-style:italic;font-weight:400;src:url(/static_files/5aUo9-KzpRiLCAt4Unrc-xIKmCU5qE9Ghk9GixI.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Google Sans Text;font-style:italic;font-weight:400;src:url(/static_files/5aUo9-KzpRiLCAt4Unrc-xIKmCU5qE9Gh09GixI.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Google Sans Text;font-style:italic;font-weight:400;src:url(/static_files/5aUo9-KzpRiLCAt4Unrc-xIKmCU5qE9GiU9G.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Google Sans Text;font-style:italic;font-weight:500;src:url(/static_files/5aUr9-KzpRiLCAt4Unrc-xIKmCU5qE9OemxTsDO_PZ0.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Google Sans Text;font-style:italic;font-weight:500;src:url(/static_files/5aUr9-KzpRiLCAt4Unrc-xIKmCU5qE9OemxTtzO_PZ0.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Google Sans Text;font-style:italic;font-weight:500;src:url(/static_files/5aUr9-KzpRiLCAt4Unrc-xIKmCU5qE9OemxTuzO_PZ0.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Google Sans Text;font-style:italic;font-weight:500;src:url(/static_files/5aUr9-KzpRiLCAt4Unrc-xIKmCU5qE9OemxTujO_PZ0.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Google Sans Text;font-style:italic;font-weight:500;src:url(/static_files/5aUr9-KzpRiLCAt4Unrc-xIKmCU5qE9OemxTtDO_.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Google Sans Text;font-style:italic;font-weight:700;src:url(/static_files/5aUr9-KzpRiLCAt4Unrc-xIKmCU5qE9OMmpTsDO_PZ0.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Google Sans Text;font-style:italic;font-weight:700;src:url(/static_files/5aUr9-KzpRiLCAt4Unrc-xIKmCU5qE9OMmpTtzO_PZ0.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Google Sans Text;font-style:italic;font-weight:700;src:url(/static_files/5aUr9-KzpRiLCAt4Unrc-xIKmCU5qE9OMmpTuzO_PZ0.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Google Sans Text;font-style:italic;font-weight:700;src:url(/static_files/5aUr9-KzpRiLCAt4Unrc-xIKmCU5qE9OMmpTujO_PZ0.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Google Sans Text;font-style:italic;font-weight:700;src:url(/static_files/5aUr9-KzpRiLCAt4Unrc-xIKmCU5qE9OMmpTtDO_.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Google Sans Text;font-style:normal;font-weight:400;src:url(/static_files/5aUu9-KzpRiLCAt4Unrc-xIKmCU5qE52i1dC.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Google Sans Text;font-style:normal;font-weight:400;src:url(/static_files/5aUu9-KzpRiLCAt4Unrc-xIKmCU5qEl2i1dC.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Google Sans Text;font-style:normal;font-weight:400;src:url(/static_files/5aUu9-KzpRiLCAt4Unrc-xIKmCU5qEV2i1dC.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Google Sans Text;font-style:normal;font-weight:400;src:url(/static_files/5aUu9-KzpRiLCAt4Unrc-xIKmCU5qER2i1dC.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Google Sans Text;font-style:normal;font-weight:400;src:url(/static_files/5aUu9-KzpRiLCAt4Unrc-xIKmCU5qEp2iw.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Google Sans Text;font-style:normal;font-weight:500;src:url(/static_files/5aUp9-KzpRiLCAt4Unrc-xIKmCU5oLlVnmxjtiu7.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Google Sans Text;font-style:normal;font-weight:500;src:url(/static_files/5aUp9-KzpRiLCAt4Unrc-xIKmCU5oLlVnmtjtiu7.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Google Sans Text;font-style:normal;font-weight:500;src:url(/static_files/5aUp9-KzpRiLCAt4Unrc-xIKmCU5oLlVnmdjtiu7.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Google Sans Text;font-style:normal;font-weight:500;src:url(/static_files/5aUp9-KzpRiLCAt4Unrc-xIKmCU5oLlVnmZjtiu7.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Google Sans Text;font-style:normal;font-weight:500;src:url(/static_files/5aUp9-KzpRiLCAt4Unrc-xIKmCU5oLlVnmhjtg.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Google Sans Text;font-style:normal;font-weight:700;src:url(/static_files/5aUp9-KzpRiLCAt4Unrc-xIKmCU5oPFTnmxjtiu7.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Google Sans Text;font-style:normal;font-weight:700;src:url(/static_files/5aUp9-KzpRiLCAt4Unrc-xIKmCU5oPFTnmtjtiu7.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Google Sans Text;font-style:normal;font-weight:700;src:url(/static_files/5aUp9-KzpRiLCAt4Unrc-xIKmCU5oPFTnmdjtiu7.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Google Sans Text;font-style:normal;font-weight:700;src:url(/static_files/5aUp9-KzpRiLCAt4Unrc-xIKmCU5oPFTnmZjtiu7.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Google Sans Text;font-style:normal;font-weight:700;src:url(/static_files/5aUp9-KzpRiLCAt4Unrc-xIKmCU5oPFTnmhjtg.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD} diff --git a/src/server/package/src/model_explorer/web_app/worker-ZSB7TK2A.js b/src/server/package/src/model_explorer/web_app/worker-JQ3C3QUW.js similarity index 78% rename from src/server/package/src/model_explorer/web_app/worker-ZSB7TK2A.js rename to src/server/package/src/model_explorer/web_app/worker-JQ3C3QUW.js index 4d53bd5f..5e550648 100644 --- a/src/server/package/src/model_explorer/web_app/worker-ZSB7TK2A.js +++ b/src/server/package/src/model_explorer/web_app/worker-JQ3C3QUW.js @@ -1,3 +1,3 @@ -var Q=4,ie=4,D=9,le=16,ce=200,q=12,pe=1e3;var j=25;var ue=.1;var M="Node data provider: ",R=10;var k="__value",z="__tensor_tag",P=20;var H=14;var be=new OffscreenCanvas(300,300),he={},yt=typeof navigator<"u"&&/Macintosh/.test(navigator.userAgent);function y(n){return n?.nodeType===0}function N(n){return n?.nodeType===1}function Z(n){let e=[];for(let[o,t]of Object.entries(n))switch(o){case"Op node id":t.selected&&e.push("id");break;default:break}return e}function J(n){let e=[];for(let[o,t]of Object.entries(n))switch(o){case"Layer node children count":t.selected&&e.push("#children");break;case"Layer node descendants count":t.selected&&e.push("#descendants");break;default:break}return e}function ee(n,e){if(y(n))switch(e.toLowerCase()){case"id":return n.id;case"namespace":return ge(n);default:break}else if(N(n))switch(e.toLowerCase()){case"namespace":return ge(n);case"#children":return String((n.nsChildrenIds||[]).length);case"#descendants":return String((n.descendantsNodeIds||[]).length);default:break}return""}function ge(n){return n.fullNamespace||n.namespace||""}function A(n,e,o,t=!1){let r=[];n==null?r=e.rootNodes.map(s=>s.id):r=n.nsChildrenIds||[];for(let s of r){let d=e.nodesById[s];if(d&&N(d)&&(t||!t&&d.expanded)){let a=d.nsChildrenIds||[];(t?a.filter(i=>N(e.nodesById[i])).length===0:a.filter(i=>N(e.nodesById[i])).every(i=>!e.nodesById[i].expanded))&&o.push(d.id),A(d,e,o,t)}}}function fe(n,e,o,t){let r=[];if(n.length===2)r=n;else if(n.length===3&&n[0].x===n[1].x&&n[1].x===n[2].x)r=n;else{let s=!0,d=0;for(let l=0;li?1:-1;if(d!==0&&d!==g){s=!1;break}d=g}let a=t.Vector3;if(s){let i=e().x(p=>p.x).y(p=>p.y).curve(o)(n).split(/M|C/).filter(p=>p!=="").map(p=>p.split(",").map(h=>Number(h))),c=new a(i[0][0],i[0][1],0),g=new t.CurvePath;for(let p=1;pnew a(c.x,c.y,0));r=new t.CatmullRomCurve3(l,!1,"catmullrom",ue).getPoints(j)}}return r}function G(n,e,o,t=!0){let r=`${n}___${e}___${o}`,s=he[r];if(s==null){let d=be.getContext("2d");d.font=`${e}px "Google Sans Text", Arial, Helvetica, sans-serif`,o&&(d.font=`bold ${d.font}`);let l=d.measureText(n).width;t&&(he[r]=l),s=l}return s}function De(n,e,o){let t=o[z];return t?`Input${n}:${t} (${e.label})`:`Input${n} (${e.label})`}function Le(n,e,o){let t=`Output${n}`;if(o.label==="GraphInputs"){let r=e.tensor_name;r!=null&&(t=`${t} (${r})`)}else{let r=e[z];r&&(t=`Output${n}:${r}`)}return t}function Ne(n){let e=((n||{}).shape||"").replace(/ /g,"").replace(/×/g,"x");return e===""&&(e="?"),e}function te(n,e=""){let o=n.attrs||{},t=[],r=new RegExp(e,"i");for(let s of Object.keys(o)){let d=s,a=o[s],l=[`${d}:${a}`,`${d}=${a}`];if(e.trim()===""||l.some(i=>r.test(i))){let i=a;d===k?i=a.replace(/\s/gm,""):i=a.replace(/(\r\n|\n|\r)/gm," "),t.push({key:d,value:i})}}return t}function oe(n,e,o=""){let t=e.groupNodeAttributes?.[n.id.replace("___group___","")]||{},r=[],s=new RegExp(o,"i");for(let d of Object.keys(t)){let a=d,l=t[d],i=[`${a}:${l}`,`${a}=${l}`];if(o.trim()===""||i.some(c=>s.test(c))){let c=l.replace(/(\r\n|\n|\r)/gm," ");r.push({key:a,value:c})}}return r}function me(n,e){let o=n.incomingEdges||[],t=[];for(let r=0;rR){let r=o.length-R;t.push({key:`(${r} more input${r===1?"":"s"} omitted)`,value:"..."})}return t}function Ee(n){let e=[],o=n.outputsMetadata||{},t=Object.values(o);for(let r=0;rR){let r=t.length-R;e.push({key:`(${r} more output${r===1?"":"s"} omitted)`,value:"..."})}return e}function Ie(n,e,o,t){let r=[],s=Object.keys(o).filter(a=>o[a].selected).filter(a=>a.startsWith(M)).map(a=>a.replace(M,"")),d=Object.values(t).filter(a=>s.includes(a.runName));for(let a of d){let l=(a.results||{})?.[e][n.id]?.strValue||"-";r.push({key:a.runName,value:l})}return r}function _e(n,e){let o=n.split("/"),t=e.split("/"),r="";for(let s=Math.min(o.length,t.length);s>0;s--){let d=o.slice(0,s).join("/"),a=t.slice(0,s).join("/");if(d===a){r=a;break}}return r}function re(n,e){if(n===e)return"";let o=n.split("/").filter(r=>r!==""),t=e.split("/").filter(r=>r!=="");return t.length===0?"":t[o.length]}function w(n){return n.split(` -`).map(e=>e.trim()).filter(e=>e!=="")}function Y(n){return(w(n).length-1)*H}var ne=36,Te=16,ye=26,Se=50,Me=24,ve=80,Ce=8,T=class{constructor(e,o,t,r,s=!1){this.modelGraph=e;this.dagre=o;this.showOnNodeItemTypes=t;this.nodeDataProviderRuns=r;this.testMode=s;this.dagreGraph=new this.dagre.graphlib.Graph}dagreGraph;layout(e){let o,t=[];e==null?t=this.modelGraph.rootNodes:(o=this.modelGraph.nodesById[e],t=(o.nsChildrenIds||[]).map(u=>this.modelGraph.nodesById[u])),this.configLayout(this.dagreGraph);let r=ae(o?.id||"",t,this.modelGraph,this.showOnNodeItemTypes,this.nodeDataProviderRuns,this.testMode);for(let u of Object.keys(r.nodes)){let E=r.nodes[u];E.config?.pinToGroupTop||this.dagreGraph.setNode(u,E)}for(let u of Object.keys(r.outgoingEdges))for(let E of r.outgoingEdges[u])this.dagreGraph.setEdge(u,E);this.dagre.layout(this.dagreGraph);let s=Number.MAX_VALUE,d=Number.MAX_VALUE,a=Number.NEGATIVE_INFINITY,l=Number.NEGATIVE_INFINITY;for(let u of t){let E=r.nodes[u.id];if(!E){console.warn(`Node "${u.id}" is not in the dagre layout result`);continue}u.x=(E.x||0)-E.width/2,u.y=(E.y||0)-E.height/2,u.width=E.width,u.height=E.height,u.localOffsetX=0,u.localOffsetY=0,E.config?.pinToGroupTop||(s=Math.min(s,u.x),d=Math.min(d,u.y),a=Math.max(a,u.x+u.width),l=Math.max(l,u.y+u.height))}let i=Number.MAX_VALUE,c=Number.MAX_VALUE,g=Number.NEGATIVE_INFINITY,p=Number.NEGATIVE_INFINITY,h=this.dagreGraph.edges(),m=[];for(let u of h){let E=this.dagreGraph.edge(u).points,_=globalThis.d3,v=globalThis.THREE,V=typeof v>"u"?[]:fe(E,_.line,_.curveMonotoneY,v),f=this.modelGraph.nodesById[u.v],b=this.modelGraph.nodesById[u.w];if(f==null){console.warn(`Edge from node not found: "${u.v}"`);continue}if(b==null){console.warn(`Edge to node not found: "${u.w}"`);continue}let C=`${f.id}|${b.id}`;m.push({id:C,fromNodeId:f.id,toNodeId:b.id,points:E,curvePoints:V});for(let O of E)i=Math.min(i,O.x),c=Math.min(c,O.y),g=Math.max(g,O.x),p=Math.max(p,O.y)}if(this.modelGraph.edgesByGroupNodeIds[e||""]=m,i0){let E=u*q+16;for(let _ of t)_.localOffsetY=E;l+=E}}return{x:s,y:d,width:I-P*2,height:l-d}}configLayout(e){e.setGraph({nodesep:20,ranksep:50,edgesep:20,marginx:P,marginy:ne}),e.setDefaultEdgeLabel(()=>({}))}};function $(n,e,o,t,r=!1){if(r)return Se;let s=n.label,d=w(s),a=0;for(let g of d)a=Math.max(G(g,11,N(n))+Me,a);N(n)&&(a+=28);let l=0,i=0;if(y(n)){let g=Z(o);for(let m of g){let I=G(`${m}:`,D,!0),u=ee(n,m),E=G(u,D,!1);l=Math.max(l,I),i=Math.max(i,E)}if(o["Op node attributes"]?.selected){let m=te(n,o["Op node attributes"]?.filterRegex||""),I=B(m);l=Math.max(l,I.maxAttrLabelWidth),i=Math.max(i,I.maxAttrValueWidth)}if(o["Op node inputs"]?.selected){let m=me(n,e),I=B(m);l=Math.max(l,I.maxAttrLabelWidth),i=Math.max(i,I.maxAttrValueWidth)}if(o["Op node outputs"]?.selected){let m=Ee(n),I=B(m);l=Math.max(l,I.maxAttrLabelWidth),i=Math.max(i,I.maxAttrValueWidth)}let p=Ie(n,e.id,o,t),h=B(p);l=Math.max(l,h.maxAttrLabelWidth),i=Math.max(i,h.maxAttrValueWidth)}else if(N(n)){let g=J(o);for(let p of g){let h=G(`${p}:`,D,!0),m=ee(n,p),I=G(m,D,!1);l=Math.max(l,h),i=Math.max(i,I)}if(o["Layer node attributes"]?.selected){let p=oe(n,e,o["Layer node attributes"]?.filterRegex||""),h=B(p);l=Math.max(l,h.maxAttrLabelWidth),i=Math.max(i,h.maxAttrValueWidth)}}i=Math.min(i,ce);let c=l+i+ie*2+Q;return c!==Q&&(c+=Ce*2),Math.max(ve,Math.max(a,c))}function se(n,e,o,t,r=!1,s=!1){if(r)return ye;if(n.height!=null&&!s)return n.height;let d=Y(n.label),a=0;return y(n)?a=we(o,n,t):N(n)&&(a=Re(n,e,o)),ye+d+a*q+(a>0?le-4:0)}function ae(n,e,o,t,r,s=!1,d=!1){let a={nodes:{},incomingEdges:{},outgoingEdges:{}};for(let i of e){if(y(i)&&i.hideInLayout)continue;let c={id:i.id,width:i.width||(d?10:$(i,o,t,r,s)),height:d?10:se(i,o,t,r,s),config:y(i)?i.config:void 0};a.nodes[i.id]=c}let l=o.layoutGraphEdges[n]||{};for(let[i,c]of Object.entries(l))for(let g of Object.keys(c)){let p=o.nodesById[i],h=o.nodesById[g];p&&y(p)&&p.config?.pinToGroupTop||h&&y(h)&&h.config?.pinToGroupTop||Be(a,i,g)}return a}function we(n,e,o){let t=Z(n),r=n["Op node attributes"]?.selected?te(e,n["Op node attributes"]?.filterRegex||"").length:0,s=n["Op node inputs"]?.selected?Object.keys(e.incomingEdges||[]).length:0;s>R&&(s=R+1);let d=n["Op node outputs"]?.selected?Object.keys(e.outputsMetadata||{}).length:0;d>R&&(d=R+1);let a=Object.keys(n).filter(l=>n[l].selected).filter(l=>l.startsWith(M)&&Object.values(o).some(i=>i.runName===l.replace(M,""))).length;return t.length+r+s+d+a}function Re(n,e,o){let t=J(o),r=o["Layer node attributes"]?.selected?oe(n,e,o["Layer node attributes"]?.filterRegex||"").length:0;return t.length+r}function Be(n,e,o){n.outgoingEdges[e]==null&&(n.outgoingEdges[e]=[]),n.outgoingEdges[e].push(o),n.incomingEdges[o]==null&&(n.incomingEdges[o]=[]),n.incomingEdges[o].push(e)}function B(n){let e=0,o=0;for(let{key:t,value:r}of n){let s=G(t,D,!0);e=Math.max(e,s);let d=G(r,D,!1);o=Math.max(o,d)}return{maxAttrLabelWidth:e,maxAttrValueWidth:o}}var L=class{constructor(e,o,t,r,s=!1){this.modelGraph=e;this.dagre=o;this.showOnNodeItemTypes=t;this.nodeDataProviderRuns=r;this.testMode=s}dagreGraphs=[];expandGroupNode(e){let o=this.modelGraph.nodesById[e];if(o&&N(o)){if(o.expanded)return;o.expanded=!0}let t=e;for(;t!=null;){let s=this.modelGraph.nodesById[t];if(!s)break;s.expanded=!0;let d=new T(this.modelGraph,this.dagre,this.showOnNodeItemTypes,this.nodeDataProviderRuns),a=d.layout(t);this.testMode&&this.dagreGraphs.push(d.dagreGraph);let l=a.width+P*2,i=this.getTargetGroupNodeHeight(a,s);s.width=l,s.height=i,t=s.nsParentId}let r=new T(this.modelGraph,this.dagre,this.showOnNodeItemTypes,this.nodeDataProviderRuns);r.layout(),this.testMode&&this.dagreGraphs.push(r.dagreGraph);for(let s of this.modelGraph.rootNodes)N(s)&&this.updateNodeOffset(s)}expandFromDeepestGroupNodes(e){let o=new Set,t=[...e];for(;t.length>0;){let d=t.shift();if(o.has(d))continue;o.add(d);let l=this.modelGraph.nodesById[d]?.nsParentId;l&&t.push(l)}let r=Array.from(o).sort((d,a)=>{let l=this.modelGraph.nodesById[d];return this.modelGraph.nodesById[a].level-l.level});for(let d of r){let a=this.modelGraph.nodesById[d];a.expanded=!0;let l=new T(this.modelGraph,this.dagre,this.showOnNodeItemTypes,this.nodeDataProviderRuns),i=l.layout(d);this.testMode&&this.dagreGraphs.push(l.dagreGraph);let c=i.width+P*2,g=this.getTargetGroupNodeHeight(i,a);a.width=c,a.height=g}let s=new T(this.modelGraph,this.dagre,this.showOnNodeItemTypes,this.nodeDataProviderRuns);s.layout(),this.testMode&&this.dagreGraphs.push(s.dagreGraph);for(let d of this.modelGraph.rootNodes)N(d)&&this.updateNodeOffset(d)}expandToRevealNode(e){let o=this.modelGraph.nodesById[e],t=[],r=o;for(;;){let d=this.modelGraph.nodesById[r.nsParentId||""];if(!d)break;t.unshift(d),r=d}for(let d of t)this.expandGroupNode(d.id);let s=[];return A(void 0,this.modelGraph,s),s}collapseGroupNode(e){let o=this.modelGraph.nodesById[e];if(!o)return[];o.expanded=!1,delete this.modelGraph.edgesByGroupNodeIds[e],o.width=$(o,this.modelGraph,this.showOnNodeItemTypes,this.nodeDataProviderRuns),o.height=se(o,this.modelGraph,this.showOnNodeItemTypes,this.nodeDataProviderRuns,this.testMode,!0);let t=o.nsParentId;for(;t!=null;){let d=this.modelGraph.nodesById[t];if(!d)break;let a=new T(this.modelGraph,this.dagre,this.showOnNodeItemTypes,this.nodeDataProviderRuns),l=a.layout(t);this.testMode&&this.dagreGraphs.push(a.dagreGraph);let i=l.width+P*2,c=this.getTargetGroupNodeHeight(l,d);d.width=i,d.height=c,t=d.nsParentId}let r=new T(this.modelGraph,this.dagre,this.showOnNodeItemTypes,this.nodeDataProviderRuns);r.layout(),this.testMode&&this.dagreGraphs.push(r.dagreGraph);for(let d of this.modelGraph.rootNodes)N(d)&&this.updateNodeOffset(d);let s=[];return A(void 0,this.modelGraph,s),s}reLayoutGraph(e,o){let t=e;if(t)o&&this.clearLayoutData(void 0,!0);else{let r=[];this.clearLayoutData(void 0),A(void 0,this.modelGraph,r),t=r}return t.length>0?this.expandFromDeepestGroupNodes(t):new T(this.modelGraph,this.dagre,this.showOnNodeItemTypes,this.nodeDataProviderRuns).layout(),t}expandAllGroups(){this.clearLayoutData(void 0,!0);let e=this.modelGraph.nodes.filter(o=>N(o)&&(o.nsChildrenIds||[]).filter(t=>N(this.modelGraph.nodesById[t])).length===0).map(o=>o.id);return e.length>0&&this.expandFromDeepestGroupNodes(e),e}collapseAllGroup(){this.clearLayoutData(void 0,!0),new T(this.modelGraph,this.dagre,this.showOnNodeItemTypes,this.nodeDataProviderRuns).layout();for(let o of this.modelGraph.rootNodes)N(o)&&this.updateNodeOffset(o);return[]}updateNodeOffset(e){for(let o of e.nsChildrenIds||[]){let t=this.modelGraph.nodesById[o];if(t.x!=null&&t.y!=null){t.globalX=(e.x||0)+(e.globalX||0)+(t.localOffsetX||0),t.globalY=(e.y||0)+(e.globalY||0)+(t.localOffsetY||0);let r=(w(e.label).length-1)*H;r>0&&(t.globalY+=r),e.pinToTopOpNode&&t.id!==e.pinToTopOpNode.id&&(t.globalY+=this.getPinToTopNodeVerticalSpace(e.pinToTopOpNode)),e.pinToTopOpNode?.id===t.id&&(t.globalX=(e.x||0)+(e.globalX||0)+(e.width||0)/2,t.globalY=(e.y||0)+(e.globalY||0)+(t.localOffsetY||0)+this.getPinToTopNodeVerticalSpace(t)-(t.height||0)/2+10)}N(t)&&this.updateNodeOffset(t)}}clearLayoutData(e,o){let t=[];e==null?t=this.modelGraph.rootNodes.map(r=>r.id):t=e.nsChildrenIds||[],o&&e!=null&&(e.expanded=!1,delete this.modelGraph.edgesByGroupNodeIds[e.id]);for(let r of t){let s=this.modelGraph.nodesById[r];s&&(s.width=void 0,s.height=void 0,N(s)&&s.expanded&&this.clearLayoutData(s,o))}}getPinToTopNodeVerticalSpace(e){return(e.height||0)+20}getTargetGroupNodeHeight(e,o){let t=Y(o.label),r=e.height+ne+Te+t;return o.pinToTopOpNode&&(r+=this.getPinToTopNodeVerticalSpace(o.pinToTopOpNode)),r}};function x(n,e,o){let t={eventType:8,paneId:n,label:e,error:o};postMessage(t)}var ke=/dense<([^>]*)>/,F=class{constructor(e,o,t,r={},s={},d=pe,a=!1,l=!1,i=!1){this.paneId=e;this.graph=o;this.config=t;this.showOnNodeItemTypes=r;this.nodeDataProviderRuns=s;this.groupNodeChildrenCountThreshold=d;this.testMode=a;this.flattenLayers=l;this.keepLayersWithASingleChild=i;this.nodeLabelsToHide=new Set((this.config?.nodeLabelsToHide||[]).map(c=>c.toLowerCase()))}nodeLabelsToHide;process(){let e=this.createEmptyModelGraph();return this.processNodes(e),this.processEdgeRelationships(e),x(this.paneId,"Processing nodes and edges"),this.processNamespaceRelationships(e),x(this.paneId,"Processing layer namespaces"),this.generateLayoutGraphConnections(e),x(this.paneId,"Processing layout data"),this.splitLargeGroupNodes(e),x(this.paneId,"Splitting large layers (if any)"),this.populateDescendantsAndCounts(e),e}processNodes(e){let o=new Set;for(let t of this.graph.nodes){let s=t.namespace.split(";").filter(a=>a!=="");s.length>1&&(t.namespace=s[s.length-1]);let d={nodeType:0,id:t.id,namespace:this.flattenLayers?"":t.namespace,savedNamespace:t.namespace,fullNamespace:t.namespace,label:t.label,level:this.getNonEmptyNamespaceComponents(t.namespace).length};if(t.subgraphIds&&t.subgraphIds.length>0&&(d.subgraphIds=t.subgraphIds),this.nodeLabelsToHide.has(t.label.toLowerCase())&&(d.hideInLayout=!0),t.attrs){let a={};for(let l of t.attrs)a[l.key]=this.processAttrValue(l.key,l.value);d.attrs=a}if(t.inputsMetadata&&(d.inputsMetadata=this.processMetadataList(t.inputsMetadata)),t.outputsMetadata&&(d.outputsMetadata=this.processMetadataList(t.outputsMetadata)),t.style&&(d.style=t.style),t.config&&(d.config=t.config),e.nodes.push(d),e.nodesById[d.id]=d,!d.hideInLayout&&!this.flattenLayers){let a=this.getAncestorNamespaces(d.namespace);for(let l of a){if(o.has(l))continue;o.add(l);let i=l.split("/"),c=i.splice(-1)[0],g=i.join("/"),p={nodeType:1,id:this.getGroupNodeIdFromNamespace(l),namespace:g,label:c,level:i.length,expanded:!1};e.nodes.push(p),e.nodesById[p.id]=p}}}}processEdgeRelationships(e){for(let o of this.graph.nodes){let t=e.nodesById[o.id];if(t)for(let r of o.incomingEdges||[]){let s=r.sourceNodeId,d=e.nodesById[s];d&&(t.incomingEdges==null&&(t.incomingEdges=[]),t.incomingEdges.find(a=>a.sourceNodeId===s&&a.sourceNodeOutputId===r.sourceNodeOutputId&&a.targetNodeInputId===r.targetNodeInputId)==null&&t.incomingEdges.push({...r}),d.outgoingEdges==null&&(d.outgoingEdges=[]),d.outgoingEdges.find(a=>a.targetNodeId===t.id&&a.sourceNodeOutputId===r.sourceNodeOutputId&&a.targetNodeInputId===r.targetNodeInputId)==null&&d.outgoingEdges.push({targetNodeId:t.id,sourceNodeOutputId:r.sourceNodeOutputId,targetNodeInputId:r.targetNodeInputId}))}}}processNamespaceRelationships(e){for(let o of e.nodes){if(y(o)&&o.hideInLayout)continue;let t=o.namespace;if(t===""){e.rootNodes.push(o);continue}let r=this.getGroupNodeIdFromNamespace(t),s=e.nodesById[r];s?o.nsParentId=s.id:console.warn(`Failed to find the NS parent of node "${o.id}": "${r}"`),s&&(s.nsChildrenIds==null&&(s.nsChildrenIds=[]),s.nsChildrenIds.includes(o.id)||(s.nsChildrenIds.push(o.id),y(o)&&o.config?.pinToGroupTop&&(s.pinToTopOpNode=o)))}if(!this.keepLayersWithASingleChild)for(;;){let o=0;for(let t of e.nodes)if(N(t)&&t.nsChildrenIds!=null&&t.nsChildrenIds.length===1){let r=e.nodesById[t.nsChildrenIds[0]];if(y(r)){o++;let s=e.nodes.indexOf(t);s>=0&&e.nodes.splice(s,1),delete e.nodesById[t.id];let d=r.namespace,a=this.getNonEmptyNamespaceComponents(d);a.pop(),r.namespace=a.join("/"),r.savedNamespace=r.namespace,r.level=a.length,r.nsParentId=t.nsParentId;let l=e.rootNodes.indexOf(t);if(l>=0&&(e.rootNodes.splice(l,1),e.rootNodes.push(r)),t.nsParentId){let i=e.nodesById[t.nsParentId],c=i.nsChildrenIds.indexOf(t.id);i.nsChildrenIds.splice(c,1),i.nsChildrenIds.push(r.id)}}}if(o===0)break}}generateLayoutGraphConnections(e){e.layoutGraphEdges={};let o=[];for(let s of e.nodes){if(!y(s)||s.hideInLayout)continue;(s.incomingEdges||[]).filter(a=>!e.nodesById[a.sourceNodeId].hideInLayout).length===0&&o.push(s)}let t=[...o],r=new Set;for(;t.length>0;){let s=t.shift();if(s==null||s.hideInLayout||r.has(s.id))continue;r.add(s.id);let d=s.outgoingEdges||[];for(let a of d){let l=e.nodesById[a.targetNodeId];if(l.hideInLayout)continue;let i=_e(s.namespace,l.namespace),c=re(i,s.namespace),g=c===""?s.id:`${i}${i===""?"":"/"}${c}___group___`,p=re(i,l.namespace),h=p===""?l.id:`${i}${i===""?"":"/"}${p}___group___`,m=i===""?"":`${i}___group___`;e.layoutGraphEdges[m]==null&&(e.layoutGraphEdges[m]={}),e.layoutGraphEdges[m][g]==null&&(e.layoutGraphEdges[m][g]={}),e.layoutGraphEdges[m][g][h]=!0}for(let a of d){let l=e.nodesById[a.targetNodeId];t.push(l)}}}splitLargeGroupNodes(e){let o=[void 0],t=!1;for(;o.length>0;){let r=o.shift(),s=r==null?e.rootNodes:(r.nsChildrenIds||[]).map(d=>e.nodesById[d]);if(s.length>this.groupNodeChildrenCountThreshold){t=!0;let d=ae(r?.id||"",s,e,this.showOnNodeItemTypes,this.nodeDataProviderRuns,this.testMode,!0),a=[];for(let h of Object.keys(d.nodes))d.incomingEdges[h]==null&&a.push(e.nodesById[h]);let l=[],i=[],c=new Set,g=h=>{if(c.has(h))return;c.add(h);let m=e.nodesById[h];i.push(m),i.length===this.groupNodeChildrenCountThreshold&&(l.push(i),i=[]);for(let I of d.outgoingEdges[m.id]||[])g(I)};for(let h of a)g(h.id);i.length0&&l.push(i);let p=[];for(let h=0;hf!=="").length,nsParentId:r?.id,nsChildrenIds:m.map(f=>f.id),expanded:!1,sectionContainer:!0};p.push(_),e.nodes.push(_),e.nodesById[_.id]=_,e.artificialGroupNodeIds==null&&(e.artificialGroupNodeIds=[]),e.artificialGroupNodeIds.push(_.id);for(let f of m)f.nsParentId=_.id;let v=E.replace("___group___",""),V=f=>{if(f.namespace===""?f.namespace=v:r==null?f.namespace=`${v}/${f.namespace}`:f.namespace=(f.nsParentId||"").replace("___group___",""),f.level=f.namespace.split("/").filter(C=>C!=="").length,N(f)){let C=f.id;if(delete e.nodesById[f.id],f.id=`${f.namespace}/${f.label}___group___`,e.nodesById[f.id]=f,f.nsParentId){let O=e.nodesById[f.nsParentId],S=(O.nsChildrenIds||[]).indexOf(C);S>=0&&((O.nsChildrenIds||[])[S]=f.id)}for(let O of f.nsChildrenIds||[]){let S=e.nodesById[O];S!=null&&(S.nsParentId=f.id,V(S))}}};for(let f of m)V(f);if(r==null){for(let f of m){let b=e.rootNodes.indexOf(f);b>=0&&e.rootNodes.splice(b,1)}_.namespace===""&&e.rootNodes.push(_)}s=p}r!=null&&(r.nsChildrenIds=p.map(h=>h.id))}for(let d of s)N(d)&&o.push(d)}t&&this.generateLayoutGraphConnections(e)}populateDescendantsAndCounts(e){let o=Number.MAX_VALUE,t=Number.NEGATIVE_INFINITY;for(let r of e.nodes)if(N(r)){let s=[];this.gatherDescendants(e,r,s),r.descendantsNodeIds=s.map(a=>a.id),r.descendantsOpNodeIds=s.filter(a=>a.nodeType===0).map(a=>a.id);let d=(r.descendantsOpNodeIds||[]).length;o=Math.min(d,o),t=Math.max(d,t)}e.minDescendantOpNodeCount=o,e.maxDescendantOpNodeCount=t}createEmptyModelGraph(){let e={id:this.graph.id,collectionLabel:this.graph.collectionLabel||"",nodes:[],nodesById:{},rootNodes:[],edgesByGroupNodeIds:{},layoutGraphEdges:{},minDescendantOpNodeCount:-1,maxDescendantOpNodeCount:-1};return this.graph.groupNodeAttributes&&(e.groupNodeAttributes=this.graph.groupNodeAttributes),e}getAncestorNamespaces(e){let o=this.getNonEmptyNamespaceComponents(e),t=[];for(;o.length>0;)t.push(o.join("/")),o.pop();return t}getNonEmptyNamespaceComponents(e){return e.split("/").filter(o=>o!=="")}getGroupNodeIdFromNamespace(e){return`${e}___group___`}gatherDescendants(e,o,t){for(let r of o.nsChildrenIds||[]){let s=e.nodesById[r];(N(s)||y(s)&&!s.hideInLayout)&&t.push(s),N(s)&&this.gatherDescendants(e,s,t)}}processAttrValue(e,o){if(o.startsWith("dense<")){let t=o.match(ke);if(t!=null&&t.length>1){let r=t[1];return Oe(r)}}else if(e===k)return Oe(o);return o.replaceAll('"',"")||""}processMetadataList(e){let o={};for(let t of e){let r={};for(let s of t.attrs){let d=s.key,a=s.value;d==="tensor_shape"&&(d="shape",a=a.replace("tensor<","").replace(">","").replace("*","\u2217").split("x").join(" x ")),r[d]=a}o[t.id]=r}return o}};function Oe(n){try{return JSON.stringify(JSON.parse(n),null,2).replaceAll("\\n",` -`).trim()}catch{return n}}var W=10000019,X=class{constructor(e){this.modelGraph=e}markIdenticalGroups(){let e={};for(let t of this.modelGraph.nodes){if(!N(t))continue;let r=0,s=(t.descendantsOpNodeIds||[]).map(a=>this.modelGraph.nodesById[a]).filter(a=>!a.hideInLayout),d=new Set(s.map(a=>a.id));for(let a of s)r=(r+this.getNodeHash(a,d))%W;for(let a of s)for(let l of a.outgoingEdges||[]){let i=l.targetNodeId;if(!d.has(i))continue;let c=this.modelGraph.nodesById[i];r=(r+this.getEdgeHash(a,c))%W}e[r]||(e[r]=[]),e[r].push(t)}let o=0;for(let t of Object.values(e))if(!(t.length<=1)&&!(t.length===2&&(t[0].nsParentId===t[1].id||t[1].nsParentId===t[0].id))){for(let r of t)r.identicalGroupIndex=o;o++}}getNodeHash(e,o){let t=0;t=this.addToHash(t,e.label);let r=0;for(let d of e.incomingEdges||[]){let a=d.sourceNodeId;if(o.has(a)){let l=this.modelGraph.nodesById[a];t=this.addToHash(t,`in ${l.label}`),r++}}let s=0;for(let d of e.outgoingEdges||[]){let a=d.targetNodeInputId;if(o.has(a)){let l=this.modelGraph.nodesById[a];t=this.addToHash(t,`out ${l.label}`),s++}}return t=this.addToHash(t,`${r}`),t=this.addToHash(t,`${s}`),t}getEdgeHash(e,o){return this.genHash(e.label+o.label)%W}genHash(e){let o=5381;e=e||"";for(let t=0,r=e.length;t{let e=n.data;switch(e.eventType){case 0:{let o=He(e.paneId,e.graph,e.showOnNodeItemTypes,e.nodeDataProviderRuns,e.config,e.groupNodeChildrenCountThreshold,e.flattenLayers,e.keepLayersWithASingleChild,e.initialLayout);U(o,e.paneId);let t={eventType:1,modelGraph:o,paneId:e.paneId};postMessage(t);break}case 9:{let o=K(e.modelGraphId,e.paneId),t=JSON.parse(JSON.stringify(o));U(t,e.rendererId);let r={eventType:10,modelGraph:o,paneId:e.paneId,rendererId:e.rendererId,groupNodeId:e.groupNodeId,initialPosition:e.initialPosition};postMessage(r);break}case 2:{let o=K(e.modelGraphId,e.rendererId),t=[];e.expand?t=Ye(o,e.groupNodeId,e.showOnNodeItemTypes,e.nodeDataProviderRuns,e.all===!0):t=$e(o,e.groupNodeId,e.showOnNodeItemTypes,e.nodeDataProviderRuns,e.all===!0),U(o,e.rendererId);let r={eventType:3,modelGraph:o,expanded:e.expand,groupNodeId:e.groupNodeId,rendererId:e.rendererId,deepestExpandedGroupNodeIds:t};postMessage(r);break}case 4:{let o=K(e.modelGraphId,e.rendererId);Fe(o,e.showOnNodeItemTypes,e.nodeDataProviderRuns,e.targetDeepestGroupNodeIdsToExpand,e.clearAllExpandStates),U(o,e.rendererId);let t={eventType:5,modelGraph:o,selectedNodeId:e.selectedNodeId,rendererId:e.rendererId,forRestoringUiState:e.forRestoringUiState,rectToZoomFit:e.rectToZoomFit,forRestoringSnapshotAfterTogglingFlattenLayers:e.forRestoringSnapshotAfterTogglingFlattenLayers,targetDeepestGroupNodeIdsToExpand:e.targetDeepestGroupNodeIdsToExpand};postMessage(t);break}case 6:{let o=K(e.modelGraphId,e.rendererId),t=We(o,e.showOnNodeItemTypes,e.nodeDataProviderRuns,e.nodeId);U(o,e.rendererId);let r={eventType:7,modelGraph:o,nodeId:e.nodeId,rendererId:e.rendererId,deepestExpandedGroupNodeIds:t,noNodeShake:e.noNodeShake,select:e.select};postMessage(r);break}case 11:{de={};break}default:break}});function He(n,e,o,t,r,s,d,a,l){let i,g=new F(n,e,r,o,{},s,!1,d,a).process();if(g.nodesById[""]!=null&&(i="Some nodes have empty strings as ids which will cause layout failures. See console for details.",console.warn("Nodes with empty ids",g.nodesById[""])),!i&&l){let h=new T(g,dagre,o,t);try{h.layout()}catch(m){i=`Failed to layout graph: ${m}`}}return x(n,"Laying out root layer",i),new X(g).markIdenticalGroups(),x(n,"Finding identical layers"),g}function Ye(n,e,o,t,r){let s=new L(n,dagre,o,t);if(e!=null){let d,a=n.nodesById[e];if(a&&N(a)){a.expanded=!0;let i=a;for(;;){let g=i.nsChildrenIds||[];if(g.length===1){let p=n.nodesById[g[0]];if(p&&N(p))p.expanded=!0,i=p;else break}else break}let c=[];A(i,n,c),d=c.length===0?[i.id]:c;for(let g of i.descendantsNodeIds||[]){let p=n.nodesById[g];p.width=void 0,p.height=void 0}}if(r){for(let i of a.descendantsNodeIds||[]){let c=n.nodesById[i];N(c)&&(c.expanded=!0)}d=void 0}s.reLayoutGraph(d);let l=[];return A(void 0,n,l),l}else return s.expandAllGroups()}function $e(n,e,o,t,r){let s=new L(n,dagre,o,t);if(e!=null){if(r){let d=n.nodesById[e];for(let a of d.descendantsNodeIds||[]){let l=n.nodesById[a];N(l)&&(l.expanded=!1,l.width=void 0,l.height=void 0,delete n.edgesByGroupNodeIds[l.id])}}return s.collapseGroupNode(e)}else return s.collapseAllGroup()}function Fe(n,e,o,t,r){new L(n,dagre,e,o).reLayoutGraph(t,r)}function We(n,e,o,t){return new L(n,dagre,e,o).expandToRevealNode(t)}function U(n,e){de[Pe(n.id,e)]=n}function K(n,e){let o=de[Pe(n,e)];if(o==null)throw new Error(`ModelGraph with id "${n}" not found for rendererId "${e}"`);return o}function Pe(n,e){return`${n}___${e}`} +var Q=4,ie=4,D=9,le=16,ce=200,q=12,pe=1e3;var j=25;var ue=.1;var M="Node data provider: ",R=10;var k="__value",z="__tensor_tag",P=20;var H=14;var be=new OffscreenCanvas(300,300),ge={},yt=typeof navigator<"u"&&/Macintosh/.test(navigator.userAgent);function y(n){return n?.nodeType===0}function N(n){return n?.nodeType===1}function Z(n){let e=[];for(let[o,t]of Object.entries(n))switch(o){case"Op node id":t.selected&&e.push("id");break;default:break}return e}function J(n){let e=[];for(let[o,t]of Object.entries(n))switch(o){case"Layer node children count":t.selected&&e.push("#children");break;case"Layer node descendants count":t.selected&&e.push("#descendants");break;default:break}return e}function ee(n,e){if(y(n))switch(e.toLowerCase()){case"id":return n.id;case"namespace":return he(n);default:break}else if(N(n))switch(e.toLowerCase()){case"namespace":return he(n);case"#children":return String((n.nsChildrenIds||[]).length);case"#descendants":return String((n.descendantsNodeIds||[]).length);default:break}return""}function he(n){return n.fullNamespace||n.namespace||""}function A(n,e,o,t=!1){let r=[];n==null?r=e.rootNodes.map(s=>s.id):r=n.nsChildrenIds||[];for(let s of r){let d=e.nodesById[s];if(d&&N(d)&&(t||!t&&d.expanded)){let a=d.nsChildrenIds||[];(t?a.filter(i=>N(e.nodesById[i])).length===0:a.filter(i=>N(e.nodesById[i])).every(i=>!e.nodesById[i].expanded))&&o.push(d.id),A(d,e,o,t)}}}function fe(n,e,o,t){let r=[];if(n.length===2)r=n;else if(n.length===3&&n[0].x===n[1].x&&n[1].x===n[2].x)r=n;else{let s=!0,d=0;for(let l=0;li?1:-1;if(d!==0&&d!==h){s=!1;break}d=h}let a=t.Vector3;if(s){let i=e().x(p=>p.x).y(p=>p.y).curve(o)(n).split(/M|C/).filter(p=>p!=="").map(p=>p.split(",").map(g=>Number(g))),c=new a(i[0][0],i[0][1],0),h=new t.CurvePath;for(let p=1;pnew a(c.x,c.y,0));r=new t.CatmullRomCurve3(l,!1,"catmullrom",ue).getPoints(j)}}return r}function x(n,e,o,t=!0){let r=`${n}___${e}___${o}`,s=ge[r];if(s==null){let d=be.getContext("2d");d.font=`${e}px "Google Sans Text", Arial, Helvetica, sans-serif`,o&&(d.font=`bold ${d.font}`);let l=d.measureText(n).width;t&&(ge[r]=l),s=l}return s}function De(n,e,o){let t=o[z];return t?`Input${n}:${t} (${e.label})`:`Input${n} (${e.label})`}function Se(n,e,o){let t=`Output${n}`;if(o.label==="GraphInputs"){let r=e.tensor_name;r!=null&&(t=`${t} (${r})`)}else{let r=e[z];r&&(t=`Output${n}:${r}`)}return t}function Ne(n){let e=((n||{}).shape||"").replace(/ /g,"").replace(/×/g,"x");return e===""&&(e="?"),e}function te(n,e=""){let o=n.attrs||{},t=[],r=new RegExp(e,"i");for(let s of Object.keys(o)){let d=s,a=o[s],l=[`${d}:${a}`,`${d}=${a}`];if(e.trim()===""||l.some(i=>r.test(i))){let i=a;d===k?i=a.replace(/\s/gm,""):i=a.replace(/(\r\n|\n|\r)/gm," "),t.push({key:d,value:i})}}return t}function oe(n,e,o=""){let t=e.groupNodeAttributes?.[n.id.replace("___group___","")]||{},r=[],s=new RegExp(o,"i");for(let d of Object.keys(t)){let a=d,l=t[d],i=[`${a}:${l}`,`${a}=${l}`];if(o.trim()===""||i.some(c=>s.test(c))){let c=l.replace(/(\r\n|\n|\r)/gm," ");r.push({key:a,value:c})}}return r}function me(n,e){let o=n.incomingEdges||[],t=[];for(let r=0;rR){let r=o.length-R;t.push({key:`(${r} more input${r===1?"":"s"} omitted)`,value:"..."})}return t}function Ee(n){let e=[],o=n.outputsMetadata||{},t=Object.values(o);for(let r=0;rR){let r=t.length-R;e.push({key:`(${r} more output${r===1?"":"s"} omitted)`,value:"..."})}return e}function Ie(n,e,o,t){let r=[],s=Object.keys(o).filter(a=>o[a].selected).filter(a=>a.startsWith(M)).map(a=>a.replace(M,"")),d=Object.values(t).filter(a=>s.includes(a.runName));for(let a of d){let l=(a.results||{})?.[e][n.id]?.strValue||"-";r.push({key:a.runName,value:l})}return r}function _e(n,e){let o=n.split("/"),t=e.split("/"),r="";for(let s=Math.min(o.length,t.length);s>0;s--){let d=o.slice(0,s).join("/"),a=t.slice(0,s).join("/");if(d===a){r=a;break}}return r}function re(n,e){if(n===e)return"";let o=n.split("/").filter(r=>r!==""),t=e.split("/").filter(r=>r!=="");return t.length===0?"":t[o.length]}function w(n){return n.split(` +`).map(e=>e.trim()).filter(e=>e!=="")}function Y(n){return(w(n).length-1)*H}var ne=36,Te=16,ye=26,Le=50,Me=24,ve=80,Ce=8,T=class{constructor(e,o,t,r,s=!1){this.modelGraph=e;this.dagre=o;this.showOnNodeItemTypes=t;this.nodeDataProviderRuns=r;this.testMode=s;this.dagreGraph=new this.dagre.graphlib.Graph}dagreGraph;layout(e){let o,t=[];e==null?t=this.modelGraph.rootNodes:(o=this.modelGraph.nodesById[e],t=(o.nsChildrenIds||[]).map(u=>this.modelGraph.nodesById[u])),this.configLayout(this.dagreGraph);let r=ae(o?.id||"",t,this.modelGraph,this.showOnNodeItemTypes,this.nodeDataProviderRuns,this.testMode);for(let u of Object.keys(r.nodes)){let E=r.nodes[u];E.config?.pinToGroupTop||this.dagreGraph.setNode(u,E)}for(let u of Object.keys(r.outgoingEdges))for(let E of r.outgoingEdges[u])this.dagreGraph.setEdge(u,E);this.dagre.layout(this.dagreGraph);let s=Number.MAX_VALUE,d=Number.MAX_VALUE,a=Number.NEGATIVE_INFINITY,l=Number.NEGATIVE_INFINITY;for(let u of t){let E=r.nodes[u.id];if(!E){console.warn(`Node "${u.id}" is not in the dagre layout result`);continue}u.x=(E.x||0)-E.width/2,u.y=(E.y||0)-E.height/2,u.width=E.width,u.height=E.height,u.localOffsetX=0,u.localOffsetY=0,E.config?.pinToGroupTop||(s=Math.min(s,u.x),d=Math.min(d,u.y),a=Math.max(a,u.x+u.width),l=Math.max(l,u.y+u.height))}let i=Number.MAX_VALUE,c=Number.MAX_VALUE,h=Number.NEGATIVE_INFINITY,p=Number.NEGATIVE_INFINITY,g=this.dagreGraph.edges(),m=[];for(let u of g){let E=this.dagreGraph.edge(u).points,_=globalThis.d3,v=globalThis.THREE,V=typeof v>"u"?[]:fe(E,_.line,_.curveMonotoneY,v),f=this.modelGraph.nodesById[u.v],b=this.modelGraph.nodesById[u.w];if(f==null){console.warn(`Edge from node not found: "${u.v}"`);continue}if(b==null){console.warn(`Edge to node not found: "${u.w}"`);continue}let C=`${f.id}|${b.id}`;m.push({id:C,fromNodeId:f.id,toNodeId:b.id,points:E,curvePoints:V});for(let O of E)i=Math.min(i,O.x),c=Math.min(c,O.y),h=Math.max(h,O.x),p=Math.max(p,O.y)}if(this.modelGraph.edgesByGroupNodeIds[e||""]=m,i0){let E=u*q+16;for(let _ of t)_.localOffsetY=E;l+=E}}return{x:s,y:d,width:I-P*2,height:l-d}}configLayout(e){e.setGraph({nodesep:20,ranksep:50,edgesep:20,marginx:P,marginy:ne}),e.setDefaultEdgeLabel(()=>({}))}};function $(n,e,o,t,r=!1){if(r)return Le;let s=n.label,d=w(s),a=0;for(let h of d)a=Math.max(x(h,11,N(n))+Me,a);N(n)&&(a+=28);let l=0,i=0;if(y(n)){let h=Z(o);for(let m of h){let I=x(`${m}:`,D,!0),u=ee(n,m),E=x(u,D,!1);l=Math.max(l,I),i=Math.max(i,E)}if(o["Op node attributes"]?.selected){let m=te(n,o["Op node attributes"]?.filterRegex||""),I=B(m);l=Math.max(l,I.maxAttrLabelWidth),i=Math.max(i,I.maxAttrValueWidth)}if(o["Op node inputs"]?.selected){let m=me(n,e),I=B(m);l=Math.max(l,I.maxAttrLabelWidth),i=Math.max(i,I.maxAttrValueWidth)}if(o["Op node outputs"]?.selected){let m=Ee(n),I=B(m);l=Math.max(l,I.maxAttrLabelWidth),i=Math.max(i,I.maxAttrValueWidth)}let p=Ie(n,e.id,o,t),g=B(p);l=Math.max(l,g.maxAttrLabelWidth),i=Math.max(i,g.maxAttrValueWidth)}else if(N(n)){let h=J(o);for(let p of h){let g=x(`${p}:`,D,!0),m=ee(n,p),I=x(m,D,!1);l=Math.max(l,g),i=Math.max(i,I)}if(o["Layer node attributes"]?.selected){let p=oe(n,e,o["Layer node attributes"]?.filterRegex||""),g=B(p);l=Math.max(l,g.maxAttrLabelWidth),i=Math.max(i,g.maxAttrValueWidth)}}i=Math.min(i,ce);let c=l+i+ie*2+Q;return c!==Q&&(c+=Ce*2),Math.max(ve,Math.max(a,c))}function se(n,e,o,t,r=!1,s=!1){if(r)return ye;if(n.height!=null&&!s)return n.height;let d=Y(n.label),a=0;return y(n)?a=we(o,n,t):N(n)&&(a=Re(n,e,o)),ye+d+a*q+(a>0?le-4:0)}function ae(n,e,o,t,r,s=!1,d=!1){let a={nodes:{},incomingEdges:{},outgoingEdges:{}};for(let i of e){if(y(i)&&i.hideInLayout)continue;let c={id:i.id,width:i.width||(d?10:$(i,o,t,r,s)),height:d?10:se(i,o,t,r,s),config:y(i)?i.config:void 0};a.nodes[i.id]=c}let l=o.layoutGraphEdges[n]||{};for(let[i,c]of Object.entries(l))for(let h of Object.keys(c)){let p=o.nodesById[i],g=o.nodesById[h];p&&y(p)&&p.config?.pinToGroupTop||g&&y(g)&&g.config?.pinToGroupTop||Be(a,i,h)}return a}function we(n,e,o){let t=Z(n),r=n["Op node attributes"]?.selected?te(e,n["Op node attributes"]?.filterRegex||"").length:0,s=n["Op node inputs"]?.selected?Object.keys(e.incomingEdges||[]).length:0;s>R&&(s=R+1);let d=n["Op node outputs"]?.selected?Object.keys(e.outputsMetadata||{}).length:0;d>R&&(d=R+1);let a=Object.keys(n).filter(l=>n[l].selected).filter(l=>l.startsWith(M)&&Object.values(o).some(i=>i.runName===l.replace(M,""))).length;return t.length+r+s+d+a}function Re(n,e,o){let t=J(o),r=o["Layer node attributes"]?.selected?oe(n,e,o["Layer node attributes"]?.filterRegex||"").length:0;return t.length+r}function Be(n,e,o){n.outgoingEdges[e]==null&&(n.outgoingEdges[e]=[]),n.outgoingEdges[e].push(o),n.incomingEdges[o]==null&&(n.incomingEdges[o]=[]),n.incomingEdges[o].push(e)}function B(n){let e=0,o=0;for(let{key:t,value:r}of n){let s=x(t,D,!0);e=Math.max(e,s);let d=x(r,D,!1);o=Math.max(o,d)}return{maxAttrLabelWidth:e,maxAttrValueWidth:o}}var S=class{constructor(e,o,t,r,s=!1){this.modelGraph=e;this.dagre=o;this.showOnNodeItemTypes=t;this.nodeDataProviderRuns=r;this.testMode=s}dagreGraphs=[];expandGroupNode(e){let o=this.modelGraph.nodesById[e];if(o&&N(o)){if(o.expanded)return;o.expanded=!0}let t=e;for(;t!=null;){let s=this.modelGraph.nodesById[t];if(!s)break;s.expanded=!0;let d=new T(this.modelGraph,this.dagre,this.showOnNodeItemTypes,this.nodeDataProviderRuns),a=d.layout(t);this.testMode&&this.dagreGraphs.push(d.dagreGraph);let l=a.width+P*2,i=this.getTargetGroupNodeHeight(a,s);s.width=l,s.height=i,t=s.nsParentId}let r=new T(this.modelGraph,this.dagre,this.showOnNodeItemTypes,this.nodeDataProviderRuns);r.layout(),this.testMode&&this.dagreGraphs.push(r.dagreGraph);for(let s of this.modelGraph.rootNodes)N(s)&&this.updateNodeOffset(s)}expandFromDeepestGroupNodes(e){let o=new Set,t=[...e];for(;t.length>0;){let d=t.shift();if(o.has(d))continue;o.add(d);let l=this.modelGraph.nodesById[d]?.nsParentId;l&&t.push(l)}let r=Array.from(o).sort((d,a)=>{let l=this.modelGraph.nodesById[d];return this.modelGraph.nodesById[a].level-l.level});for(let d of r){let a=this.modelGraph.nodesById[d];a.expanded=!0;let l=new T(this.modelGraph,this.dagre,this.showOnNodeItemTypes,this.nodeDataProviderRuns),i=l.layout(d);this.testMode&&this.dagreGraphs.push(l.dagreGraph);let c=i.width+P*2,h=this.getTargetGroupNodeHeight(i,a);a.width=c,a.height=h}let s=new T(this.modelGraph,this.dagre,this.showOnNodeItemTypes,this.nodeDataProviderRuns);s.layout(),this.testMode&&this.dagreGraphs.push(s.dagreGraph);for(let d of this.modelGraph.rootNodes)N(d)&&this.updateNodeOffset(d)}expandToRevealNode(e){let o=this.modelGraph.nodesById[e],t=[],r=o;for(;;){let d=this.modelGraph.nodesById[r.nsParentId||""];if(!d)break;t.unshift(d),r=d}for(let d of t)this.expandGroupNode(d.id);let s=[];return A(void 0,this.modelGraph,s),s}collapseGroupNode(e){let o=this.modelGraph.nodesById[e];if(!o)return[];o.expanded=!1,delete this.modelGraph.edgesByGroupNodeIds[e],o.width=$(o,this.modelGraph,this.showOnNodeItemTypes,this.nodeDataProviderRuns),o.height=se(o,this.modelGraph,this.showOnNodeItemTypes,this.nodeDataProviderRuns,this.testMode,!0);let t=o.nsParentId;for(;t!=null;){let d=this.modelGraph.nodesById[t];if(!d)break;let a=new T(this.modelGraph,this.dagre,this.showOnNodeItemTypes,this.nodeDataProviderRuns),l=a.layout(t);this.testMode&&this.dagreGraphs.push(a.dagreGraph);let i=l.width+P*2,c=this.getTargetGroupNodeHeight(l,d);d.width=i,d.height=c,t=d.nsParentId}let r=new T(this.modelGraph,this.dagre,this.showOnNodeItemTypes,this.nodeDataProviderRuns);r.layout(),this.testMode&&this.dagreGraphs.push(r.dagreGraph);for(let d of this.modelGraph.rootNodes)N(d)&&this.updateNodeOffset(d);let s=[];return A(void 0,this.modelGraph,s),s}reLayoutGraph(e,o){let t=e;if(t)o&&this.clearLayoutData(void 0,!0);else{let r=[];this.clearLayoutData(void 0),A(void 0,this.modelGraph,r),t=r}return t.length>0?this.expandFromDeepestGroupNodes(t):new T(this.modelGraph,this.dagre,this.showOnNodeItemTypes,this.nodeDataProviderRuns).layout(),t}expandAllGroups(){this.clearLayoutData(void 0,!0);let e=this.modelGraph.nodes.filter(o=>N(o)&&(o.nsChildrenIds||[]).filter(t=>N(this.modelGraph.nodesById[t])).length===0).map(o=>o.id);return e.length>0&&this.expandFromDeepestGroupNodes(e),e}collapseAllGroup(){this.clearLayoutData(void 0,!0),new T(this.modelGraph,this.dagre,this.showOnNodeItemTypes,this.nodeDataProviderRuns).layout();for(let o of this.modelGraph.rootNodes)N(o)&&this.updateNodeOffset(o);return[]}updateNodeOffset(e){for(let o of e.nsChildrenIds||[]){let t=this.modelGraph.nodesById[o];if(t.x!=null&&t.y!=null){t.globalX=(e.x||0)+(e.globalX||0)+(t.localOffsetX||0),t.globalY=(e.y||0)+(e.globalY||0)+(t.localOffsetY||0);let r=(w(e.label).length-1)*H;r>0&&(t.globalY+=r),e.pinToTopOpNode&&t.id!==e.pinToTopOpNode.id&&(t.globalY+=this.getPinToTopNodeVerticalSpace(e.pinToTopOpNode)),e.pinToTopOpNode?.id===t.id&&(t.globalX=(e.x||0)+(e.globalX||0)+(e.width||0)/2,t.globalY=(e.y||0)+(e.globalY||0)+(t.localOffsetY||0)+this.getPinToTopNodeVerticalSpace(t)-(t.height||0)/2+10)}N(t)&&this.updateNodeOffset(t)}}clearLayoutData(e,o){let t=[];e==null?t=this.modelGraph.rootNodes.map(r=>r.id):t=e.nsChildrenIds||[],o&&e!=null&&(e.expanded=!1,delete this.modelGraph.edgesByGroupNodeIds[e.id]);for(let r of t){let s=this.modelGraph.nodesById[r];s&&(s.width=void 0,s.height=void 0,N(s)&&s.expanded&&this.clearLayoutData(s,o))}}getPinToTopNodeVerticalSpace(e){return(e.height||0)+20}getTargetGroupNodeHeight(e,o){let t=Y(o.label),r=e.height+ne+Te+t;return o.pinToTopOpNode&&(r+=this.getPinToTopNodeVerticalSpace(o.pinToTopOpNode)),r}};function G(n,e,o){let t={eventType:8,paneId:n,label:e,error:o};postMessage(t)}var ke=/dense<([^>]*)>/,F=class{constructor(e,o,t,r={},s={},d=pe,a=!1,l=!1,i=!1){this.paneId=e;this.graph=o;this.config=t;this.showOnNodeItemTypes=r;this.nodeDataProviderRuns=s;this.groupNodeChildrenCountThreshold=d;this.testMode=a;this.flattenLayers=l;this.keepLayersWithASingleChild=i;this.nodeLabelsToHide=new Set((this.config?.nodeLabelsToHide||[]).map(c=>c.toLowerCase()))}nodeLabelsToHide;process(){let e=this.createEmptyModelGraph();return this.processNodes(e),this.processEdgeRelationships(e),G(this.paneId,"Processing nodes and edges"),this.processNamespaceRelationships(e),G(this.paneId,"Processing layer namespaces"),this.generateLayoutGraphConnections(e),G(this.paneId,"Processing layout data"),this.splitLargeGroupNodes(e),G(this.paneId,"Splitting large layers (if any)"),this.populateDescendantsAndCounts(e),e}processNodes(e){let o=new Set;for(let t of this.graph.nodes){let s=t.namespace.split(";").filter(a=>a!=="");s.length>1&&(t.namespace=s[s.length-1]);let d={nodeType:0,id:t.id,namespace:this.flattenLayers?"":t.namespace,savedNamespace:t.namespace,fullNamespace:t.namespace,label:t.label,level:this.getNonEmptyNamespaceComponents(t.namespace).length};if(t.subgraphIds&&t.subgraphIds.length>0&&(d.subgraphIds=t.subgraphIds),this.nodeLabelsToHide.has(t.label.toLowerCase())&&(d.hideInLayout=!0),t.attrs){let a={};for(let l of t.attrs)a[l.key]=this.processAttrValue(l.key,l.value);d.attrs=a}if(t.inputsMetadata&&(d.inputsMetadata=this.processMetadataList(t.inputsMetadata)),t.outputsMetadata&&(d.outputsMetadata=this.processMetadataList(t.outputsMetadata)),t.style&&(d.style=t.style),t.config&&(d.config=t.config),e.nodes.push(d),e.nodesById[d.id]=d,!d.hideInLayout&&!this.flattenLayers){let a=this.getAncestorNamespaces(d.namespace);for(let l of a){if(o.has(l))continue;o.add(l);let i=l.split("/"),c=i.splice(-1)[0],h=i.join("/"),p={nodeType:1,id:this.getGroupNodeIdFromNamespace(l),namespace:h,label:c,level:i.length,expanded:!1};e.nodes.push(p),e.nodesById[p.id]=p}}}}processEdgeRelationships(e){for(let o of this.graph.nodes){let t=e.nodesById[o.id];if(t)for(let r of o.incomingEdges||[]){let s=r.sourceNodeId,d=e.nodesById[s];d&&(t.incomingEdges==null&&(t.incomingEdges=[]),t.incomingEdges.find(a=>a.sourceNodeId===s&&a.sourceNodeOutputId===r.sourceNodeOutputId&&a.targetNodeInputId===r.targetNodeInputId)==null&&t.incomingEdges.push({...r}),d.outgoingEdges==null&&(d.outgoingEdges=[]),d.outgoingEdges.find(a=>a.targetNodeId===t.id&&a.sourceNodeOutputId===r.sourceNodeOutputId&&a.targetNodeInputId===r.targetNodeInputId)==null&&d.outgoingEdges.push({targetNodeId:t.id,sourceNodeOutputId:r.sourceNodeOutputId,targetNodeInputId:r.targetNodeInputId}))}}}processNamespaceRelationships(e){for(let o of e.nodes){if(y(o)&&o.hideInLayout)continue;let t=o.namespace;if(t===""){e.rootNodes.push(o);continue}let r=this.getGroupNodeIdFromNamespace(t),s=e.nodesById[r];s?o.nsParentId=s.id:console.warn(`Failed to find the NS parent of node "${o.id}": "${r}"`),s&&(s.nsChildrenIds==null&&(s.nsChildrenIds=[]),s.nsChildrenIds.includes(o.id)||(s.nsChildrenIds.push(o.id),y(o)&&o.config?.pinToGroupTop&&(s.pinToTopOpNode=o)))}if(!this.keepLayersWithASingleChild)for(;;){let o=0;for(let t of e.nodes)if(N(t)&&t.nsChildrenIds!=null&&t.nsChildrenIds.length===1){let r=e.nodesById[t.nsChildrenIds[0]];if(y(r)){o++;let s=e.nodes.indexOf(t);s>=0&&e.nodes.splice(s,1),delete e.nodesById[t.id];let d=r.namespace,a=this.getNonEmptyNamespaceComponents(d);a.pop(),r.namespace=a.join("/"),r.savedNamespace=r.namespace,r.level=a.length,r.nsParentId=t.nsParentId;let l=e.rootNodes.indexOf(t);if(l>=0&&(e.rootNodes.splice(l,1),e.rootNodes.push(r)),t.nsParentId){let i=e.nodesById[t.nsParentId],c=i.nsChildrenIds.indexOf(t.id);i.nsChildrenIds.splice(c,1),i.nsChildrenIds.push(r.id)}}}if(o===0)break}}generateLayoutGraphConnections(e){e.layoutGraphEdges={};let o=[];for(let s of e.nodes){if(!y(s)||s.hideInLayout)continue;(s.incomingEdges||[]).filter(a=>!e.nodesById[a.sourceNodeId].hideInLayout).length===0&&o.push(s)}let t=[...o],r=new Set;for(;t.length>0;){let s=t.shift();if(s==null||s.hideInLayout||r.has(s.id))continue;r.add(s.id);let d=s.outgoingEdges||[];for(let a of d){let l=e.nodesById[a.targetNodeId];if(l.hideInLayout)continue;let i=_e(s.namespace,l.namespace),c=re(i,s.namespace),h=c===""?s.id:`${i}${i===""?"":"/"}${c}___group___`,p=re(i,l.namespace),g=p===""?l.id:`${i}${i===""?"":"/"}${p}___group___`,m=i===""?"":`${i}___group___`;e.layoutGraphEdges[m]==null&&(e.layoutGraphEdges[m]={}),e.layoutGraphEdges[m][h]==null&&(e.layoutGraphEdges[m][h]={}),e.layoutGraphEdges[m][h][g]=!0}for(let a of d){let l=e.nodesById[a.targetNodeId];t.push(l)}}}splitLargeGroupNodes(e){let o=[void 0],t=!1;for(;o.length>0;){let r=o.shift(),s=r==null?e.rootNodes:(r.nsChildrenIds||[]).map(d=>e.nodesById[d]);if(s.length>this.groupNodeChildrenCountThreshold){t=!0;let d=ae(r?.id||"",s,e,this.showOnNodeItemTypes,this.nodeDataProviderRuns,this.testMode,!0),a=[];for(let g of Object.keys(d.nodes))d.incomingEdges[g]==null&&a.push(e.nodesById[g]);let l=[],i=[],c=new Set,h=g=>{if(c.has(g))return;c.add(g);let m=e.nodesById[g];i.push(m),i.length===this.groupNodeChildrenCountThreshold&&(l.push(i),i=[]);for(let I of d.outgoingEdges[m.id]||[])h(I)};for(let g of a)h(g.id);i.length0&&l.push(i);let p=[];for(let g=0;gf!=="").length,nsParentId:r?.id,nsChildrenIds:m.map(f=>f.id),expanded:!1,sectionContainer:!0};p.push(_),e.nodes.push(_),e.nodesById[_.id]=_,e.artificialGroupNodeIds==null&&(e.artificialGroupNodeIds=[]),e.artificialGroupNodeIds.push(_.id);for(let f of m)f.nsParentId=_.id;let v=E.replace("___group___",""),V=f=>{if(f.namespace===""?f.namespace=v:r==null?f.namespace=`${v}/${f.namespace}`:f.namespace=(f.nsParentId||"").replace("___group___",""),f.level=f.namespace.split("/").filter(C=>C!=="").length,N(f)){let C=f.id;if(delete e.nodesById[f.id],f.id=`${f.namespace}/${f.label}___group___`,e.nodesById[f.id]=f,f.nsParentId){let O=e.nodesById[f.nsParentId],L=(O.nsChildrenIds||[]).indexOf(C);L>=0&&((O.nsChildrenIds||[])[L]=f.id)}for(let O of f.nsChildrenIds||[]){let L=e.nodesById[O];L!=null&&(L.nsParentId=f.id,V(L))}}};for(let f of m)V(f);if(r==null){for(let f of m){let b=e.rootNodes.indexOf(f);b>=0&&e.rootNodes.splice(b,1)}_.namespace===""&&e.rootNodes.push(_)}s=p}r!=null&&(r.nsChildrenIds=p.map(g=>g.id))}for(let d of s)N(d)&&o.push(d)}t&&this.generateLayoutGraphConnections(e)}populateDescendantsAndCounts(e){let o=Number.MAX_VALUE,t=Number.NEGATIVE_INFINITY;for(let r of e.nodes)if(N(r)){let s=[];this.gatherDescendants(e,r,s),r.descendantsNodeIds=s.map(a=>a.id),r.descendantsOpNodeIds=s.filter(a=>a.nodeType===0).map(a=>a.id);let d=(r.descendantsOpNodeIds||[]).length;o=Math.min(d,o),t=Math.max(d,t)}e.minDescendantOpNodeCount=o,e.maxDescendantOpNodeCount=t}createEmptyModelGraph(){let e={id:this.graph.id,collectionLabel:this.graph.collectionLabel||"",nodes:[],nodesById:{},rootNodes:[],edgesByGroupNodeIds:{},layoutGraphEdges:{},minDescendantOpNodeCount:-1,maxDescendantOpNodeCount:-1};return this.graph.groupNodeAttributes&&(e.groupNodeAttributes=this.graph.groupNodeAttributes),e}getAncestorNamespaces(e){let o=this.getNonEmptyNamespaceComponents(e),t=[];for(;o.length>0;)t.push(o.join("/")),o.pop();return t}getNonEmptyNamespaceComponents(e){return e.split("/").filter(o=>o!=="")}getGroupNodeIdFromNamespace(e){return`${e}___group___`}gatherDescendants(e,o,t){for(let r of o.nsChildrenIds||[]){let s=e.nodesById[r];(N(s)||y(s)&&!s.hideInLayout)&&t.push(s),N(s)&&this.gatherDescendants(e,s,t)}}processAttrValue(e,o){if(o.startsWith("dense<")){let t=o.match(ke);if(t!=null&&t.length>1){let r=t[1];return Oe(r)}}else if(e===k)return Oe(o);return o.replaceAll('"',"")||""}processMetadataList(e){let o={};for(let t of e){let r={};for(let s of t.attrs){let d=s.key,a=s.value;d==="tensor_shape"&&(d="shape",a=a.replace("tensor<","").replace(">","").replace("*","\u2217").split("x").join(" x ")),r[d]=a}o[t.id]=r}return o}};function Oe(n){try{return JSON.stringify(JSON.parse(n),null,2).replaceAll("\\n",` +`).trim()}catch{return n}}var W=10000019,X=class{constructor(e){this.modelGraph=e}markIdenticalGroups(){let e={};for(let t of this.modelGraph.nodes){if(!N(t))continue;let r=0,s=(t.descendantsOpNodeIds||[]).map(a=>this.modelGraph.nodesById[a]).filter(a=>!a.hideInLayout),d=new Set(s.map(a=>a.id));for(let a of s)r=(r+this.getNodeHash(a,d))%W;for(let a of s)for(let l of a.outgoingEdges||[]){let i=l.targetNodeId;if(!d.has(i))continue;let c=this.modelGraph.nodesById[i];r=(r+this.getEdgeHash(a,c))%W}e[r]||(e[r]=[]),e[r].push(t)}let o=0;for(let t of Object.values(e))if(!(t.length<=1)&&!(t.length===2&&(t[0].nsParentId===t[1].id||t[1].nsParentId===t[0].id))){for(let r of t)r.identicalGroupIndex=o;o++}}getNodeHash(e,o){let t=0;t=this.addToHash(t,e.label);let r=0;for(let d of e.incomingEdges||[]){let a=d.sourceNodeId;if(o.has(a)){let l=this.modelGraph.nodesById[a];t=this.addToHash(t,`in ${l.label}`),r++}}let s=0;for(let d of e.outgoingEdges||[]){let a=d.targetNodeInputId;if(o.has(a)){let l=this.modelGraph.nodesById[a];t=this.addToHash(t,`out ${l.label}`),s++}}return t=this.addToHash(t,`${r}`),t=this.addToHash(t,`${s}`),t}getEdgeHash(e,o){return this.genHash(e.label+o.label)%W}genHash(e){let o=5381;e=e||"";for(let t=0,r=e.length;t{let e=n.data;switch(e.eventType){case 0:{let o=He(e.paneId,e.graph,e.showOnNodeItemTypes,e.nodeDataProviderRuns,e.config,e.groupNodeChildrenCountThreshold,e.flattenLayers,e.keepLayersWithASingleChild,e.initialLayout);U(o,e.paneId);let t={eventType:1,modelGraph:o,paneId:e.paneId};postMessage(t);break}case 9:{let o=K(e.modelGraphId,e.paneId),t=JSON.parse(JSON.stringify(o));U(t,e.rendererId);let r={eventType:10,modelGraph:o,paneId:e.paneId,rendererId:e.rendererId,groupNodeId:e.groupNodeId,initialPosition:e.initialPosition};postMessage(r);break}case 2:{let o=K(e.modelGraphId,e.rendererId),t=[];e.expand?t=Ye(o,e.groupNodeId,e.showOnNodeItemTypes,e.nodeDataProviderRuns,e.all===!0):t=$e(o,e.groupNodeId,e.showOnNodeItemTypes,e.nodeDataProviderRuns,e.all===!0),U(o,e.rendererId);let r={eventType:3,modelGraph:o,expanded:e.expand,groupNodeId:e.groupNodeId,rendererId:e.rendererId,deepestExpandedGroupNodeIds:t};postMessage(r);break}case 4:{let o=K(e.modelGraphId,e.rendererId);Fe(o,e.showOnNodeItemTypes,e.nodeDataProviderRuns,e.targetDeepestGroupNodeIdsToExpand,e.clearAllExpandStates),U(o,e.rendererId);let t={eventType:5,modelGraph:o,selectedNodeId:e.selectedNodeId,rendererId:e.rendererId,forRestoringUiState:e.forRestoringUiState,rectToZoomFit:e.rectToZoomFit,forRestoringSnapshotAfterTogglingFlattenLayers:e.forRestoringSnapshotAfterTogglingFlattenLayers,targetDeepestGroupNodeIdsToExpand:e.targetDeepestGroupNodeIdsToExpand,triggerNavigationSync:e.triggerNavigationSync};postMessage(t);break}case 6:{let o=K(e.modelGraphId,e.rendererId),t=We(o,e.showOnNodeItemTypes,e.nodeDataProviderRuns,e.nodeId);U(o,e.rendererId);let r={eventType:7,modelGraph:o,nodeId:e.nodeId,rendererId:e.rendererId,deepestExpandedGroupNodeIds:t,noNodeShake:e.noNodeShake,select:e.select};postMessage(r);break}case 11:{de={};break}default:break}});function He(n,e,o,t,r,s,d,a,l){let i,h=new F(n,e,r,o,{},s,!1,d,a).process();if(h.nodesById[""]!=null&&(i="Some nodes have empty strings as ids which will cause layout failures. See console for details.",console.warn("Nodes with empty ids",h.nodesById[""])),!i&&l){let g=new T(h,dagre,o,t);try{g.layout()}catch(m){i=`Failed to layout graph: ${m}`}}return G(n,"Laying out root layer",i),new X(h).markIdenticalGroups(),G(n,"Finding identical layers"),h}function Ye(n,e,o,t,r){let s=new S(n,dagre,o,t);if(e!=null){let d,a=n.nodesById[e];if(a&&N(a)){a.expanded=!0;let i=a;for(;;){let h=i.nsChildrenIds||[];if(h.length===1){let p=n.nodesById[h[0]];if(p&&N(p))p.expanded=!0,i=p;else break}else break}let c=[];A(i,n,c),d=c.length===0?[i.id]:c;for(let h of i.descendantsNodeIds||[]){let p=n.nodesById[h];p.width=void 0,p.height=void 0}}if(r){for(let i of a.descendantsNodeIds||[]){let c=n.nodesById[i];N(c)&&(c.expanded=!0)}d=void 0}s.reLayoutGraph(d);let l=[];return A(void 0,n,l),l}else return s.expandAllGroups()}function $e(n,e,o,t,r){let s=new S(n,dagre,o,t);if(e!=null){if(r){let d=n.nodesById[e];for(let a of d.descendantsNodeIds||[]){let l=n.nodesById[a];N(l)&&(l.expanded=!1,l.width=void 0,l.height=void 0,delete n.edgesByGroupNodeIds[l.id])}}return s.collapseGroupNode(e)}else return s.collapseAllGroup()}function Fe(n,e,o,t,r){new S(n,dagre,e,o).reLayoutGraph(t,r)}function We(n,e,o,t){return new S(n,dagre,e,o).expandToRevealNode(t)}function U(n,e){de[Pe(n.id,e)]=n}function K(n,e){let o=de[Pe(n,e)];if(o==null)throw new Error(`ModelGraph with id "${n}" not found for rendererId "${e}"`);return o}function Pe(n,e){return`${n}___${e}`}